diff --git a/README.rst b/README.rst index c26525a2a1251afe81de873d142e4906452de9d9..4f98f3eb16e0601659d3b45b3bdbe74ceb22854a 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,8 @@ -beem - Unofficial Python Library for Steem +beem - Unofficial Python Library for Hive =============================================== -beem is an unofficial python library for steem, which is created new from scratch from `python-bitshares`_ -The library name is derived from a beam machine, similar to the analogy between steem and steam. beem includes `python-graphenelib`_. +beem is an unofficial python library for hive, which is created new from scratch from `python-bitshares`_ +The library name is derived from a beam machine, similar to the analogy between hive and steam. beem includes `python-graphenelib`_. .. image:: https://img.shields.io/pypi/v/beem.svg :target: https://pypi.python.org/pypi/beem/ @@ -53,7 +53,7 @@ You may find help in the `beem-discord-channel`_. The discord channel can also A complete library documentation is available at `beem.readthedocs.io`_. -Advantages over the official steem-python library +Advantages over the official hive-python library ================================================= * High unit test coverage @@ -62,20 +62,20 @@ Advantages over the official steem-python library * Node error handling and automatic node switching * Usage of pycryptodomex instead of the outdated pycrypto * Complete documentation of beempy and all classes including all functions -* steemconnect integration +* hiveconnect integration * Works on read-only systems * Own BlockchainObject class with cache * Contains all broadcast operations * Estimation of virtual account operation index from date or block number * the command line tool beempy uses click and has more commands -* SteemNodeRPC can be used to execute even not implemented RPC-Calls +* HiveNodeRPC can be used to execute even not implemented RPC-Calls * More complete implemention Installation ============ The minimal working python version is 2.7.x. or 3.4.x -beem can be installed parallel to python-steem. +beem can be installed parallel to python-hive. For Debian and Ubuntu, please ensure that the following packages are installed: diff --git a/beem/__init__.py b/beem/__init__.py index 1b50c86329c8e412e96312b5b9be30db8577d6ab..1660f50c78a6e97f4ae6b6cdd741eb2d019fe157 100644 --- a/beem/__init__.py +++ b/beem/__init__.py @@ -1,8 +1,8 @@ """ beem.""" -from .steem import Steem +from .hive import Hive from .version import version as __version__ __all__ = [ - "steem", + "hive", "aes", "account", "amount", diff --git a/beem/account.py b/beem/account.py index cac43c0bba018f0bfc1d6f912bc48fb55bc73c9d..3c107fbdac8c62984cd124c3274d1628c59cd425 100644 --- a/beem/account.py +++ b/beem/account.py @@ -11,7 +11,7 @@ import math import random import logging from prettytable import PrettyTable -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from .exceptions import AccountDoesNotExistsException, OfflineHasNoRPCException from beemapi.exceptions import ApiNotSupported, MissingRequiredActiveAuthority from .blockchainobject import BlockchainObject @@ -22,7 +22,7 @@ from beembase import operations from beem.rc import RC from beemgraphenebase.account import PrivateKey, PublicKey, PasswordKey from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type -from beem.constants import STEEM_VOTE_REGENERATION_SECONDS, STEEM_1_PERCENT, STEEM_100_PERCENT, STEEM_VOTING_MANA_REGENERATION_SECONDS +from beem.constants import HIVE_VOTE_REGENERATION_SECONDS, HIVE_1_PERCENT, HIVE_100_PERCENT, HIVE_VOTING_MANA_REGENERATION_SECONDS log = logging.getLogger(__name__) @@ -30,7 +30,7 @@ class Account(BlockchainObject): """ This class allows to easily access Account data :param str account_name: Name of the account - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :param bool lazy: Use lazy loading :param bool full: Obtain all account data including orders, positions, @@ -47,9 +47,9 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("gtg", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("gtg", hive_instance=stm) >>> print(account) <Account gtg> >>> print(account.balances) # doctest: +SKIP @@ -68,12 +68,12 @@ class Account(BlockchainObject): account, full=True, lazy=False, - steem_instance=None + hive_instance=None ): """Initialize an account :param str account: Name of the account - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :param bool lazy: Use lazy loading :param bool full: Obtain all account data including orders, positions, @@ -81,7 +81,7 @@ class Account(BlockchainObject): """ self.full = full self.lazy = lazy - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if isinstance(account, dict): account = self._parse_json_data(account) super(Account, self).__init__( @@ -89,25 +89,25 @@ class Account(BlockchainObject): lazy=lazy, full=full, id_item="name", - steem_instance=steem_instance + hive_instance=hive_instance ) def refresh(self): """ Refresh/Obtain an account's data from the API server """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - account = self.steem.rpc.find_accounts({'accounts': [self.identifier]}, api="database") + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + account = self.hive.rpc.find_accounts({'accounts': [self.identifier]}, api="database") else: if self.full: - account = self.steem.rpc.get_accounts( + account = self.hive.rpc.get_accounts( [self.identifier], api="database") else: - account = self.steem.rpc.lookup_account_names( + account = self.hive.rpc.lookup_account_names( [self.identifier], api="database") - if self.steem.rpc.get_use_appbase() and "accounts" in account: + if self.hive.rpc.get_use_appbase() and "accounts" in account: account = account["accounts"] if account and isinstance(account, list) and len(account) == 1: account = account[0] @@ -115,13 +115,13 @@ class Account(BlockchainObject): raise AccountDoesNotExistsException(self.identifier) account = self._parse_json_data(account) self.identifier = account["name"] - # self.steem.refresh_data() + # self.hive.refresh_data() - super(Account, self).__init__(account, id_item="name", lazy=self.lazy, full=self.full, steem_instance=self.steem) + super(Account, self).__init__(account, id_item="name", lazy=self.lazy, full=self.full, hive_instance=self.hive) def _parse_json_data(self, account): parse_int = [ - "sbd_seconds", "savings_sbd_seconds", "average_bandwidth", "lifetime_bandwidth", "lifetime_market_bandwidth", "reputation", "withdrawn", "to_withdraw", + "hbd_seconds", "savings_hbd_seconds", "average_bandwidth", "lifetime_bandwidth", "lifetime_market_bandwidth", "reputation", "withdrawn", "to_withdraw", ] for p in parse_int: if p in account and isinstance(account.get(p), string_types): @@ -136,8 +136,8 @@ class Account(BlockchainObject): account["proxied_vsf_votes"] = proxied_vsf_votes parse_times = [ "last_owner_update", "last_account_update", "created", "last_owner_proved", "last_active_proved", - "last_account_recovery", "last_vote_time", "sbd_seconds_last_update", "sbd_last_interest_payment", - "savings_sbd_seconds_last_update", "savings_sbd_last_interest_payment", "next_vesting_withdrawal", + "last_account_recovery", "last_vote_time", "hbd_seconds_last_update", "hbd_last_interest_payment", + "savings_hbd_seconds_last_update", "savings_hbd_last_interest_payment", "next_vesting_withdrawal", "last_market_bandwidth_update", "last_post", "last_root_post", "last_bandwidth_update" ] for p in parse_times: @@ -147,12 +147,12 @@ class Account(BlockchainObject): amounts = [ "balance", "savings_balance", - "sbd_balance", - "savings_sbd_balance", - "reward_sbd_balance", - "reward_steem_balance", + "hbd_balance", + "savings_hbd_balance", + "reward_hbd_balance", + "reward_hive_balance", "reward_vesting_balance", - "reward_vesting_steem", + "reward_vesting_hive", "vesting_shares", "delegated_vesting_shares", "received_vesting_shares", @@ -161,13 +161,13 @@ class Account(BlockchainObject): ] for p in amounts: if p in account and isinstance(account.get(p), (string_types, list, dict)): - account[p] = Amount(account[p], steem_instance=self.steem) + account[p] = Amount(account[p], hive_instance=self.hive) return account def json(self): output = self.copy() parse_int = [ - "sbd_seconds", "savings_sbd_seconds", + "hbd_seconds", "savings_hbd_seconds", ] parse_int_without_zero = [ "withdrawn", "to_withdraw", "lifetime_bandwidth", 'average_bandwidth', @@ -188,8 +188,8 @@ class Account(BlockchainObject): output["proxied_vsf_votes"] = proxied_vsf_votes parse_times = [ "last_owner_update", "last_account_update", "created", "last_owner_proved", "last_active_proved", - "last_account_recovery", "last_vote_time", "sbd_seconds_last_update", "sbd_last_interest_payment", - "savings_sbd_seconds_last_update", "savings_sbd_last_interest_payment", "next_vesting_withdrawal", + "last_account_recovery", "last_vote_time", "hbd_seconds_last_update", "hbd_last_interest_payment", + "savings_hbd_seconds_last_update", "savings_hbd_last_interest_payment", "next_vesting_withdrawal", "last_market_bandwidth_update", "last_post", "last_root_post", "last_bandwidth_update" ] for p in parse_times: @@ -202,12 +202,12 @@ class Account(BlockchainObject): amounts = [ "balance", "savings_balance", - "sbd_balance", - "savings_sbd_balance", - "reward_sbd_balance", - "reward_steem_balance", + "hbd_balance", + "savings_hbd_balance", + "reward_hbd_balance", + "reward_hive_balance", "reward_vesting_balance", - "reward_vesting_steem", + "reward_vesting_hive", "vesting_shares", "delegated_vesting_shares", "received_vesting_shares", @@ -226,7 +226,7 @@ class Account(BlockchainObject): def get_rc(self): """Return RC of account""" - b = Blockchain(steem_instance=self.steem) + b = Blockchain(hive_instance=self.hive) return b.find_rc_accounts(self["name"]) def get_rc_manabar(self): @@ -237,14 +237,14 @@ class Account(BlockchainObject): last_update_time = rc_param["rc_manabar"]["last_update_time"] last_update = datetime.utcfromtimestamp(last_update_time) diff_in_seconds = (datetime.utcnow() - last_update).total_seconds() - current_mana = int(last_mana + diff_in_seconds * max_mana / STEEM_VOTING_MANA_REGENERATION_SECONDS) + current_mana = int(last_mana + diff_in_seconds * max_mana / HIVE_VOTING_MANA_REGENERATION_SECONDS) if current_mana > max_mana: current_mana = max_mana if max_mana > 0: current_pct = current_mana / max_mana * 100 else: current_pct = 0 - max_rc_creation_adjustment = Amount(rc_param["max_rc_creation_adjustment"], steem_instance=self.steem) + max_rc_creation_adjustment = Amount(rc_param["max_rc_creation_adjustment"], hive_instance=self.hive) return {"last_mana": last_mana, "last_update_time": last_update_time, "current_mana": current_mana, "max_mana": max_mana, "current_pct": current_pct, "max_rc_creation_adjustment": max_rc_creation_adjustment} @@ -261,7 +261,7 @@ class Account(BlockchainObject): using the current account name as reference. """ - b = Blockchain(steem_instance=self.steem) + b = Blockchain(hive_instance=self.hive) return b.get_similar_account_names(self.name, limit=limit) @property @@ -287,10 +287,10 @@ class Account(BlockchainObject): return self.get_reputation() @property - def sp(self): - """ Returns the accounts Steem Power + def hp(self): + """ Returns the accounts Hive Power """ - return self.get_steem_power() + return self.get_hive_power() @property def vp(self): @@ -309,7 +309,7 @@ class Account(BlockchainObject): """ if force_refresh: self.refresh() - self.steem.refresh_data(True) + self.hive.refresh_data(True) bandwidth = self.get_bandwidth() if bandwidth is not None and bandwidth["allocated"] is not None and bandwidth["allocated"] > 0: remaining = 100 - bandwidth["used"] / bandwidth["allocated"] * 100 @@ -319,7 +319,7 @@ class Account(BlockchainObject): try: rc_mana = self.get_rc_manabar() rc = self.get_rc() - rc_calc = RC(steem_instance=self.steem) + rc_calc = RC(hive_instance=self.hive) except: rc_mana = None rc_calc = None @@ -330,10 +330,10 @@ class Account(BlockchainObject): t.add_row(["Name (rep)", self.name + " (%.2f)" % (self.rep)]) t.add_row(["Voting Power", "%.2f %%, " % (self.get_voting_power())]) t.add_row(["Downvoting Power", "%.2f %%, " % (self.get_downvoting_power())]) - t.add_row(["Vote Value", "%.2f $" % (self.get_voting_value_SBD())]) + t.add_row(["Vote Value", "%.2f $" % (self.get_voting_value_HBD())]) t.add_row(["Last vote", "%s ago" % last_vote_time_str]) t.add_row(["Full in ", "%s" % (self.get_recharge_time_str())]) - t.add_row(["Steem Power", "%.2f %s" % (self.get_steem_power(), self.steem.steem_symbol)]) + t.add_row(["Hive Power", "%.2f %s" % (self.get_hive_power(), self.hive.hive_symbol)]) t.add_row(["Balance", "%s, %s" % (str(self.balances["available"][0]), str(self.balances["available"][1]))]) if False and bandwidth is not None and bandwidth["allocated"] is not None and bandwidth["allocated"] > 0: t.add_row(["Remaining Bandwidth", "%.2f %%" % (remaining)]) @@ -361,12 +361,12 @@ class Account(BlockchainObject): ret = self.name + " (%.2f) \n" % (self.rep) ret += "--- Voting Power ---\n" ret += "%.2f %%, " % (self.get_voting_power()) - ret += " %.2f $\n" % (self.get_voting_value_SBD()) + ret += " %.2f $\n" % (self.get_voting_value_HBD()) ret += "full in %s \n" % (self.get_recharge_time_str()) ret += "--- Downvoting Power ---\n" ret += "%.2f %% \n" % (self.get_downvoting_power()) ret += "--- Balance ---\n" - ret += "%.2f SP, " % (self.get_steem_power()) + ret += "%.2f HP, " % (self.get_hive_power()) ret += "%s, %s\n" % (str(self.balances["available"][0]), str(self.balances["available"][1])) if False and bandwidth["allocated"] > 0: ret += "--- Bandwidth ---\n" @@ -388,14 +388,14 @@ class Account(BlockchainObject): print(ret) def get_reputation(self): - """ Returns the account reputation in the (steemit) normalized form + """ Returns the account reputation in the (hiveit) normalized form """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): try: - rep = self.steem.rpc.get_account_reputations({'account_lower_bound': self["name"], 'limit': 1}, api="follow")['reputations'] + rep = self.hive.rpc.get_account_reputations({'account_lower_bound': self["name"], 'limit': 1}, api="follow")['reputations'] if len(rep) > 0: rep = int(rep[0]['reputation']) except: @@ -409,14 +409,14 @@ class Account(BlockchainObject): """ max_mana = self.get_effective_vesting_shares() if max_mana == 0: - props = self.steem.get_chain_properties() - required_fee_steem = Amount(props["account_creation_fee"], steem_instance=self.steem) - max_mana = int(self.steem.sp_to_vests(required_fee_steem)) + props = self.hive.get_chain_properties() + required_fee_hive = Amount(props["account_creation_fee"], hive_instance=self.hive) + max_mana = int(self.hive.hp_to_vests(required_fee_hive)) last_mana = int(self["voting_manabar"]["current_mana"]) last_update_time = self["voting_manabar"]["last_update_time"] last_update = datetime.utcfromtimestamp(last_update_time) diff_in_seconds = (addTzInfo(datetime.utcnow()) - addTzInfo(last_update)).total_seconds() - current_mana = int(last_mana + diff_in_seconds * max_mana / STEEM_VOTING_MANA_REGENERATION_SECONDS) + current_mana = int(last_mana + diff_in_seconds * max_mana / HIVE_VOTING_MANA_REGENERATION_SECONDS) if current_mana > max_mana: current_mana = max_mana if max_mana > 0: @@ -433,14 +433,14 @@ class Account(BlockchainObject): return None max_mana = self.get_effective_vesting_shares() / 4 if max_mana == 0: - props = self.steem.get_chain_properties() - required_fee_steem = Amount(props["account_creation_fee"], steem_instance=self.steem) - max_mana = int(self.steem.sp_to_vests(required_fee_steem) / 4) + props = self.hive.get_chain_properties() + required_fee_hive = Amount(props["account_creation_fee"], hive_instance=self.hive) + max_mana = int(self.hive.hp_to_vests(required_fee_hive) / 4) last_mana = int(self["downvote_manabar"]["current_mana"]) last_update_time = self["downvote_manabar"]["last_update_time"] last_update = datetime.utcfromtimestamp(last_update_time) diff_in_seconds = (addTzInfo(datetime.utcnow()) - addTzInfo(last_update)).total_seconds() - current_mana = int(last_mana + diff_in_seconds * max_mana / STEEM_VOTING_MANA_REGENERATION_SECONDS) + current_mana = int(last_mana + diff_in_seconds * max_mana / HIVE_VOTING_MANA_REGENERATION_SECONDS) if current_mana > max_mana: current_mana = max_mana if max_mana > 0: @@ -466,7 +466,7 @@ class Account(BlockchainObject): if with_regeneration: last_vote_time = self["last_vote_time"] diff_in_seconds = (addTzInfo(datetime.utcnow()) - (last_vote_time)).total_seconds() - regenerated_vp = diff_in_seconds * STEEM_100_PERCENT / STEEM_VOTE_REGENERATION_SECONDS / 100 + regenerated_vp = diff_in_seconds * HIVE_100_PERCENT / HIVE_VOTE_REGENERATION_SECONDS / 100 else: regenerated_vp = 0 total_vp = (self["voting_power"] / 100 + regenerated_vp) @@ -515,49 +515,49 @@ class Account(BlockchainObject): vesting_shares -= min(int(self["vesting_withdraw_rate"]), int(self["to_withdraw"]) - int(self["withdrawn"])) return vesting_shares - def get_steem_power(self, onlyOwnSP=False): - """ Returns the account steem power + def get_hive_power(self, onlyOwnSP=False): + """ Returns the account hive power """ - return self.steem.vests_to_sp(self.get_vests(only_own_vests=onlyOwnSP)) + return self.hive.vests_to_hp(self.get_vests(only_own_vests=onlyOwnSP)) - def get_voting_value_SBD(self, voting_weight=100, voting_power=None, steem_power=None, not_broadcasted_vote=True): - """ Returns the account voting value in SBD + def get_voting_value_HBD(self, voting_weight=100, voting_power=None, hive_power=None, not_broadcasted_vote=True): + """ Returns the account voting value in HBD """ if voting_power is None: voting_power = self.get_voting_power() - if steem_power is None: - sp = self.get_steem_power() + if hive_power is None: + hp = self.get_hive_power() else: - sp = steem_power + hp = hive_power - VoteValue = self.steem.sp_to_sbd(sp, voting_power=voting_power * 100, vote_pct=voting_weight * 100, not_broadcasted_vote=not_broadcasted_vote) + VoteValue = self.hive.hp_to_hbd(hp, voting_power=voting_power * 100, vote_pct=voting_weight * 100, not_broadcasted_vote=not_broadcasted_vote) return VoteValue - def get_vote_pct_for_SBD(self, sbd, voting_power=None, steem_power=None, not_broadcasted_vote=True): - """ Returns the voting percentage needed to have a vote worth a given number of SBD. + def get_vote_pct_for_HBD(self, hbd, voting_power=None, hive_power=None, not_broadcasted_vote=True): + """ Returns the voting percentage needed to have a vote worth a given number of HBD. If the returned number is bigger than 10000 or smaller than -10000, - the given SBD value is too high for that account + the given HBD value is too high for that account - :param sbd: The amount of SBD in vote value - :type sbd: str, int, amount.Amount + :param hbd: The amount of HBD in vote value + :type hbd: str, int, amount.Amount """ if voting_power is None: voting_power = self.get_voting_power() - if steem_power is None: - steem_power = self.get_steem_power() + if hive_power is None: + hive_power = self.get_hive_power() - if isinstance(sbd, Amount): - sbd = Amount(sbd, steem_instance=self.steem) - elif isinstance(sbd, string_types): - sbd = Amount(sbd, steem_instance=self.steem) + if isinstance(hbd, Amount): + hbd = Amount(hbd, hive_instance=self.hive) + elif isinstance(hbd, string_types): + hbd = Amount(hbd, hive_instance=self.hive) else: - sbd = Amount(sbd, self.steem.sbd_symbol, steem_instance=self.steem) - if sbd['symbol'] != self.steem.sbd_symbol: - raise AssertionError('Should input SBD, not any other asset!') + hbd = Amount(hbd, self.hive.hbd_symbol, hive_instance=self.hive) + if hbd['symbol'] != self.hive.hbd_symbol: + raise AssertionError('Should input HBD, not any other asset!') - vote_pct = self.steem.rshares_to_vote_pct(self.steem.sbd_to_rshares(sbd, not_broadcasted_vote=not_broadcasted_vote), voting_power=voting_power * 100, steem_power=steem_power) + vote_pct = self.hive.rshares_to_vote_pct(self.hive.hbd_to_rshares(hbd, not_broadcasted_vote=not_broadcasted_vote), voting_power=voting_power * 100, hive_power=hive_power) return vote_pct def get_creator(self): @@ -597,7 +597,7 @@ class Account(BlockchainObject): raise ValueError('starting_voting_power must be a number.') if missing_vp < 0: return 0 - recharge_seconds = missing_vp * 100 * STEEM_VOTING_MANA_REGENERATION_SECONDS / STEEM_100_PERCENT + recharge_seconds = missing_vp * 100 * HIVE_VOTING_MANA_REGENERATION_SECONDS / HIVE_100_PERCENT return timedelta(seconds=recharge_seconds) def get_recharge_time(self, voting_power_goal=100, starting_voting_power=None): @@ -633,7 +633,7 @@ class Account(BlockchainObject): missing_rc_pct = recharge_pct_goal - manabar["current_pct"] if missing_rc_pct < 0: return 0 - recharge_seconds = missing_rc_pct * 100 * STEEM_VOTING_MANA_REGENERATION_SECONDS / STEEM_100_PERCENT + recharge_seconds = missing_rc_pct * 100 * HIVE_VOTING_MANA_REGENERATION_SECONDS / HIVE_100_PERCENT return timedelta(seconds=recharge_seconds) def get_manabar_recharge_time(self, manabar, recharge_pct_goal=100): @@ -659,9 +659,9 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("steemit", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("hiveit", hive_instance=stm) >>> account.get_feed(0, 1, raw_data=True) [] @@ -670,40 +670,40 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) success = True - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): try: if raw_data and short_entries: return [ - c for c in self.steem.rpc.get_feed_entries({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow')["feed"] + c for c in self.hive.rpc.get_feed_entries({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow')["feed"] ] elif raw_data: return [ - c for c in self.steem.rpc.get_feed({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow')["feed"] + c for c in self.hive.rpc.get_feed({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow')["feed"] ] elif not raw_data: from .comment import Comment return [ - Comment(c['comment'], steem_instance=self.steem) for c in self.steem.rpc.get_feed({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow')["feed"] + Comment(c['comment'], hive_instance=self.hive) for c in self.hive.rpc.get_feed({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow')["feed"] ] except: success = False - if not self.steem.rpc.get_use_appbase() or not success: + if not self.hive.rpc.get_use_appbase() or not success: if raw_data and short_entries: return [ - c for c in self.steem.rpc.get_feed_entries(account, start_entry_id, limit, api='follow') + c for c in self.hive.rpc.get_feed_entries(account, start_entry_id, limit, api='follow') ] elif raw_data: return [ - c for c in self.steem.rpc.get_feed(account, start_entry_id, limit, api='follow') + c for c in self.hive.rpc.get_feed(account, start_entry_id, limit, api='follow') ] else: from .comment import Comment return [ - Comment(c['comment'], steem_instance=self.steem) for c in self.steem.rpc.get_feed(account, start_entry_id, limit, api='follow') + Comment(c['comment'], hive_instance=self.hive) for c in self.hive.rpc.get_feed(account, start_entry_id, limit, api='follow') ] def get_feed_entries(self, start_entry_id=0, limit=100, raw_data=True, @@ -721,9 +721,9 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("steemit", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("hiveit", hive_instance=stm) >>> account.get_feed_entries(0, 1) [] @@ -744,12 +744,12 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("steemit", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("hiveit", hive_instance=stm) >>> entry = account.get_blog_entries(0, 1, raw_data=True)[0] >>> print("%s - %s - %s - %s" % (entry["author"], entry["permlink"], entry["blog"], entry["reblog_on"])) - steemit - firstpost - steemit - 1970-01-01T00:00:00 + hiveit - firstpost - hiveit - 1970-01-01T00:00:00 """ return self.get_blog(start_entry_id=start_entry_id, limit=limit, raw_data=raw_data, short_entries=True, account=account) @@ -768,32 +768,32 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("steemit", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("hiveit", hive_instance=stm) >>> account.get_blog(0, 1) - [<Comment @steemit/firstpost>] + [<Comment @hiveit/firstpost>] """ if account is None: account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) success = True - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): try: if raw_data and short_entries: - ret = self.steem.rpc.get_blog_entries({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow') + ret = self.hive.rpc.get_blog_entries({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow') if isinstance(ret, dict) and "blog" in ret: ret = ret["blog"] return [ c for c in ret ] elif raw_data: - ret = self.steem.rpc.get_blog({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow') + ret = self.hive.rpc.get_blog({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow') if isinstance(ret, dict) and "blog" in ret: ret = ret["blog"] return [ @@ -801,30 +801,30 @@ class Account(BlockchainObject): ] elif not raw_data: from .comment import Comment - ret = self.steem.rpc.get_blog({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow') + ret = self.hive.rpc.get_blog({'account': account, 'start_entry_id': start_entry_id, 'limit': limit}, api='follow') if isinstance(ret, dict) and "blog" in ret: ret = ret["blog"] return [ - Comment(c["comment"], steem_instance=self.steem) for c in ret + Comment(c["comment"], hive_instance=self.hive) for c in ret ] except: success = False - if not self.steem.rpc.get_use_appbase() or not success: + if not self.hive.rpc.get_use_appbase() or not success: if raw_data and short_entries: return [ - c for c in self.steem.rpc.get_blog_entries(account, start_entry_id, limit, api='follow') + c for c in self.hive.rpc.get_blog_entries(account, start_entry_id, limit, api='follow') ] elif raw_data: return [ - c for c in self.steem.rpc.get_blog(account, start_entry_id, limit, api='follow') + c for c in self.hive.rpc.get_blog(account, start_entry_id, limit, api='follow') ] else: from .comment import Comment return [ - Comment(c["comment"], steem_instance=self.steem) for c in self.steem.rpc.get_blog(account, start_entry_id, limit, api='follow') + Comment(c["comment"], hive_instance=self.hive) for c in self.hive.rpc.get_blog(account, start_entry_id, limit, api='follow') ] def get_blog_authors(self, account=None): @@ -837,9 +837,9 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("steemit", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("hiveit", hive_instance=stm) >>> account.get_blog_authors() [] @@ -848,16 +848,16 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): try: - return self.steem.rpc.get_blog_authors({'blog_account': account}, api='follow')['blog_authors'] + return self.hive.rpc.get_blog_authors({'blog_account': account}, api='follow')['blog_authors'] except: - return self.steem.rpc.get_blog_authors(account, api='follow') + return self.hive.rpc.get_blog_authors(account, api='follow') else: - return self.steem.rpc.get_blog_authors(account, api='follow') + return self.hive.rpc.get_blog_authors(account, api='follow') def get_follow_count(self, account=None): """ get_follow_count """ @@ -865,13 +865,13 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.get_follow_count({'account': account}, api='follow') + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.get_follow_count({'account': account}, api='follow') else: - return self.steem.rpc.get_follow_count(account, api='follow') + return self.hive.rpc.get_follow_count(account, api='follow') def get_followers(self, raw_name_list=True, limit=100): """ Returns the account followers as list @@ -880,7 +880,7 @@ class Account(BlockchainObject): if raw_name_list: return name_list else: - return Accounts(name_list, steem_instance=self.steem) + return Accounts(name_list, hive_instance=self.hive) def get_following(self, raw_name_list=True, limit=100): """ Returns who the account is following as list @@ -889,7 +889,7 @@ class Account(BlockchainObject): if raw_name_list: return name_list else: - return Accounts(name_list, steem_instance=self.steem) + return Accounts(name_list, hive_instance=self.hive) def get_muters(self, raw_name_list=True, limit=100): """ Returns the account muters as list @@ -898,7 +898,7 @@ class Account(BlockchainObject): if raw_name_list: return name_list else: - return Accounts(name_list, steem_instance=self.steem) + return Accounts(name_list, hive_instance=self.hive) def get_mutings(self, raw_name_list=True, limit=100): """ Returns who the account is muting as list @@ -907,33 +907,33 @@ class Account(BlockchainObject): if raw_name_list: return name_list else: - return Accounts(name_list, steem_instance=self.steem) + return Accounts(name_list, hive_instance=self.hive) def _get_followers(self, direction="follower", last_user="", what="blog", limit=100): """ Help function, used in get_followers and get_following """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") followers_list = [] limit_reached = True cnt = 0 while limit_reached: - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): query = {'account': self.name, 'start': last_user, 'type': what, 'limit': limit} if direction == "follower": - followers = self.steem.rpc.get_followers(query, api='follow') + followers = self.hive.rpc.get_followers(query, api='follow') if isinstance(followers, dict) and 'followers' in followers: followers = followers['followers'] elif direction == "following": - followers = self.steem.rpc.get_following(query, api='follow') + followers = self.hive.rpc.get_following(query, api='follow') if isinstance(followers, dict) and 'following' in followers: followers = followers['following'] else: if direction == "follower": - followers = self.steem.rpc.get_followers(self.name, last_user, what, limit, api='follow') + followers = self.hive.rpc.get_followers(self.name, last_user, what, limit, api='follow') elif direction == "following": - followers = self.steem.rpc.get_following(self.name, last_user, what, limit, api='follow') + followers = self.hive.rpc.get_following(self.name, last_user, what, limit, api='follow') if cnt == 0: followers_list = followers elif followers is not None and len(followers) > 1: @@ -952,7 +952,7 @@ class Account(BlockchainObject): """ List balances of an account. This call returns instances of :class:`beem.amount.Amount`. """ - amount_list = ["balance", "sbd_balance", "vesting_shares"] + amount_list = ["balance", "hbd_balance", "vesting_shares"] available_amount = [] for amount in amount_list: if amount in self: @@ -962,7 +962,7 @@ class Account(BlockchainObject): @property def saving_balances(self): savings_amount = [] - amount_list = ["savings_balance", "savings_sbd_balance"] + amount_list = ["savings_balance", "savings_hbd_balance"] for amount in amount_list: if amount in self: savings_amount.append(self[amount].copy()) @@ -970,7 +970,7 @@ class Account(BlockchainObject): @property def reward_balances(self): - amount_list = ["reward_steem_balance", "reward_sbd_balance", "reward_vesting_balance"] + amount_list = ["reward_hive_balance", "reward_hbd_balance", "reward_vesting_balance"] rewards_amount = [] for amount in amount_list: if amount in self: @@ -1007,10 +1007,10 @@ class Account(BlockchainObject): .. code-block:: js { - 'available': [102.985 STEEM, 0.008 SBD, 146273.695970 VESTS], - 'savings': [0.000 STEEM, 0.000 SBD], - 'rewards': [0.000 STEEM, 0.000 SBD, 0.000000 VESTS], - 'total': [102.985 STEEM, 0.008 SBD, 146273.695970 VESTS] + 'available': [102.985 HIVE, 0.008 HBD, 146273.695970 VESTS], + 'savings': [0.000 HIVE, 0.000 HBD], + 'rewards': [0.000 HIVE, 0.000 HBD, 0.000000 VESTS], + 'total': [102.985 HIVE, 0.008 HBD, 146273.695970 VESTS] } """ @@ -1031,15 +1031,15 @@ class Account(BlockchainObject): * "total" :param str balances: Defines the balance type - :param symbol: Can be "SBD", "STEEM" or "VESTS + :param symbol: Can be "HBD", "HIVE" or "VESTS :type symbol: str, dict .. code-block:: python >>> from beem.account import Account >>> account = Account("beem.app") - >>> account.get_balance("rewards", "SBD") - 0.000 SBD + >>> account.get_balance("rewards", "HBD") + 0.000 HBD """ if isinstance(balances, string_types): @@ -1061,7 +1061,7 @@ class Account(BlockchainObject): if b["symbol"] == symbol: return b from .amount import Amount - return Amount(0, symbol, steem_instance=self.steem) + return Amount(0, symbol, hive_instance=self.hive) def interest(self): """ Calculate interest for an account @@ -1082,12 +1082,12 @@ class Account(BlockchainObject): } """ - last_payment = (self["sbd_last_interest_payment"]) + last_payment = (self["hbd_last_interest_payment"]) next_payment = last_payment + timedelta(days=30) - interest_rate = self.steem.get_dynamic_global_properties()[ - "sbd_interest_rate"] / 100 # percent + interest_rate = self.hive.get_dynamic_global_properties()[ + "hbd_interest_rate"] / 100 # percent interest_amount = (interest_rate / 100) * int( - int(self["sbd_seconds"]) / (60 * 60 * 24 * 356)) * 10**-3 + int(self["hbd_seconds"]) / (60 * 60 * 24 * 356)) * 10**-3 return { "interest": interest_amount, "last_payment": last_payment, @@ -1114,14 +1114,14 @@ class Account(BlockchainObject): """ get_account_bandwidth """ if account is None: account = self["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - # return self.steem.rpc.get_account_bandwidth({'account': account, 'type': 'post'}, api="witness") - return self.steem.rpc.get_account_bandwidth(account, bandwidth_type) + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + # return self.hive.rpc.get_account_bandwidth({'account': account, 'type': 'post'}, api="witness") + return self.hive.rpc.get_account_bandwidth(account, bandwidth_type) else: - return self.steem.rpc.get_account_bandwidth(account, bandwidth_type) + return self.hive.rpc.get_account_bandwidth(account, bandwidth_type) def get_bandwidth(self): """ Returns used and allocated bandwidth @@ -1139,9 +1139,9 @@ class Account(BlockchainObject): """ account = self["name"] - global_properties = self.steem.get_dynamic_global_properties() + global_properties = self.hive.get_dynamic_global_properties() try: - reserve_ratio = self.steem.get_reserve_ratio() + reserve_ratio = self.hive.get_reserve_ratio() except: return {"used": 0, "allocated": 0} @@ -1154,11 +1154,11 @@ class Account(BlockchainObject): return {"used": None, "allocated": None} max_virtual_bandwidth = float(reserve_ratio["max_virtual_bandwidth"]) - total_vesting_shares = Amount(global_properties["total_vesting_shares"], steem_instance=self.steem).amount + total_vesting_shares = Amount(global_properties["total_vesting_shares"], hive_instance=self.hive).amount allocated_bandwidth = (max_virtual_bandwidth * (vesting_shares + received_vesting_shares) / total_vesting_shares) allocated_bandwidth = round(allocated_bandwidth / 1000000) - if self.steem.is_connected() and self.steem.rpc.get_use_appbase(): + if self.hive.is_connected() and self.hive.rpc.get_use_appbase(): try: account_bandwidth = self.get_account_bandwidth(bandwidth_type=1, account=account) except: @@ -1204,16 +1204,16 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_owner_histories({'owner': account}, api="database")['owner_auths'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_owner_histories({'owner': account}, api="database")['owner_auths'] else: - return self.steem.rpc.get_owner_history(account) + return self.hive.rpc.get_owner_history(account) def get_conversion_requests(self, account=None): - """ Returns a list of SBD conversion request + """ Returns a list of HBD conversion request :param str account: When set, a different account is used for the request (Default is object account name) @@ -1231,13 +1231,13 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_sbd_conversion_requests({'account': account}, api="database")['requests'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_hbd_conversion_requests({'account': account}, api="database")['requests'] else: - return self.steem.rpc.get_conversion_requests(account) + return self.hive.rpc.get_conversion_requests(account) def get_vesting_delegations(self, start_account="", limit=100, account=None): """ Returns the vesting delegations by an account. @@ -1259,16 +1259,16 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - delegations = self.steem.rpc.list_vesting_delegations( + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + delegations = self.hive.rpc.list_vesting_delegations( {'start': [account, start_account], 'limit': limit, 'order': 'by_delegation'}, api="database")['delegations'] return [d for d in delegations if d['delegator'] == account] else: - return self.steem.rpc.get_vesting_delegations(account, start_account, limit) + return self.hive.rpc.get_vesting_delegations(account, start_account, limit) def get_withdraw_routes(self, account=None): """ Returns the withdraw routes for an account. @@ -1289,13 +1289,13 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_withdraw_vesting_routes({'account': account, 'order': 'by_withdraw_route'}, api="database")['routes'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_withdraw_vesting_routes({'account': account, 'order': 'by_withdraw_route'}, api="database")['routes'] else: - return self.steem.rpc.get_withdraw_routes(account, 'all') + return self.hive.rpc.get_withdraw_routes(account, 'all') def get_savings_withdrawals(self, direction="from", account=None): """ Returns the list of savings withdrawls for an account. @@ -1317,15 +1317,15 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_savings_withdrawals({'account': account}, api="database")['withdrawals'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_savings_withdrawals({'account': account}, api="database")['withdrawals'] elif direction == "from": - return self.steem.rpc.get_savings_withdraw_from(account) + return self.hive.rpc.get_savings_withdraw_from(account) elif direction == "to": - return self.steem.rpc.get_savings_withdraw_to(account) + return self.hive.rpc.get_savings_withdraw_to(account) def get_recovery_request(self, account=None): """ Returns the recovery request for an account @@ -1346,13 +1346,13 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_account_recovery_requests({'account': account}, api="database")['requests'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_account_recovery_requests({'account': account}, api="database")['requests'] else: - return self.steem.rpc.get_recovery_request(account) + return self.hive.rpc.get_recovery_request(account) def get_escrow(self, escrow_id=0, account=None): """ Returns the escrow for a certain account by id @@ -1374,13 +1374,13 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_escrows({'from': account}, api="database")['escrows'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_escrows({'from': account}, api="database")['escrows'] else: - return self.steem.rpc.get_escrow(account, escrow_id) + return self.hive.rpc.get_escrow(account, escrow_id) def verify_account_authority(self, keys, account=None): """ Returns true if the signers have enough authority to authorize an account. @@ -1393,7 +1393,7 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> account = Account("steemit") + >>> account = Account("hiveit") >>> print(account.verify_account_authority(["STM7Q2rLBqzPzFeteQZewv9Lu3NLE69fZoLeL6YK59t7UmssCBNTU"])["valid"]) False @@ -1402,16 +1402,16 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") if not isinstance(keys, list): keys = [keys] - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) try: - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.verify_account_authority({'account': account, 'signers': keys}, api="database") + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.verify_account_authority({'account': account, 'signers': keys}, api="database") else: - return self.steem.rpc.verify_account_authority(account, keys) + return self.hive.rpc.verify_account_authority(account, keys) except MissingRequiredActiveAuthority: return {'valid': False} @@ -1425,9 +1425,9 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("beem.app", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("beem.app", hive_instance=stm) >>> account.get_tags_used_by_author() [] @@ -1436,13 +1436,13 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.get_tags_used_by_author({'author': account}, api="tags")['tags'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.get_tags_used_by_author({'author': account}, api="tags")['tags'] else: - return self.steem.rpc.get_tags_used_by_author(account, api="tags") + return self.hive.rpc.get_tags_used_by_author(account, api="tags") def get_expiring_vesting_delegations(self, after=None, limit=1000, account=None): """ Returns the expirations for vesting delegations. @@ -1465,15 +1465,15 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) if after is None: after = addTzInfo(datetime.utcnow()) - timedelta(days=8) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.find_vesting_delegation_expirations({'account': account}, api="database")['delegations'] + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.find_vesting_delegation_expirations({'account': account}, api="database")['delegations'] else: - return self.steem.rpc.get_expiring_vesting_delegations(account, formatTimeString(after), limit) + return self.hive.rpc.get_expiring_vesting_delegations(account, formatTimeString(after), limit) def get_account_votes(self, account=None): """ Returns all votes that the account has done @@ -1483,9 +1483,9 @@ class Account(BlockchainObject): .. code-block:: python >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> account = Account("beem.app", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> account = Account("beem.app", hive_instance=stm) >>> account.get_account_votes() [] @@ -1494,20 +1494,20 @@ class Account(BlockchainObject): account = self["name"] elif isinstance(account, Account): account = account["name"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - vote_list = self.steem.rpc.get_account_votes(account, api="condenser") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + vote_list = self.hive.rpc.get_account_votes(account, api="condenser") else: - vote_list = self.steem.rpc.get_account_votes(account) + vote_list = self.hive.rpc.get_account_votes(account) if isinstance(vote_list, dict) and "error" in vote_list: start_author = "" start_permlink = "" vote_list = [] finished = False while not finished: - ret = self.steem.rpc.list_votes({"start": [account, start_author, start_permlink], "limit": 1000, "order": "by_voter_comment"}, api="database")["votes"] + ret = self.hive.rpc.list_votes({"start": [account, start_author, start_permlink], "limit": 1000, "order": "by_voter_comment"}, api="database")["votes"] if start_author != "": if len(ret) == 0: finished = True @@ -1530,7 +1530,7 @@ class Account(BlockchainObject): :type comment: str, Comment """ from beem.comment import Comment - c = Comment(comment, steem_instance=self.steem) + c = Comment(comment, hive_instance=self.hive) for v in c["active_votes"]: if v["voter"] == self["name"]: return v @@ -1543,7 +1543,7 @@ class Account(BlockchainObject): :type comment: str, Comment """ from beem.comment import Comment - c = Comment(comment, steem_instance=self.steem) + c = Comment(comment, hive_instance=self.hive) active_votes = {v["voter"]: v for v in c["active_votes"]} return self["name"] in active_votes @@ -1568,19 +1568,19 @@ class Account(BlockchainObject): def _get_account_history(self, account=None, start=-1, limit=0): if account is None: account = self - account = Account(account, steem_instance=self.steem) - if not self.steem.is_connected(): + account = Account(account, hive_instance=self.hive) + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): try: - ret = self.steem.rpc.get_account_history({'account': account["name"], 'start': start, 'limit': limit}, api="account_history")['history'] + ret = self.hive.rpc.get_account_history({'account': account["name"], 'start': start, 'limit': limit}, api="account_history")['history'] except ApiNotSupported: - ret = self.steem.rpc.get_account_history(account["name"], start, limit, api="condenser") + ret = self.hive.rpc.get_account_history(account["name"], start, limit, api="condenser") else: - ret = self.steem.rpc.get_account_history(account["name"], start, limit, api="database") + ret = self.hive.rpc.get_account_history(account["name"], start, limit, api="database") if len(ret) == 0 and limit == 0: - ret = self.steem.rpc.get_account_history(account["name"], start, limit + 1, api="database") + ret = self.hive.rpc.get_account_history(account["name"], start, limit + 1, api="database") return ret def estimate_virtual_op_num(self, blocktime, stop_diff=0, max_count=100): @@ -1638,7 +1638,7 @@ class Account(BlockchainObject): # convert blocktime to block number if given as a datetime/date/time if isinstance(blocktime, (datetime, date, time)): - b = Blockchain(steem_instance=self.steem) + b = Blockchain(hive_instance=self.hive) target_blocknum = b.get_estimated_block_num(addTzInfo(blocktime), accurate=True) else: target_blocknum = blocktime @@ -1711,10 +1711,10 @@ class Account(BlockchainObject): :param int days: limit number of days to be included int the return value """ stop = addTzInfo(datetime.utcnow()) - timedelta(days=days) - reward_vests = Amount(0, self.steem.vests_symbol, steem_instance=self.steem) + reward_vests = Amount(0, self.hive.vests_symbol, hive_instance=self.hive) for reward in self.history_reverse(stop=stop, use_block_num=False, only_ops=["curation_reward"]): - reward_vests += Amount(reward['reward'], steem_instance=self.steem) - return self.steem.vests_to_sp(float(reward_vests)) + reward_vests += Amount(reward['reward'], hive_instance=self.hive) + return self.hive.vests_to_sp(float(reward_vests)) def curation_stats(self): """Returns the curation reward of the last 24h and 7d and the average @@ -1770,7 +1770,7 @@ class Account(BlockchainObject): """ if order != -1 and order != 1: raise ValueError("order must be -1 or 1!") - # self.steem.rpc.set_next_node_on_empty_reply(True) + # self.hive.rpc.set_next_node_on_empty_reply(True) txs = self._get_account_history(start=index, limit=limit) if txs is None: return @@ -1818,7 +1818,7 @@ class Account(BlockchainObject): block_props = remove_from_dict(event, keys=['op'], keep_keys=False) def construct_op(account_name): - # verbatim output from steemd + # verbatim output from hived if raw_output: return item @@ -2207,7 +2207,7 @@ class Account(BlockchainObject): 'what': what } ] - return self.steem.custom_json( + return self.hive.custom_json( "follow", json_body, required_posting_auths=[account]) def update_account_profile(self, profile, account=None, **kwargs): @@ -2242,7 +2242,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if not isinstance(profile, dict): raise ValueError("Profile must be a dict type!") @@ -2265,7 +2265,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if isinstance(metadata, dict): metadata = json.dumps(metadata) elif not isinstance(metadata, str): @@ -2275,9 +2275,9 @@ class Account(BlockchainObject): "account": account["name"], "memo_key": account["memo_key"], "json_metadata": metadata, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def update_account_jsonmetadata(self, metadata, account=None, **kwargs): """ Update an account's profile in json_metadata using the posting key @@ -2290,7 +2290,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if isinstance(metadata, dict): metadata = json.dumps(metadata) elif not isinstance(metadata, str): @@ -2299,9 +2299,9 @@ class Account(BlockchainObject): **{ "account": account["name"], "posting_json_metadata": metadata, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "posting", **kwargs) + return self.hive.finalizeOp(op, account, "posting", **kwargs) # ------------------------------------------------------------------------- # Approval and Disapproval of witnesses @@ -2317,21 +2317,21 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) # if not isinstance(witnesses, (list, set, tuple)): # witnesses = {witnesses} # for witness in witnesses: - # witness = Witness(witness, steem_instance=self) + # witness = Witness(witness, hive_instance=self) op = operations.Account_witness_vote(**{ "account": account["name"], "witness": witness, "approve": approve, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def disapprovewitness(self, witness, account=None, **kwargs): """ Disapprove a witness @@ -2356,18 +2356,18 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) - PublicKey(key, prefix=self.steem.prefix) + PublicKey(key, prefix=self.hive.prefix) account["memo_key"] = key op = operations.Account_update(**{ "account": account["name"], "memo_key": account["memo_key"], "json_metadata": account["json_metadata"], - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def update_account_keys(self, new_password, account=None, **kwargs): """ Updates all account keys @@ -2383,12 +2383,12 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) key_auths = {} for role in ['owner', 'active', 'posting', 'memo']: pk = PasswordKey(account['name'], new_password, role=role) - key_auths[role] = format(pk.get_public_key(), self.steem.prefix) + key_auths[role] = format(pk.get_public_key(), self.hive.prefix) op = operations.Account_update(**{ "account": account["name"], @@ -2406,10 +2406,10 @@ class Account(BlockchainObject): 'weight_threshold': 1}, 'memo_key': key_auths['memo'], "json_metadata": account['json_metadata'], - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "owner", **kwargs) + return self.hive.finalizeOp(op, account, "owner", **kwargs) def change_recovery_account(self, new_recovery_account, account=None, **kwargs): @@ -2429,16 +2429,16 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) # Account() lookup to make sure the new account is valid new_rec_acc = Account(new_recovery_account, - steem_instance=self.steem) + hive_instance=self.hive) op = operations.Change_recovery_account(**{ 'account_to_recover': account['name'], 'new_recovery_account': new_rec_acc['name'], 'extensions': [] }) - return self.steem.finalizeOp(op, account, "owner", **kwargs) + return self.hive.finalizeOp(op, account, "owner", **kwargs) # ------------------------------------------------------------------------- # Simple Transfer @@ -2460,26 +2460,26 @@ class Account(BlockchainObject): .. code-block:: python from beem.account import Account - from beem import Steem + from beem import Hive active_wif = "5xxxx" - stm = Steem(keys=[active_wif]) - acc = Account("test", steem_instance=stm) - acc.transfer("test1", 1, "STEEM", "test") + stm = Hive(keys=[active_wif]) + acc = Account("test", hive_instance=stm) + acc.transfer("test1", 1, "HIVE", "test") """ if account is None: account = self else: - account = Account(account, steem_instance=self.steem) - amount = Amount(amount, asset, steem_instance=self.steem) - to = Account(to, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) + amount = Amount(amount, asset, hive_instance=self.hive) + to = Account(to, hive_instance=self.hive) if memo and memo[0] == "#": from .memo import Memo memoObj = Memo( from_account=account, to_account=to, - steem_instance=self.steem + hive_instance=self.hive ) memo = memoObj.encrypt(memo[1:])["message"] @@ -2488,12 +2488,12 @@ class Account(BlockchainObject): "to": to["name"], "memo": memo, "from": account["name"], - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def transfer_to_vesting(self, amount, to=None, account=None, **kwargs): - """ Vest STEEM + """ Vest HIVE :param float amount: Amount to transfer :param str to: Recipient (optional) if not set equal to account @@ -2503,27 +2503,27 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if to is None: to = self # powerup on the same account else: - to = Account(to, steem_instance=self.steem) - amount = self._check_amount(amount, self.steem.steem_symbol) + to = Account(to, hive_instance=self.hive) + amount = self._check_amount(amount, self.hive.hive_symbol) - to = Account(to, steem_instance=self.steem) + to = Account(to, hive_instance=self.hive) op = operations.Transfer_to_vesting(**{ "from": account["name"], "to": to["name"], "amount": amount, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def convert(self, amount, account=None, request_id=None): - """ Convert SteemDollars to Steem (takes 3.5 days to settle) + """ Convert HiveDollars to Hive (takes 3.5 days to settle) - :param float amount: amount of SBD to convert + :param float amount: amount of HBD to convert :param str account: (optional) the source account for the transfer if not ``default_account`` :param str request_id: (optional) identifier for tracking the @@ -2533,8 +2533,8 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) - amount = self._check_amount(amount, self.steem.sbd_symbol) + account = Account(account, hive_instance=self.hive) + amount = self._check_amount(amount, self.hive.hbd_symbol) if request_id: request_id = int(request_id) else: @@ -2544,16 +2544,16 @@ class Account(BlockchainObject): "owner": account["name"], "requestid": request_id, "amount": amount, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active") + return self.hive.finalizeOp(op, account, "active") def transfer_to_savings(self, amount, asset, memo, to=None, account=None, **kwargs): - """ Transfer SBD or STEEM into a 'savings' account. + """ Transfer HBD or HIVE into a 'savings' account. - :param float amount: STEEM or SBD amount - :param float asset: 'STEEM' or 'SBD' + :param float amount: HIVE or HBD amount + :param float asset: 'HIVE' or 'HBD' :param str memo: (optional) Memo :param str to: (optional) the source account for the transfer if not ``default_account`` @@ -2561,19 +2561,19 @@ class Account(BlockchainObject): if not ``default_account`` """ - if asset not in [self.steem.steem_symbol, self.steem.sbd_symbol]: + if asset not in [self.hive.hive_symbol, self.hive.hbd_symbol]: raise AssertionError() if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) - amount = Amount(amount, asset, steem_instance=self.steem) + amount = Amount(amount, asset, hive_instance=self.hive) if to is None: to = account # move to savings on same account else: - to = Account(to, steem_instance=self.steem) + to = Account(to, hive_instance=self.hive) op = operations.Transfer_to_savings( **{ @@ -2581,9 +2581,9 @@ class Account(BlockchainObject): "to": to["name"], "amount": amount, "memo": memo, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def transfer_from_savings(self, amount, @@ -2592,10 +2592,10 @@ class Account(BlockchainObject): request_id=None, to=None, account=None, **kwargs): - """ Withdraw SBD or STEEM from 'savings' account. + """ Withdraw HBD or HIVE from 'savings' account. - :param float amount: STEEM or SBD amount - :param float asset: 'STEEM' or 'SBD' + :param float amount: HIVE or HBD amount + :param float asset: 'HIVE' or 'HBD' :param str memo: (optional) Memo :param str request_id: (optional) identifier for tracking or cancelling the withdrawal @@ -2605,18 +2605,18 @@ class Account(BlockchainObject): if not ``default_account`` """ - if asset not in [self.steem.steem_symbol, self.steem.sbd_symbol]: + if asset not in [self.hive.hive_symbol, self.hive.hbd_symbol]: raise AssertionError() if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if to is None: to = account # move to savings on same account else: - to = Account(to, steem_instance=self.steem) - amount = Amount(amount, asset, steem_instance=self.steem) + to = Account(to, hive_instance=self.hive) + amount = Amount(amount, asset, hive_instance=self.hive) if request_id: request_id = int(request_id) else: @@ -2629,9 +2629,9 @@ class Account(BlockchainObject): "to": to["name"], "amount": amount, "memo": memo, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def cancel_transfer_from_savings(self, request_id, account=None, **kwargs): """ Cancel a withdrawal from 'savings' account. @@ -2645,37 +2645,37 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) op = operations.Cancel_transfer_from_savings(**{ "from": account["name"], "request_id": request_id, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def _check_amount(self, amount, symbol): if isinstance(amount, (float, integer_types)): - amount = Amount(amount, symbol, steem_instance=self.steem) + amount = Amount(amount, symbol, hive_instance=self.hive) elif isinstance(amount, string_types) and amount.replace('.', '', 1).replace(',', '', 1).isdigit(): - amount = Amount(float(amount), symbol, steem_instance=self.steem) + amount = Amount(float(amount), symbol, hive_instance=self.hive) else: - amount = Amount(amount, steem_instance=self.steem) + amount = Amount(amount, hive_instance=self.hive) if not amount["symbol"] == symbol: raise AssertionError() return amount def claim_reward_balance(self, - reward_steem=0, - reward_sbd=0, + reward_hive=0, + reward_hbd=0, reward_vests=0, account=None, **kwargs): """ Claim reward balances. By default, this will claim ``all`` outstanding balances. To bypass this behaviour, set desired claim amount by setting any of - `reward_steem`, `reward_sbd` or `reward_vests`. + `reward_hive`, `reward_hbd` or `reward_vests`. - :param str reward_steem: Amount of STEEM you would like to claim. - :param str reward_sbd: Amount of SBD you would like to claim. + :param str reward_hive: Amount of HIVE you would like to claim. + :param str reward_hbd: Amount of HBD you would like to claim. :param str reward_vests: Amount of VESTS you would like to claim. :param str account: The source account for the claim if not ``default_account`` is used. @@ -2684,46 +2684,46 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if not account: raise ValueError("You need to provide an account") # if no values were set by user, claim all outstanding balances on # account - reward_steem = self._check_amount(reward_steem, self.steem.steem_symbol) - reward_sbd = self._check_amount(reward_sbd, self.steem.sbd_symbol) - reward_vests = self._check_amount(reward_vests, self.steem.vests_symbol) + reward_hive = self._check_amount(reward_hive, self.hive.hive_symbol) + reward_hbd = self._check_amount(reward_hbd, self.hive.hbd_symbol) + reward_vests = self._check_amount(reward_vests, self.hive.vests_symbol) - if reward_steem.amount == 0 and reward_sbd.amount == 0 and reward_vests.amount == 0: + if reward_hive.amount == 0 and reward_hbd.amount == 0 and reward_vests.amount == 0: if len(account.balances["rewards"]) == 3: - reward_steem = account.balances["rewards"][0] - reward_sbd = account.balances["rewards"][1] + reward_hive = account.balances["rewards"][0] + reward_hbd = account.balances["rewards"][1] reward_vests = account.balances["rewards"][2] op = operations.Claim_reward_balance( **{ "account": account["name"], - "reward_steem": reward_steem, - "reward_sbd": reward_sbd, + "reward_hive": reward_hive, + "reward_hbd": reward_hbd, "reward_vests": reward_vests, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) else: - reward_steem = account.balances["rewards"][0] + reward_hive = account.balances["rewards"][0] reward_vests = account.balances["rewards"][1] op = operations.Claim_reward_balance( **{ "account": account["name"], - "reward_steem": reward_steem, + "reward_hive": reward_hive, "reward_vests": reward_vests, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "posting", **kwargs) + return self.hive.finalizeOp(op, account, "posting", **kwargs) def delegate_vesting_shares(self, to_account, vesting_shares, account=None, **kwargs): - """ Delegate SP to another account. + """ Delegate HP to another account. :param str to_account: Account we are delegating shares to (delegatee). @@ -2735,20 +2735,20 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) - to_account = Account(to_account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) + to_account = Account(to_account, hive_instance=self.hive) if to_account is None: raise ValueError("You need to provide a to_account") - vesting_shares = self._check_amount(vesting_shares, self.steem.vests_symbol) + vesting_shares = self._check_amount(vesting_shares, self.hive.vests_symbol) op = operations.Delegate_vesting_shares( **{ "delegator": account["name"], "delegatee": to_account["name"], "vesting_shares": vesting_shares, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def withdraw_vesting(self, amount, account=None, **kwargs): """ Withdraw VESTS from the vesting account. @@ -2762,17 +2762,17 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) - amount = self._check_amount(amount, self.steem.vests_symbol) + account = Account(account, hive_instance=self.hive) + amount = self._check_amount(amount, self.hive.vests_symbol) op = operations.Withdraw_vesting( **{ "account": account["name"], "vesting_shares": amount, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def set_withdraw_vesting_route(self, to, @@ -2789,22 +2789,22 @@ class Account(BlockchainObject): :param str account: (optional) the vesting account :param bool auto_vest: Set to true if the 'to' account should receive the VESTS as VESTS, or false if it should - receive them as STEEM. (defaults to ``False``) + receive them as HIVE. (defaults to ``False``) """ if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) op = operations.Set_withdraw_vesting_route( **{ "from_account": account["name"], "to_account": to, - "percent": int(percentage * STEEM_1_PERCENT), + "percent": int(percentage * HIVE_1_PERCENT), "auto_vest": auto_vest }) - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def allow( self, foreign, weight=None, permission="posting", @@ -2829,20 +2829,20 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if permission not in ["owner", "posting", "active"]: raise ValueError( "Permission needs to be either 'owner', 'posting', or 'active" ) - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if permission not in account: - account = Account(account, steem_instance=self.steem, lazy=False, full=True) + account = Account(account, hive_instance=self.hive, lazy=False, full=True) account.clear_cache() account.refresh() if permission not in account: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if permission not in account: raise AssertionError("Could not access permission") @@ -2851,14 +2851,14 @@ class Account(BlockchainObject): authority = deepcopy(account[permission]) try: - pubkey = PublicKey(foreign, prefix=self.steem.prefix) + pubkey = PublicKey(foreign, prefix=self.hive.prefix) authority["key_auths"].append([ str(pubkey), weight ]) except: try: - foreign_account = Account(foreign, steem_instance=self.steem) + foreign_account = Account(foreign, hive_instance=self.hive) authority["account_auths"].append([ foreign_account["name"], weight @@ -2869,19 +2869,19 @@ class Account(BlockchainObject): ) if threshold: authority["weight_threshold"] = threshold - self.steem._test_weights_treshold(authority) + self.hive._test_weights_treshold(authority) op = operations.Account_update(**{ "account": account["name"], permission: authority, "memo_key": account["memo_key"], "json_metadata": account["json_metadata"], - "prefix": self.steem.prefix + "prefix": self.hive.prefix }) if permission == "owner": - return self.steem.finalizeOp(op, account, "owner", **kwargs) + return self.hive.finalizeOp(op, account, "owner", **kwargs) else: - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def disallow( self, foreign, permission="posting", @@ -2901,7 +2901,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if permission not in ["owner", "active", "posting"]: raise ValueError( @@ -2910,13 +2910,13 @@ class Account(BlockchainObject): authority = account[permission] try: - pubkey = PublicKey(foreign, prefix=self.steem.prefix) + pubkey = PublicKey(foreign, prefix=self.hive.prefix) affected_items = list( [x for x in authority["key_auths"] if x[0] == str(pubkey)]) authority["key_auths"] = list([x for x in authority["key_auths"] if x[0] != str(pubkey)]) except: try: - foreign_account = Account(foreign, steem_instance=self.steem) + foreign_account = Account(foreign, hive_instance=self.hive) affected_items = list( [x for x in authority["account_auths"] if x[0] == foreign_account["name"]]) authority["account_auths"] = list([x for x in authority["account_auths"] if x[0] != foreign_account["name"]]) @@ -2936,26 +2936,26 @@ class Account(BlockchainObject): # Correct threshold (at most by the amount removed from the # authority) try: - self.steem._test_weights_treshold(authority) + self.hive._test_weights_treshold(authority) except: log.critical( "The account's threshold will be reduced by %d" % (removed_weight) ) authority["weight_threshold"] -= removed_weight - self.steem._test_weights_treshold(authority) + self.hive._test_weights_treshold(authority) op = operations.Account_update(**{ "account": account["name"], permission: authority, "memo_key": account["memo_key"], "json_metadata": account["json_metadata"], - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) if permission == "owner": - return self.steem.finalizeOp(op, account, "owner", **kwargs) + return self.hive.finalizeOp(op, account, "owner", **kwargs) else: - return self.steem.finalizeOp(op, account, "active", **kwargs) + return self.hive.finalizeOp(op, account, "active", **kwargs) def feed_history(self, limit=None, start_author=None, start_permlink=None, account=None): @@ -3000,7 +3000,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) feed_count = 0 while True: query_limit = 100 @@ -3010,7 +3010,7 @@ class Account(BlockchainObject): query = Query(start_author=start_author, start_permlink=start_permlink, limit=query_limit, tag=account['name']) - results = Discussions_by_feed(query, steem_instance=self.steem) + results = Discussions_by_feed(query, hive_instance=self.hive) if len(results) == 0 or (start_permlink and len(results) == 1): return if feed_count > 0 and start_permlink: @@ -3037,8 +3037,8 @@ class Account(BlockchainObject): entries from this index. `start=-1` (default) starts with the latest available entry. :param bool reblogs: (optional) if set `True` (default) - reblogs / resteems are included. If set `False`, - reblogs/resteems are omitted. + reblogs / rehives are included. If set `False`, + reblogs/rehives are omitted. :param str account: (optional) the account to stream blog entries for (defaults to ``default_account``) @@ -3047,7 +3047,7 @@ class Account(BlockchainObject): .. code-block:: python from beem.account import Account - acc = Account("steemitblog") + acc = Account("hiveitblog") for post in acc.blog_history(limit=10): print(post) @@ -3059,7 +3059,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) post_count = 0 start_permlink = None @@ -3073,7 +3073,7 @@ class Account(BlockchainObject): query = {'start_author': start_author, 'start_permlink':start_permlink, 'limit': query_limit, 'tag': account['name']} - results = Discussions_by_blog(query, steem_instance=self.steem) + results = Discussions_by_blog(query, hive_instance=self.hive) if len(results) == 0 or (start_permlink and len(results) == 1): return if start_permlink: @@ -3123,7 +3123,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) comment_count = 0 while True: @@ -3135,7 +3135,7 @@ class Account(BlockchainObject): 'start_permlink': start_permlink, 'limit': query_limit} results = Discussions_by_comments(query, - steem_instance=self.steem) + hive_instance=self.hive) if len(results) == 0 or (start_permlink and len(results) == 1): return if comment_count > 0 and start_permlink: @@ -3193,7 +3193,7 @@ class Account(BlockchainObject): if account is None: account = self else: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if start_author is None: start_author = account['name'] @@ -3209,7 +3209,7 @@ class Account(BlockchainObject): 'start_permlink': start_permlink, 'limit': query_limit} results = Replies_by_last_update(query, - steem_instance=self.steem) + hive_instance=self.hive) if len(results) == 0 or (start_permlink and len(results) == 1): return if reply_count > 0 and start_permlink: @@ -3240,7 +3240,7 @@ class AccountsObject(list): t.align = "r" t.add_row([tag_type + " count", str(len(self))]) own_mvest = [] - eff_sp = [] + eff_hp = [] rep = [] last_vote_h = [] last_post_d = [] @@ -3249,7 +3249,7 @@ class AccountsObject(list): for f in self: rep.append(f.rep) own_mvest.append(float(f.balances["available"][2]) / 1e6) - eff_sp.append(f.get_steem_power()) + eff_hp.append(f.get_hive_power()) last_vote = addTzInfo(datetime.utcnow()) - (f["last_vote_time"]) if last_vote.days >= 365: no_vote += 1 @@ -3265,10 +3265,10 @@ class AccountsObject(list): if (len(rep) > 0): t.add_row(["Mean Rep.", "%.2f" % (sum(rep) / len(rep))]) t.add_row(["Max Rep.", "%.2f" % (max(rep))]) - if (len(eff_sp) > 0): - t.add_row(["Summed eff. SP", "%.2f" % sum(eff_sp)]) - t.add_row(["Mean eff. SP", "%.2f" % (sum(eff_sp) / len(eff_sp))]) - t.add_row(["Max eff. SP", "%.2f" % max(eff_sp)]) + if (len(eff_hp) > 0): + t.add_row(["Summed eff. HP", "%.2f" % sum(eff_hp)]) + t.add_row(["Mean eff. HP", "%.2f" % (sum(eff_hp) / len(eff_hp))]) + t.add_row(["Max eff. HP", "%.2f" % max(eff_hp)]) if (len(last_vote_h) > 0): t.add_row(["Mean last vote diff in hours", "%.2f" % (sum(last_vote_h) / len(last_vote_h))]) if len(last_post_d) > 0: @@ -3287,27 +3287,27 @@ class Accounts(AccountsObject): :param list name_list: list of accounts to fetch :param int batch_limit: (optional) maximum number of accounts to fetch per call, defaults to 100 - :param Steem steem_instance: Steem() instance to use when - accessing a RPCcreator = Account(creator, steem_instance=self) + :param Hive hive_instance: Hive() instance to use when + accessing a RPCcreator = Account(creator, hive_instance=self) """ - def __init__(self, name_list, batch_limit=100, lazy=False, full=True, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - if not self.steem.is_connected(): + def __init__(self, name_list, batch_limit=100, lazy=False, full=True, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + if not self.hive.is_connected(): return accounts = [] name_cnt = 0 while name_cnt < len(name_list): - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - accounts += self.steem.rpc.find_accounts({'accounts': name_list[name_cnt:batch_limit + name_cnt]}, api="database")["accounts"] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + accounts += self.hive.rpc.find_accounts({'accounts': name_list[name_cnt:batch_limit + name_cnt]}, api="database")["accounts"] else: - accounts += self.steem.rpc.get_accounts(name_list[name_cnt:batch_limit + name_cnt]) + accounts += self.hive.rpc.get_accounts(name_list[name_cnt:batch_limit + name_cnt]) name_cnt += batch_limit super(Accounts, self).__init__( [ - Account(x, lazy=lazy, full=full, steem_instance=self.steem) + Account(x, lazy=lazy, full=full, hive_instance=self.hive) for x in accounts ] ) diff --git a/beem/amount.py b/beem/amount.py index b596041adee95ed54b7e9bac784452df2518a578..09745c0ca77bf9973d85b4b6065716253a3479cb 100644 --- a/beem/amount.py +++ b/beem/amount.py @@ -6,7 +6,7 @@ from __future__ import unicode_literals from builtins import bytes, int, str from future.utils import python_2_unicode_compatible from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from beem.asset import Asset from decimal import Decimal, ROUND_DOWN @@ -38,14 +38,14 @@ class Amount(dict): :param str asset: Let's you create an instance with a specific asset (symbol) :param boolean fixed_point_arithmetic: when set to True, all operation are fixed point operations and the amount is always be rounded down to the precision - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance :returns: All data required to represent an Amount/Asset :rtype: dict :raises ValueError: if the data provided is not recognized Way to obtain a proper instance: - * ``args`` can be a string, e.g.: "1 SBD" + * ``args`` can be a string, e.g.: "1 HBD" * ``args`` can be a dictionary containing ``amount`` and ``asset_id`` * ``args`` can be a dictionary containing ``amount`` and ``asset`` * ``args`` can be a list of a ``float`` and ``str`` (symbol) @@ -65,9 +65,9 @@ class Amount(dict): from beem.amount import Amount from beem.asset import Asset - a = Amount("1 STEEM") - b = Amount(1, "STEEM") - c = Amount("20", Asset("STEEM")) + a = Amount("1 HIVE") + b = Amount(1, "HIVE") + c = Amount("20", Asset("HIVE")) a + b a * 2 a += b @@ -75,15 +75,15 @@ class Amount(dict): .. testoutput:: - 2.000 STEEM - 2.000 STEEM + 2.000 HIVE + 2.000 HIVE """ - def __init__(self, amount, asset=None, fixed_point_arithmetic=False, new_appbase_format=True, steem_instance=None): + def __init__(self, amount, asset=None, fixed_point_arithmetic=False, new_appbase_format=True, hive_instance=None): self["asset"] = {} self.new_appbase_format = new_appbase_format self.fixed_point_arithmetic = fixed_point_arithmetic - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if amount and asset is None and isinstance(amount, Amount): # Copy Asset object self["amount"] = amount["amount"] @@ -93,27 +93,27 @@ class Amount(dict): elif amount and asset is None and isinstance(amount, list) and len(amount) == 3: # Copy Asset object self["amount"] = Decimal(amount[0]) / Decimal(10 ** amount[1]) - self["asset"] = Asset(amount[2], steem_instance=self.steem) + self["asset"] = Asset(amount[2], hive_instance=self.hive) self["symbol"] = self["asset"]["symbol"] elif amount and asset is None and isinstance(amount, dict) and "amount" in amount and "nai" in amount and "precision" in amount: # Copy Asset object self.new_appbase_format = True self["amount"] = Decimal(amount["amount"]) / Decimal(10 ** amount["precision"]) - self["asset"] = Asset(amount["nai"], steem_instance=self.steem) + self["asset"] = Asset(amount["nai"], hive_instance=self.hive) self["symbol"] = self["asset"]["symbol"] elif amount is not None and asset is None and isinstance(amount, string_types): self["amount"], self["symbol"] = amount.split(" ") - self["asset"] = Asset(self["symbol"], steem_instance=self.steem) + self["asset"] = Asset(self["symbol"], hive_instance=self.hive) elif (amount and asset is None and isinstance(amount, dict) and "amount" in amount and "asset_id" in amount): - self["asset"] = Asset(amount["asset_id"], steem_instance=self.steem) + self["asset"] = Asset(amount["asset_id"], hive_instance=self.hive) self["symbol"] = self["asset"]["symbol"] self["amount"] = Decimal(amount["amount"]) / Decimal(10 ** self["asset"]["precision"]) elif (amount and asset is None and isinstance(amount, dict) and "amount" in amount and "asset" in amount): - self["asset"] = Asset(amount["asset"], steem_instance=self.steem) + self["asset"] = Asset(amount["asset"], hive_instance=self.hive) self["symbol"] = self["asset"]["symbol"] self["amount"] = Decimal(amount["amount"]) / Decimal(10 ** self["asset"]["precision"]) @@ -139,12 +139,12 @@ class Amount(dict): elif isinstance(amount, (float)) and asset and isinstance(asset, string_types): self["amount"] = str(amount) - self["asset"] = Asset(asset, steem_instance=self.steem) + self["asset"] = Asset(asset, hive_instance=self.hive) self["symbol"] = asset elif isinstance(amount, (integer_types, Decimal)) and asset and isinstance(asset, string_types): self["amount"] = amount - self["asset"] = Asset(asset, steem_instance=self.steem) + self["asset"] = Asset(asset, hive_instance=self.hive) self["symbol"] = asset elif amount and asset and isinstance(asset, Asset): self["amount"] = amount @@ -152,7 +152,7 @@ class Amount(dict): self["asset"] = asset elif amount and asset and isinstance(asset, string_types): self["amount"] = amount - self["asset"] = Asset(asset, steem_instance=self.steem) + self["asset"] = Asset(asset, hive_instance=self.hive) self["symbol"] = self["asset"]["symbol"] else: raise ValueError @@ -169,7 +169,7 @@ class Amount(dict): asset=self["asset"].copy(), new_appbase_format=self.new_appbase_format, fixed_point_arithmetic=self.fixed_point_arithmetic, - steem_instance=self.steem) + hive_instance=self.hive) @property def amount(self): @@ -194,14 +194,14 @@ class Amount(dict): @property def asset(self): - """ Returns the asset as instance of :class:`steem.asset.Asset` + """ Returns the asset as instance of :class:`hive.asset.Asset` """ if not self["asset"]: - self["asset"] = Asset(self["symbol"], steem_instance=self.steem) + self["asset"] = Asset(self["symbol"], hive_instance=self.hive) return self["asset"] def json(self): - if self.steem.is_connected() and self.steem.rpc.get_use_appbase(): + if self.hive.is_connected() and self.hive.rpc.get_use_appbase(): if self.new_appbase_format: return {'amount': str(int(self)), 'nai': self["asset"]["asset"], 'precision': self["asset"]["precision"]} else: @@ -272,7 +272,7 @@ class Amount(dict): if isinstance(other, Amount): from .price import Price check_asset(other["asset"], self["asset"]) - return Price(self, other, steem_instance=self.steem) + return Price(self, other, hive_instance=self.hive) else: a["amount"] //= Decimal(other) if self.fixed_point_arithmetic: @@ -284,7 +284,7 @@ class Amount(dict): a = self.copy() if isinstance(other, Amount): check_asset(other["asset"], self["asset"]) - return Price(self, other, steem_instance=self.steem) + return Price(self, other, hive_instance=self.hive) elif isinstance(other, Price): if not self["asset"] == other["base"]["asset"]: raise AssertionError() diff --git a/beem/asset.py b/beem/asset.py index f6ad84af76b6e2c4659f4049b97d859817dee56e..ec9b6d9aa16a01b95b22988a3e0574beadb1372f 100644 --- a/beem/asset.py +++ b/beem/asset.py @@ -14,7 +14,7 @@ class Asset(BlockchainObject): :param str Asset: Symbol name or object id of an asset :param bool lazy: Lazy loading :param bool full: Also obtain bitasset-data and dynamic asset dat - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :returns: All data of an asset @@ -29,24 +29,24 @@ class Asset(BlockchainObject): asset, lazy=False, full=False, - steem_instance=None + hive_instance=None ): self.full = full super(Asset, self).__init__( asset, lazy=lazy, full=full, - steem_instance=steem_instance + hive_instance=hive_instance ) # self.refresh() def refresh(self): """ Refresh the data from the API server """ - self.chain_params = self.steem.get_network() + self.chain_params = self.hive.get_network() if self.chain_params is None: from beemgraphenebase.chains import known_chains - self.chain_params = known_chains["STEEMAPPBASE"] + self.chain_params = known_chains["HIVEAPPBASE"] self["asset"] = "" found_asset = False for asset in self.chain_params["chain_assets"]: diff --git a/beem/block.py b/beem/block.py index f61ab35fed3454545e0ee817d51a3a612f10bec2..657b7412d441e51192bd10f060390aa7fa43be95 100644 --- a/beem/block.py +++ b/beem/block.py @@ -16,7 +16,7 @@ class Block(BlockchainObject): """ Read a single block from the chain :param int block: block number - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :param bool lazy: Use lazy loading :param bool only_ops: Includes only operations, when set to True (default: False) @@ -49,12 +49,12 @@ class Block(BlockchainObject): only_virtual_ops=False, full=True, lazy=False, - steem_instance=None + hive_instance=None ): """ Initilize a block :param int block: block number - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :param bool lazy: Use lazy loading :param bool only_ops: Includes only operations, when set to True (default: False) @@ -73,7 +73,7 @@ class Block(BlockchainObject): block, lazy=lazy, full=full, - steem_instance=steem_instance + hive_instance=hive_instance ) def _parse_json_data(self, block): @@ -125,17 +125,17 @@ class Block(BlockchainObject): """ if self.identifier is None: return - if not self.steem.is_connected(): + if not self.hive.is_connected(): return - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) if self.only_ops or self.only_virtual_ops: - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): try: - ops = self.steem.rpc.get_ops_in_block({"block_num": self.identifier, 'only_virtual': self.only_virtual_ops}, api="account_history")["ops"] + ops = self.hive.rpc.get_ops_in_block({"block_num": self.identifier, 'only_virtual': self.only_virtual_ops}, api="account_history")["ops"] except ApiNotSupported: - ops = self.steem.rpc.get_ops_in_block(self.identifier, self.only_virtual_ops, api="condenser") + ops = self.hive.rpc.get_ops_in_block(self.identifier, self.only_virtual_ops, api="condenser") else: - ops = self.steem.rpc.get_ops_in_block(self.identifier, self.only_virtual_ops) + ops = self.hive.rpc.get_ops_in_block(self.identifier, self.only_virtual_ops) if bool(ops): block = {'block': ops[0]["block"], 'timestamp': ops[0]["timestamp"], @@ -145,19 +145,19 @@ class Block(BlockchainObject): 'timestamp': "1970-01-01T00:00:00", 'operations': []} else: - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): try: - block = self.steem.rpc.get_block({"block_num": self.identifier}, api="block") + block = self.hive.rpc.get_block({"block_num": self.identifier}, api="block") if block and "block" in block: block = block["block"] except ApiNotSupported: - block = self.steem.rpc.get_block(self.identifier, api="condenser") + block = self.hive.rpc.get_block(self.identifier, api="condenser") else: - block = self.steem.rpc.get_block(self.identifier) + block = self.hive.rpc.get_block(self.identifier) if not block: raise BlockDoesNotExistsException("output: %s of identifier %s" % (str(block), str(self.identifier))) block = self._parse_json_data(block) - super(Block, self).__init__(block, lazy=self.lazy, full=self.full, steem_instance=self.steem) + super(Block, self).__init__(block, lazy=self.lazy, full=self.full, hive_instance=self.hive) @property def block_num(self): @@ -284,7 +284,7 @@ class BlockHeader(BlockchainObject): """ Read a single block header from the chain :param int block: block number - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :param bool lazy: Use lazy loading @@ -303,12 +303,12 @@ class BlockHeader(BlockchainObject): block, full=True, lazy=False, - steem_instance=None + hive_instance=None ): """ Initilize a block :param int block: block number - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance :param bool lazy: Use lazy loading @@ -321,28 +321,28 @@ class BlockHeader(BlockchainObject): block, lazy=lazy, full=full, - steem_instance=steem_instance + hive_instance=hive_instance ) def refresh(self): """ Even though blocks never change, you freshly obtain its contents from an API with this method """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - block = self.steem.rpc.get_block_header({"block_num": self.identifier}, api="block") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + block = self.hive.rpc.get_block_header({"block_num": self.identifier}, api="block") if "header" in block: block = block["header"] else: - block = self.steem.rpc.get_block_header(self.identifier) + block = self.hive.rpc.get_block_header(self.identifier) if not block: raise BlockDoesNotExistsException(str(self.identifier)) block = self._parse_json_data(block) super(BlockHeader, self).__init__( block, lazy=self.lazy, full=self.full, - steem_instance=self.steem + hive_instance=self.hive ) def time(self): diff --git a/beem/blockchain.py b/beem/blockchain.py index ef78c73df53bf37e148f6afcc5ec8174f2d954c0..9c9f2d7ac1fcddbd268bc9fb44a94c0ec253f0ca 100644 --- a/beem/blockchain.py +++ b/beem/blockchain.py @@ -19,11 +19,11 @@ from datetime import datetime, timedelta from .utils import formatTimeString, addTzInfo from .block import Block, BlockHeader from beemapi.node import Nodes -from beemapi.steemnoderpc import SteemNodeRPC +from beemapi.hivenoderpc import HiveNodeRPC from .exceptions import BatchedCallsNotSupported, BlockDoesNotExistsException, BlockWaitTimeExceeded, OfflineHasNoRPCException from beemapi.exceptions import NumRetriesReached from beemgraphenebase.py23 import py23_bytes -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from .amount import Amount import beem as stm log = logging.getLogger(__name__) @@ -177,7 +177,7 @@ class Blockchain(object): """ This class allows to access the blockchain and read data from it - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance :param str mode: (default) Irreversible block (``irreversible``) or actual head block (``head``) :param int max_block_wait_repetition: maximum wait repetition for next block @@ -196,7 +196,7 @@ class Blockchain(object): .. testcode:: print(chain.get_current_block()) - print(chain.steem.info()) + print(chain.hive.info()) Monitor for new blocks. When ``stop`` is not set, monitoring will never stop. @@ -224,12 +224,12 @@ class Blockchain(object): """ def __init__( self, - steem_instance=None, + hive_instance=None, mode="irreversible", max_block_wait_repetition=None, data_refresh_time_seconds=900, ): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if mode == "irreversible": self.mode = 'last_irreversible_block_num' @@ -241,7 +241,7 @@ class Blockchain(object): self.max_block_wait_repetition = max_block_wait_repetition else: self.max_block_wait_repetition = 3 - self.block_interval = self.steem.get_block_interval() + self.block_interval = self.hive.get_block_interval() def is_irreversible_mode(self): return self.mode == 'last_irreversible_block_num' @@ -251,13 +251,13 @@ class Blockchain(object): :param str transaction_id: transaction_id """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - ret = self.steem.rpc.get_transaction({'id': transaction_id}, api="account_history") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + ret = self.hive.rpc.get_transaction({'id': transaction_id}, api="account_history") else: - ret = self.steem.rpc.get_transaction(transaction_id, api="database") + ret = self.hive.rpc.get_transaction(transaction_id, api="database") return ret def get_transaction_hex(self, transaction): @@ -265,13 +265,13 @@ class Blockchain(object): :param dict transaction: transaction """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - ret = self.steem.rpc.get_transaction_hex({'trx': transaction}, api="database")["hex"] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + ret = self.hive.rpc.get_transaction_hex({'trx': transaction}, api="database")["hex"] else: - ret = self.steem.rpc.get_transaction_hex(transaction, api="database") + ret = self.hive.rpc.get_transaction_hex(transaction, api="database") return ret def get_current_block_num(self): @@ -280,7 +280,7 @@ class Blockchain(object): .. note:: The block number returned depends on the ``mode`` used when instantiating from this class. """ - props = self.steem.get_dynamic_global_properties(False) + props = self.hive.get_dynamic_global_properties(False) if props is None: raise ValueError("Could not receive dynamic_global_properties!") if self.mode not in props: @@ -300,7 +300,7 @@ class Blockchain(object): self.get_current_block_num(), only_ops=only_ops, only_virtual_ops=only_virtual_ops, - steem_instance=self.steem + hive_instance=self.hive ) def get_estimated_block_num(self, date, estimateForwards=False, accurate=True): @@ -325,7 +325,7 @@ class Blockchain(object): date = addTzInfo(date) if estimateForwards: block_offset = 10 - first_block = BlockHeader(block_offset, steem_instance=self.steem) + first_block = BlockHeader(block_offset, hive_instance=self.hive) time_diff = date - first_block.time() block_number = math.floor(time_diff.total_seconds() / self.block_interval + block_offset) else: @@ -343,7 +343,7 @@ class Blockchain(object): second_last_block_time_diff_seconds = 10 while block_time_diff.total_seconds() > self.block_interval or block_time_diff.total_seconds() < -self.block_interval: - block = BlockHeader(block_number, steem_instance=self.steem) + block = BlockHeader(block_number, hive_instance=self.hive) second_last_block_time_diff_seconds = last_block_time_diff_seconds last_block_time_diff_seconds = block_time_diff.total_seconds() block_time_diff = date - block.time() @@ -370,7 +370,7 @@ class Blockchain(object): """ return Block( block_num, - steem_instance=self.steem + hive_instance=self.hive ).time() def block_timestamp(self, block_num): @@ -381,7 +381,7 @@ class Blockchain(object): """ block_time = Block( block_num, - steem_instance=self.steem + hive_instance=self.hive ).time() return int(time.mktime(block_time.timetuple())) @@ -415,13 +415,13 @@ class Blockchain(object): elif threading: pool = Pool(thread_num, batch_mode=True) if threading: - steem_instance = [self.steem] - nodelist = self.steem.rpc.nodes.export_working_nodes() + hive_instance = [self.hive] + nodelist = self.hive.rpc.nodes.export_working_nodes() for i in range(thread_num - 1): - steem_instance.append(stm.Steem(node=nodelist, - num_retries=self.steem.rpc.num_retries, - num_retries_call=self.steem.rpc.num_retries_call, - timeout=self.steem.rpc.timeout)) + hive_instance.append(stm.Hive(node=nodelist, + num_retries=self.hive.rpc.num_retries, + num_retries_call=self.hive.rpc.num_retries_call, + timeout=self.hive.rpc.timeout)) # We are going to loop indefinitely latest_block = 0 while True: @@ -439,18 +439,18 @@ class Blockchain(object): if FUTURES_MODULE is not None: futures = [] block_num_list = [] - # freeze = self.steem.rpc.nodes.freeze_current_node - num_retries = self.steem.rpc.nodes.num_retries - # self.steem.rpc.nodes.freeze_current_node = True - self.steem.rpc.nodes.num_retries = thread_num - error_cnt = self.steem.rpc.nodes.node.error_cnt + # freeze = self.hive.rpc.nodes.freeze_current_node + num_retries = self.hive.rpc.nodes.num_retries + # self.hive.rpc.nodes.freeze_current_node = True + self.hive.rpc.nodes.num_retries = thread_num + error_cnt = self.hive.rpc.nodes.node.error_cnt while i < thread_num and blocknum + i <= head_block: block_num_list.append(blocknum + i) results = [] if FUTURES_MODULE is not None: - futures.append(pool.submit(Block, blocknum + i, only_ops=only_ops, only_virtual_ops=only_virtual_ops, steem_instance=steem_instance[i])) + futures.append(pool.submit(Block, blocknum + i, only_ops=only_ops, only_virtual_ops=only_virtual_ops, hive_instance=hive_instance[i])) else: - pool.enqueue(Block, blocknum + i, only_ops=only_ops, only_virtual_ops=only_virtual_ops, steem_instance=steem_instance[i]) + pool.enqueue(Block, blocknum + i, only_ops=only_ops, only_virtual_ops=only_virtual_ops, hive_instance=hive_instance[i]) i += 1 if FUTURES_MODULE is not None: try: @@ -463,13 +463,13 @@ class Blockchain(object): for result in pool.results(): results.append(result) pool.abort() - self.steem.rpc.nodes.num_retries = num_retries - # self.steem.rpc.nodes.freeze_current_node = freeze - new_error_cnt = self.steem.rpc.nodes.node.error_cnt - self.steem.rpc.nodes.node.error_cnt = error_cnt + self.hive.rpc.nodes.num_retries = num_retries + # self.hive.rpc.nodes.freeze_current_node = freeze + new_error_cnt = self.hive.rpc.nodes.node.error_cnt + self.hive.rpc.nodes.node.error_cnt = error_cnt if new_error_cnt > error_cnt: - self.steem.rpc.nodes.node.error_cnt += 1 - # self.steem.rpc.next() + self.hive.rpc.nodes.node.error_cnt += 1 + # self.hive.rpc.next() checked_results = [] for b in results: @@ -483,7 +483,7 @@ class Blockchain(object): while len(missing_block_num) > 0: for blocknum in missing_block_num: try: - block = Block(blocknum, only_ops=only_ops, only_virtual_ops=only_virtual_ops, steem_instance=self.steem) + block = Block(blocknum, only_ops=only_ops, only_virtual_ops=only_virtual_ops, hive_instance=self.hive) checked_results.append(block) result_block_nums.append(int(block.block_num)) except Exception as e: @@ -499,13 +499,13 @@ class Blockchain(object): if latest_block <= head_block: for blocknum in range(latest_block + 1, head_block + 1): if blocknum not in result_block_nums: - block = Block(blocknum, only_ops=only_ops, only_virtual_ops=only_virtual_ops, steem_instance=self.steem) + block = Block(blocknum, only_ops=only_ops, only_virtual_ops=only_virtual_ops, hive_instance=self.hive) result_block_nums.append(blocknum) yield block elif max_batch_size is not None and (head_block - start) >= max_batch_size and not head_block_reached: - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) latest_block = start - 1 batches = max_batch_size for blocknumblock in range(start, head_block + 1, batches): @@ -514,31 +514,31 @@ class Blockchain(object): batches = head_block - blocknumblock + 1 for blocknum in range(blocknumblock, blocknumblock + batches - 1): if only_virtual_ops: - if self.steem.rpc.get_use_appbase(): - # self.steem.rpc.get_ops_in_block({"block_num": blocknum, 'only_virtual': only_virtual_ops}, api="account_history", add_to_queue=True) - self.steem.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=True) + if self.hive.rpc.get_use_appbase(): + # self.hive.rpc.get_ops_in_block({"block_num": blocknum, 'only_virtual': only_virtual_ops}, api="account_history", add_to_queue=True) + self.hive.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=True) else: - self.steem.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=True) + self.hive.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=True) else: - if self.steem.rpc.get_use_appbase(): - self.steem.rpc.get_block({"block_num": blocknum}, api="block", add_to_queue=True) + if self.hive.rpc.get_use_appbase(): + self.hive.rpc.get_block({"block_num": blocknum}, api="block", add_to_queue=True) else: - self.steem.rpc.get_block(blocknum, add_to_queue=True) + self.hive.rpc.get_block(blocknum, add_to_queue=True) latest_block = blocknum if batches >= 1: latest_block += 1 if latest_block <= head_block: if only_virtual_ops: - if self.steem.rpc.get_use_appbase(): - # self.steem.rpc.get_ops_in_block({"block_num": blocknum, 'only_virtual': only_virtual_ops}, api="account_history", add_to_queue=False) - block_batch = self.steem.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=False) + if self.hive.rpc.get_use_appbase(): + # self.hive.rpc.get_ops_in_block({"block_num": blocknum, 'only_virtual': only_virtual_ops}, api="account_history", add_to_queue=False) + block_batch = self.hive.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=False) else: - block_batch = self.steem.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=False) + block_batch = self.hive.rpc.get_ops_in_block(blocknum, only_virtual_ops, add_to_queue=False) else: - if self.steem.rpc.get_use_appbase(): - block_batch = self.steem.rpc.get_block({"block_num": latest_block}, api="block", add_to_queue=False) + if self.hive.rpc.get_use_appbase(): + block_batch = self.hive.rpc.get_block({"block_num": latest_block}, api="block", add_to_queue=False) else: - block_batch = self.steem.rpc.get_block(latest_block, add_to_queue=False) + block_batch = self.hive.rpc.get_block(latest_block, add_to_queue=False) if not bool(block_batch): raise BatchedCallsNotSupported() blocknum = latest_block - len(block_batch) + 1 @@ -547,12 +547,12 @@ class Blockchain(object): for block in block_batch: if not bool(block): continue - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): if only_virtual_ops: block = block["ops"] else: block = block["block"] - block = Block(block, only_ops=only_ops, only_virtual_ops=only_virtual_ops, steem_instance=self.steem) + block = Block(block, only_ops=only_ops, only_virtual_ops=only_virtual_ops, hive_instance=self.hive) block["id"] = block.block_num block.identifier = block.block_num yield block @@ -610,7 +610,7 @@ class Blockchain(object): block = None while (block is None or block.block_num is None or int(block.block_num) != block_number) and (block_number_check_cnt < 0 or cnt < block_number_check_cnt): try: - block = Block(block_number, only_ops=only_ops, only_virtual_ops=only_virtual_ops, steem_instance=self.steem) + block = Block(block_number, only_ops=only_ops, only_virtual_ops=only_virtual_ops, hive_instance=self.hive) cnt += 1 except BlockDoesNotExistsException: block = None @@ -694,8 +694,8 @@ class Blockchain(object): 'type': 'transfer', 'from': 'johngreenfield', 'to': 'thundercurator', - 'amount': '0.080 SBD', - 'memo': 'https://steemit.com/lofi/@johngreenfield/lofi-joji-yeah-right', + 'amount': '0.080 HBD', + 'memo': 'https://hiveit.com/lofi/@johngreenfield/lofi-joji-yeah-right', '_id': '6d4c5f2d4d8ef1918acaee4a8dce34f9da384786', 'timestamp': datetime.datetime(2018, 5, 9, 11, 23, 6, tzinfo=<UTC>), 'block_num': 22277588, 'trx_num': 35, 'trx_id': 'cf11b2ac8493c71063ec121b2e8517ab1e0e6bea' @@ -712,8 +712,8 @@ class Blockchain(object): 'transfer', { 'from': 'johngreenfield', 'to': 'thundercurator', - 'amount': '0.080 SBD', - 'memo': 'https://steemit.com/lofi/@johngreenfield/lofi-joji-yeah-right' + 'amount': '0.080 HBD', + 'memo': 'https://hiveit.com/lofi/@johngreenfield/lofi-joji-yeah-right' } ], 'timestamp': datetime.datetime(2018, 5, 9, 11, 23, 6, tzinfo=<UTC>) @@ -830,18 +830,18 @@ class Blockchain(object): :param int steps: Obtain ``steps`` ret with a single call from RPC """ cnt = 1 - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - if self.steem.rpc.get_use_appbase() and start == "": + if self.hive.rpc.get_use_appbase() and start == "": lastname = None else: lastname = start - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) while True: - if self.steem.rpc.get_use_appbase(): - ret = self.steem.rpc.list_accounts({'start': lastname, 'limit': steps, 'order': 'by_name'}, api="database")["accounts"] + if self.hive.rpc.get_use_appbase(): + ret = self.hive.rpc.list_accounts({'start': lastname, 'limit': steps, 'order': 'by_name'}, api="database")["accounts"] else: - ret = self.steem.rpc.lookup_accounts(lastname, steps) + ret = self.hive.rpc.lookup_accounts(lastname, steps) for account in ret: if isinstance(account, dict): account_name = account["name"] @@ -860,11 +860,11 @@ class Blockchain(object): def get_account_count(self): """ Returns the number of accounts""" - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - ret = self.steem.rpc.get_account_count(api="condenser") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + ret = self.hive.rpc.get_account_count(api="condenser") else: - ret = self.steem.rpc.get_account_count() + ret = self.hive.rpc.get_account_count() return ret def get_account_reputations(self, start='', stop='', steps=1e3, limit=-1, **kwargs): @@ -875,18 +875,18 @@ class Blockchain(object): :param int steps: Obtain ``steps`` ret with a single call from RPC """ cnt = 1 - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - if self.steem.rpc.get_use_appbase() and start == "": + if self.hive.rpc.get_use_appbase() and start == "": lastname = None else: lastname = start - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) while True: - if self.steem.rpc.get_use_appbase(): - ret = self.steem.rpc.get_account_reputations({'account_lower_bound': lastname, 'limit': steps}, api="follow")["reputations"] + if self.hive.rpc.get_use_appbase(): + ret = self.hive.rpc.get_account_reputations({'account_lower_bound': lastname, 'limit': steps}, api="follow")["reputations"] else: - ret = self.steem.rpc.get_account_reputations(lastname, steps, api="follow") + ret = self.hive.rpc.get_account_reputations(lastname, steps, api="follow") for account in ret: if isinstance(account, dict): account_name = account["account"] @@ -920,15 +920,15 @@ class Blockchain(object): True """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - account = self.steem.rpc.list_accounts({'start': name, 'limit': limit, 'order': 'by_name'}, api="database") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + account = self.hive.rpc.list_accounts({'start': name, 'limit': limit, 'order': 'by_name'}, api="database") if bool(account): return account["accounts"] else: - return self.steem.rpc.lookup_accounts(name, limit) + return self.hive.rpc.lookup_accounts(name, limit) def find_rc_accounts(self, name): """ Returns the RC parameters of one or more accounts. @@ -946,15 +946,15 @@ class Blockchain(object): True """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) if isinstance(name, list): - account = self.steem.rpc.find_rc_accounts({'accounts': name}, api="rc") + account = self.hive.rpc.find_rc_accounts({'accounts': name}, api="rc") if bool(account): return account["rc_accounts"] else: - account = self.steem.rpc.find_rc_accounts({'accounts': [name]}, api="rc") + account = self.hive.rpc.find_rc_accounts({'accounts': [name]}, api="rc") if bool(account): return account["rc_accounts"][0] @@ -982,10 +982,10 @@ class Blockchain(object): >>> ret = blockchain.list_change_recovery_account_requests(limit=1) """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - requests = self.steem.rpc.list_change_recovery_account_requests( + self.hive.rpc.set_next_node_on_empty_reply(False) + requests = self.hive.rpc.list_change_recovery_account_requests( {'start': start, 'limit': limit, 'order': order}, api="database") if bool(requests): return requests['requests'] @@ -1007,12 +1007,12 @@ class Blockchain(object): >>> ret = blockchain.find_change_recovery_account_requests('bott') """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) if isinstance(accounts, str): accounts = [accounts] - requests = self.steem.rpc.find_change_recovery_account_requests( + requests = self.hive.rpc.find_change_recovery_account_requests( {'accounts': accounts}, api="database") if bool(requests): return requests['requests'] diff --git a/beem/blockchainobject.py b/beem/blockchainobject.py index d58e1c104240965ae2ab2afff6a1cd4f42275cca..ec1a8efd98fa0f736957e40ae8865134ca8e3136 100644 --- a/beem/blockchainobject.py +++ b/beem/blockchainobject.py @@ -6,7 +6,7 @@ from __future__ import unicode_literals from builtins import str from future.utils import python_2_unicode_compatible from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from datetime import datetime, timedelta import json import threading @@ -104,11 +104,11 @@ class BlockchainObject(dict): lazy=False, use_cache=True, id_item=None, - steem_instance=None, + hive_instance=None, *args, **kwargs ): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() self.cached = False self.identifier = None diff --git a/beem/cli.py b/beem/cli.py index 49cb386faeb25b4d874e2dbeaf1936c842a5cebd..f2167b66ae14e592e3b0067357d6e3d101772f13 100644 --- a/beem/cli.py +++ b/beem/cli.py @@ -18,17 +18,17 @@ import logging import click import yaml import re -from beem.instance import set_shared_steem_instance, shared_steem_instance +from beem.instance import set_shared_hive_instance, shared_hive_instance from beem.amount import Amount from beem.price import Price from beem.account import Account -from beem.steem import Steem +from beem.hive import Hive from beem.comment import Comment from beem.market import Market from beem.block import Block from beem.profile import Profile from beem.wallet import Wallet -from beem.steemconnect import SteemConnect +from beem.hiveconnect import HiveConnect from beem.asset import Asset from beem.witness import Witness, WitnessesRankedByVote, WitnessesVotedByAccount from beem.blockchain import Blockchain @@ -86,8 +86,8 @@ def prompt_callback(ctx, param, value): def asset_callback(ctx, param, value): - if value not in ["STEEM", "SBD"]: - print("Please STEEM or SBD as asset!") + if value not in ["HIVE", "HBD"]: + print("Please HIVE or HBD as asset!") ctx.abort() else: return value @@ -138,7 +138,7 @@ def unlock_wallet(stm, password=None): def node_answer_time(node): try: - stm_local = Steem(node=node, num_retries=2, num_retries_call=2, timeout=10) + stm_local = Hive(node=node, num_retries=2, num_retries_call=2, timeout=10) start = timer() stm_local.get_config(use_stored_data=False) stop = timer() @@ -153,7 +153,7 @@ def node_answer_time(node): @click.group(chain=True) @click.option( - '--node', '-n', default="", help="URL for public Steem API (e.g. https://api.steemit.com)") + '--node', '-n', default="", help="URL for public Hive API (e.g. https://api.hiveit.com)") @click.option( '--offline', '-o', is_flag=True, default=False, help="Prevent connecting to network") @click.option( @@ -163,16 +163,16 @@ def node_answer_time(node): @click.option( '--unsigned', '-x', is_flag=True, default=False, help="Nothing will be signed") @click.option( - '--create-link', '-l', is_flag=True, default=False, help="Creates steemconnect links from all broadcast operations") + '--create-link', '-l', is_flag=True, default=False, help="Creates hiveconnect links from all broadcast operations") @click.option( - '--steemconnect', '-s', is_flag=True, default=False, help="Uses a steemconnect token to broadcast (only broadcast operation with posting permission)") + '--hiveconnect', '-s', is_flag=True, default=False, help="Uses a hiveconnect token to broadcast (only broadcast operation with posting permission)") @click.option( '--expires', '-e', default=30, help='Delay in seconds until transactions are supposed to expire(defaults to 60)') @click.option( '--verbose', '-v', default=3, help='Verbosity') @click.version_option(version=__version__) -def cli(node, offline, no_broadcast, no_wallet, unsigned, create_link, steemconnect, expires, verbose): +def cli(node, offline, no_broadcast, no_wallet, unsigned, create_link, hiveconnect, expires, verbose): # Logging log = logging.getLogger(__name__) @@ -186,28 +186,28 @@ def cli(node, offline, no_broadcast, no_wallet, unsigned, create_link, steemconn ch.setFormatter(formatter) log.addHandler(ch) if create_link: - sc2 = SteemConnect() + sc2 = HiveConnect() no_broadcast = True unsigned = True else: sc2 = None debug = verbose > 0 - stm = Steem( + stm = Hive( node=node, nobroadcast=no_broadcast, offline=offline, nowallet=no_wallet, unsigned=unsigned, - use_sc2=steemconnect, + use_sc2=hiveconnect, expiration=expires, - steemconnect=sc2, + hiveconnect=sc2, debug=debug, num_retries=10, num_retries_call=3, timeout=15, autoconnect=False ) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) pass @@ -225,7 +225,7 @@ def set(key, value): Set the default vote weight to 50 %: set default_vote_weight 50 """ - stm = shared_steem_instance() + stm = shared_hive_instance() if key == "default_account": if stm.rpc is not None: stm.rpc.rpcconnect() @@ -266,7 +266,7 @@ def set(key, value): def nextnode(results): """ Uses the next node in list """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() stm.move_current_node_to_front() @@ -294,7 +294,7 @@ def nextnode(results): if not offline: t.add_row(["Version", stm.get_blockchain_version()]) else: - t.add_row(["Version", "steempy is in offline mode..."]) + t.add_row(["Version", "hivepy is in offline mode..."]) print(t) @@ -314,7 +314,7 @@ def nextnode(results): def pingnode(raw, sort, remove, threading): """ Returns the answer time in milliseconds """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() nodes = stm.get_default_nodes() @@ -374,7 +374,7 @@ def pingnode(raw, sort, remove, threading): def currentnode(version, url): """ Sets the currently working node at the first place in the list """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() offline = stm.offline @@ -398,7 +398,7 @@ def currentnode(version, url): if not offline: t.add_row(["Version", stm.get_blockchain_version()]) else: - t.add_row(["Version", "steempy is in offline mode..."]) + t.add_row(["Version", "hivepy is in offline mode..."]) print(t) @@ -424,13 +424,13 @@ def currentnode(version, url): def updatenodes(show, test, only_https, only_wss, only_appbase, only_non_appbase): """ Update the nodelist from @fullnodeupdate """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() t = PrettyTable(["node", "Version", "score"]) t.align = "l" nodelist = NodeList() - nodelist.update_nodes(steem_instance=stm) + nodelist.update_nodes(hive_instance=stm) nodes = nodelist.get_nodes(exclude_limited=False, normal=not only_appbase, appbase=not only_non_appbase, wss=not only_https, https=not only_wss) if show or test: sorted_nodes = sorted(nodelist, key=lambda node: node["score"], reverse=True) @@ -447,7 +447,7 @@ def updatenodes(show, test, only_https, only_wss, only_appbase, only_non_appbase def config(): """ Shows local configuration """ - stm = shared_steem_instance() + stm = shared_hive_instance() t = PrettyTable(["Key", "Value"]) t.align = "l" for key in stm.config: @@ -469,7 +469,7 @@ def config(): def createwallet(wipe): """ Create new wallet with a new password """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if stm.wallet.created() and not wipe: @@ -492,7 +492,7 @@ def createwallet(wipe): elif password_storage == "environment": print("The new wallet password can be stored in the UNLOCK environment variable to skip password prompt!") stm.wallet.create(password) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) @cli.command() @@ -500,7 +500,7 @@ def createwallet(wipe): def walletinfo(test_unlock): """ Show info about wallet """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() t = PrettyTable(["Key", "Value"]) @@ -535,7 +535,7 @@ def walletinfo(test_unlock): def parsewif(unsafe_import_key): """ Parse a WIF private key without importing """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if unsafe_import_key: @@ -544,7 +544,7 @@ def parsewif(unsafe_import_key): pubkey = PrivateKey(key, prefix=stm.prefix).pubkey print(pubkey) account = stm.wallet.getAccountFromPublicKey(str(pubkey)) - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) key_type = stm.wallet.getKeyType(account, str(pubkey)) print("Account: %s - %s" % (account["name"], key_type)) except Exception as e: @@ -558,7 +558,7 @@ def parsewif(unsafe_import_key): pubkey = PrivateKey(wifkey, prefix=stm.prefix).pubkey print(pubkey) account = stm.wallet.getAccountFromPublicKey(str(pubkey)) - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) key_type = stm.wallet.getKeyType(account, str(pubkey)) print("Account: %s - %s" % (account["name"], key_type)) except Exception as e: @@ -575,7 +575,7 @@ def addkey(unsafe_import_key): When no [OPTION] is given, a password prompt for unlocking the wallet and a prompt for entering the private key are shown. """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): @@ -583,7 +583,7 @@ def addkey(unsafe_import_key): if not unsafe_import_key: unsafe_import_key = click.prompt("Enter private key", confirmation_prompt=False, hide_input=True) stm.wallet.addPrivateKey(unsafe_import_key) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) @cli.command() @@ -598,13 +598,13 @@ def delkey(confirm, pub): PUB is the public key from the private key which will be deleted from the wallet """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): return stm.wallet.removePrivateKeyFromPublicKey(pub) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) @cli.command() @@ -637,7 +637,7 @@ def addtoken(name, unsafe_import_token): When no [OPTION] is given, a password prompt for unlocking the wallet and a prompt for entering the private key are shown. """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): @@ -645,7 +645,7 @@ def addtoken(name, unsafe_import_token): if not unsafe_import_token: unsafe_import_token = click.prompt("Enter private token", confirmation_prompt=False, hide_input=True) stm.wallet.addToken(name, unsafe_import_token) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) @cli.command() @@ -660,20 +660,20 @@ def deltoken(confirm, name): name is the public name from the private token which will be deleted from the wallet """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): return stm.wallet.removeTokenFromPublicName(name) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) @cli.command() def listkeys(): """ Show stored keys """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() t = PrettyTable(["Available Key"]) @@ -687,12 +687,12 @@ def listkeys(): def listtoken(): """ Show stored token """ - stm = shared_steem_instance() + stm = shared_hive_instance() t = PrettyTable(["name", "scope", "status"]) t.align = "l" if not unlock_wallet(stm): return - sc2 = SteemConnect(steem_instance=stm) + sc2 = HiveConnect(hive_instance=stm) for name in stm.wallet.getPublicNames(): ret = sc2.me(username=name) if "error" in ret: @@ -705,7 +705,7 @@ def listtoken(): @cli.command() def listaccounts(): """Show stored accounts""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() t = PrettyTable(["Name", "Type", "Available Key"]) @@ -727,7 +727,7 @@ def upvote(post, account, weight): POST is @author/permlink """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not weight: @@ -744,10 +744,10 @@ def upvote(post, account, weight): if not unlock_wallet(stm): return try: - post = Comment(post, steem_instance=stm) + post = Comment(post, hive_instance=stm) tx = post.upvote(weight, voter=account) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) except exceptions.VotingInvalidOnArchivedPost: print("Post/Comment is older than 7 days! Did not upvote.") tx = {} @@ -762,7 +762,7 @@ def delete(post, account): POST is @author/permlink """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() @@ -771,10 +771,10 @@ def delete(post, account): if not unlock_wallet(stm): return try: - post = Comment(post, steem_instance=stm) + post = Comment(post, hive_instance=stm) tx = post.delete(account=account) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) except exceptions.VotingInvalidOnArchivedPost: print("Could not delete post.") tx = {} @@ -791,7 +791,7 @@ def downvote(post, account, weight): POST is @author/permlink """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() @@ -806,10 +806,10 @@ def downvote(post, account, weight): if not unlock_wallet(stm): return try: - post = Comment(post, steem_instance=stm) + post = Comment(post, hive_instance=stm) tx = post.downvote(weight, voter=account) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) except exceptions.VotingInvalidOnArchivedPost: print("Post/Comment is older than 7 days! Did not downvote.") tx = {} @@ -824,8 +824,8 @@ def downvote(post, account, weight): @click.argument('memo', nargs=1, required=False) @click.option('--account', '-a', help='Transfer from this account') def transfer(to, amount, asset, memo, account): - """Transfer SBD/STEEM""" - stm = shared_steem_instance() + """Transfer HBD/HIVE""" + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -834,10 +834,10 @@ def transfer(to, amount, asset, memo, account): memo = '' if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.transfer(to, amount, asset, memo) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -847,22 +847,22 @@ def transfer(to, amount, asset, memo, account): @click.option('--account', '-a', help='Powerup from this account') @click.option('--to', help='Powerup this account', default=None) def powerup(amount, account, to): - """Power up (vest STEEM as STEEM POWER)""" - stm = shared_steem_instance() + """Power up (vest HIVE as HIVE POWER)""" + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) try: amount = float(amount) except: amount = str(amount) tx = acc.transfer_to_vesting(amount, to=to) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -871,25 +871,25 @@ def powerup(amount, account, to): @click.argument('amount', nargs=1) @click.option('--account', '-a', help='Powerup from this account') def powerdown(amount, account): - """Power down (start withdrawing VESTS from Steem POWER) + """Power down (start withdrawing VESTS from Hive POWER) amount is in VESTS """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) try: amount = float(amount) except: amount = str(amount) tx = acc.withdraw_vesting(amount) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -901,26 +901,26 @@ def powerdown(amount, account): def delegate(amount, to_account, account): """Delegate (start delegating VESTS to another account) - amount is in VESTS / Steem + amount is in VESTS / Hive """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) try: amount = float(amount) except: - amount = Amount(str(amount), steem_instance=stm) - if amount.symbol == stm.steem_symbol: - amount = stm.sp_to_vests(float(amount)) + amount = Amount(str(amount), hive_instance=stm) + if amount.symbol == stm.hive_symbol: + amount = stm.hp_to_vests(float(amount)) tx = acc.delegate_vesting_shares(to_account, amount) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -930,20 +930,20 @@ def delegate(amount, to_account, account): @click.option('--percentage', default=100, help='The percent of the withdraw to go to the "to" account') @click.option('--account', '-a', help='Powerup from this account') @click.option('--auto_vest', help='Set to true if the from account should receive the VESTS as' - 'VESTS, or false if it should receive them as STEEM.', is_flag=True) + 'VESTS, or false if it should receive them as HIVE.', is_flag=True) def powerdownroute(to, percentage, account, auto_vest): """Setup a powerdown route""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.set_withdraw_vesting_route(to, percentage, auto_vest=auto_vest) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -952,22 +952,22 @@ def powerdownroute(to, percentage, account, auto_vest): @click.argument('amount', nargs=1) @click.option('--account', '-a', help='Powerup from this account') def convert(amount, account): - """Convert STEEMDollars to Steem (takes a week to settle)""" - stm = shared_steem_instance() + """Convert HIVEDollars to Hive (takes a week to settle)""" + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) try: amount = float(amount) except: amount = str(amount) tx = acc.convert(amount) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -976,7 +976,7 @@ def convert(amount, account): def changewalletpassphrase(): """ Change wallet password """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): @@ -999,14 +999,14 @@ def changewalletpassphrase(): def power(account): """ Shows vote power and bandwidth """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if len(account) == 0: if "default_account" in stm.config: account = [stm.config["default_account"]] for name in account: - a = Account(name, steem_instance=stm) + a = Account(name, hive_instance=stm) print("\n@%s" % a.name) a.print_info(use_table=True) @@ -1016,16 +1016,16 @@ def power(account): def balance(account): """ Shows balance """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if len(account) == 0: if "default_account" in stm.config: account = [stm.config["default_account"]] for name in account: - a = Account(name, steem_instance=stm) + a = Account(name, hive_instance=stm) print("\n@%s" % a.name) - t = PrettyTable(["Account", "STEEM", "SBD", "VESTS"]) + t = PrettyTable(["Account", "HIVE", "HBD", "VESTS"]) t.align = "r" t.add_row([ 'Available', @@ -1059,7 +1059,7 @@ def balance(account): def interest(account): """ Get information about interest payment """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -1072,14 +1072,14 @@ def interest(account): ]) t.align = "r" for a in account: - a = Account(a, steem_instance=stm) + a = Account(a, hive_instance=stm) i = a.interest() t.add_row([ a["name"], i["last_payment"], "in %s" % (i["next_payment_duration"]), "%.1f%%" % i["interest_rate"], - "%.3f %s" % (i["interest"], "SBD"), + "%.3f %s" % (i["interest"], "HBD"), ]) print(t) @@ -1089,14 +1089,14 @@ def interest(account): def follower(account): """ Get information about followers """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: if "default_account" in stm.config: account = [stm.config["default_account"]] for a in account: - a = Account(a, steem_instance=stm) + a = Account(a, hive_instance=stm) print("\nFollowers statistics for @%s (please wait...)" % a.name) followers = a.get_followers(False) followers.print_summarize_table(tag_type="Followers") @@ -1107,14 +1107,14 @@ def follower(account): def following(account): """ Get information about following """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: if "default_account" in stm.config: account = [stm.config["default_account"]] for a in account: - a = Account(a, steem_instance=stm) + a = Account(a, hive_instance=stm) print("\nFollowing statistics for @%s (please wait...)" % a.name) following = a.get_following(False) following.print_summarize_table(tag_type="Following") @@ -1125,14 +1125,14 @@ def following(account): def muter(account): """ Get information about muter """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: if "default_account" in stm.config: account = [stm.config["default_account"]] for a in account: - a = Account(a, steem_instance=stm) + a = Account(a, hive_instance=stm) print("\nMuters statistics for @%s (please wait...)" % a.name) muters = a.get_muters(False) muters.print_summarize_table(tag_type="Muters") @@ -1143,14 +1143,14 @@ def muter(account): def muting(account): """ Get information about muting """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: if "default_account" in stm.config: account = [stm.config["default_account"]] for a in account: - a = Account(a, steem_instance=stm) + a = Account(a, hive_instance=stm) print("\nMuting statistics for @%s (please wait...)" % a.name) muting = a.get_mutings(False) muting.print_summarize_table(tag_type="Muting") @@ -1161,13 +1161,13 @@ def muting(account): def permissions(account): """ Show permissions of an account """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: if "default_account" in stm.config: account = stm.config["default_account"] - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) t = PrettyTable(["Permission", "Threshold", "Key/Account"], hrules=0) t.align = "r" for permission in ["owner", "active", "posting"]: @@ -1199,7 +1199,7 @@ def allow(foreign_account, permission, account, weight, threshold): When not given, password will be asked, from which a public key is derived. This derived key will then interact with your account. """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -1209,7 +1209,7 @@ def allow(foreign_account, permission, account, weight, threshold): if permission not in ["posting", "active", "owner"]: print("Wrong permission, please use: posting, active or owner!") return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) if not foreign_account: from beemgraphenebase.account import PasswordKey pwd = click.prompt("Password for Key Derivation", confirmation_prompt=True, hide_input=True) @@ -1217,8 +1217,8 @@ def allow(foreign_account, permission, account, weight, threshold): if threshold is not None: threshold = int(threshold) tx = acc.allow(foreign_account, weight=weight, permission=permission, threshold=threshold) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1231,7 +1231,7 @@ def allow(foreign_account, permission, account, weight, threshold): 'by signatures to be able to interact') def disallow(foreign_account, permission, account, threshold): """Remove allowance an account/key to interact with your account""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -1243,14 +1243,14 @@ def disallow(foreign_account, permission, account, threshold): return if threshold is not None: threshold = int(threshold) - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) if not foreign_account: from beemgraphenebase.account import PasswordKey pwd = click.prompt("Password for Key Derivation", confirmation_prompt=True) foreign_account = [format(PasswordKey(account, pwd, permission).get_public(), stm.prefix)] tx = acc.disallow(foreign_account, permission=permission, threshold=threshold) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1258,24 +1258,24 @@ def disallow(foreign_account, permission, account, threshold): @cli.command() @click.argument('creator', nargs=1, required=True) @click.option('--fee', help='When fee is 0 (default) a subsidized account is claimed and can be created later with create_claimed_account', default=0.0) -@click.option('--number', '-n', help='Number of subsidized accounts to be claimed (default = 1), when fee = 0 STEEM', default=1) +@click.option('--number', '-n', help='Number of subsidized accounts to be claimed (default = 1), when fee = 0 HIVE', default=1) def claimaccount(creator, fee, number): """Claim account for claimed account creation.""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not creator: creator = stm.config["default_account"] if not unlock_wallet(stm): return - creator = Account(creator, steem_instance=stm) - fee = Amount("%.3f %s" % (float(fee), stm.steem_symbol), steem_instance=stm) + creator = Account(creator, hive_instance=stm) + fee = Amount("%.3f %s" % (float(fee), stm.hive_symbol), hive_instance=stm) tx = None - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: tx = stm.claim_account(creator, fee=fee) - tx = stm.steemconnect.url_from_tx(tx) + tx = stm.hiveconnect.url_from_tx(tx) elif float(fee) == 0: - rc = RC(steem_instance=stm) + rc = RC(hive_instance=stm) current_costs = rc.claim_account(tx_size=200) current_mana = creator.get_rc_manabar()["current_mana"] last_mana = current_mana @@ -1313,14 +1313,14 @@ def claimaccount(creator, fee, number): @click.option('--create-claimed-account', '-c', help='Instead of paying the account creation fee a subsidized account is created.', is_flag=True, default=False) def newaccount(accountname, account, owner, active, memo, posting, create_claimed_account): """Create a new account""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) if owner is None or active is None or memo is None or posting is None: password = click.prompt("Keys were not given - Passphrase is used to create keys\n New Account Passphrase", confirmation_prompt=True, hide_input=True) if not password: @@ -1335,8 +1335,8 @@ def newaccount(accountname, account, owner, active, memo, posting, create_claime tx = stm.create_claimed_account(accountname, creator=acc, owner_key=owner, active_key=active, memo_key=memo, posting_key=posting) else: tx = stm.create_account(accountname, creator=acc, owner_key=owner, active_key=active, memo_key=memo, posting_key=posting) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1348,7 +1348,7 @@ def newaccount(accountname, account, owner, active, memo, posting, create_claime @click.option('--pair', '-p', help='"Key=Value" pairs', multiple=True) def setprofile(variable, value, account, pair): """Set a variable in an account\'s profile""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() keys = [] @@ -1368,13 +1368,13 @@ def setprofile(variable, value, account, pair): account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) json_metadata = Profile(acc["json_metadata"] if acc["json_metadata"] else {}) json_metadata.update(profile) tx = acc.update_account_profile(json_metadata) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1384,7 +1384,7 @@ def setprofile(variable, value, account, pair): @click.option('--account', '-a', help='delprofile as this user') def delprofile(variable, account): """Delete a variable in an account\'s profile""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() @@ -1392,15 +1392,15 @@ def delprofile(variable, account): account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) json_metadata = Profile(acc["json_metadata"]) for var in variable: json_metadata.remove(var) tx = acc.update_account_profile(json_metadata) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1411,12 +1411,12 @@ def delprofile(variable, account): def importaccount(account, roles): """Import an account using a passphrase""" from beemgraphenebase.account import PasswordKey - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): return - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) imported = False password = click.prompt("Account Passphrase", confirmation_prompt=False, hide_input=True) if not password: @@ -1469,14 +1469,14 @@ def importaccount(account, roles): @click.option('--key', help='The new memo key') def updatememokey(account, key): """Update an account\'s memo key""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) if not key: from beemgraphenebase.account import PasswordKey pwd = click.prompt("Password for Memo Key Derivation", confirmation_prompt=True, hide_input=True) @@ -1486,8 +1486,8 @@ def updatememokey(account, key): if not stm.nobroadcast: stm.wallet.addPrivateKey(memo_privkey) tx = acc.update_memo_key(key) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1497,10 +1497,10 @@ def updatememokey(account, key): @click.argument('beneficiaries', nargs=-1) def beneficiaries(authorperm, beneficiaries): """Set beneficaries""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - c = Comment(authorperm, steem_instance=stm) + c = Comment(authorperm, hive_instance=stm) account = c["author"] if not account: @@ -1511,7 +1511,7 @@ def beneficiaries(authorperm, beneficiaries): options = {"author": c["author"], "permlink": c["permlink"], "max_accepted_payout": c["max_accepted_payout"], - "percent_steem_dollars": c["percent_steem_dollars"], + "percent_hive_dollars": c["percent_hive_dollars"], "allow_votes": c["allow_votes"], "allow_curation_rewards": c["allow_curation_rewards"]} @@ -1519,10 +1519,10 @@ def beneficiaries(authorperm, beneficiaries): beneficiaries = beneficiaries[0].split(",") beneficiaries_list_sorted = derive_beneficiaries(beneficiaries) for b in beneficiaries_list_sorted: - Account(b["account"], steem_instance=stm) + Account(b["account"], hive_instance=stm) tx = stm.comment_options(options, authorperm, beneficiaries_list_sorted, account=account) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1532,14 +1532,14 @@ def beneficiaries(authorperm, beneficiaries): @click.option('--account', '-a', help='Account name') @click.option('--image-name', '-n', help='Image name') def uploadimage(image, account, image_name): - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - iu = ImageUploader(steem_instance=stm) + iu = ImageUploader(hive_instance=stm) tx = iu.upload(image, account, image_name) if image_name is None: print("" % tx["url"]) @@ -1556,12 +1556,12 @@ def uploadimage(image, account, image_name): @click.option('--reply_identifier', help=' Identifier of the parent post/comment, when set a comment is broadcasted') @click.option('--community', help=' Name of the community (optional)') @click.option('--beneficiaries', '-b', help='Post beneficiaries (komma separated, e.g. a:10%,b:20%)') -@click.option('--percent-steem-dollars', '-b', help='50% SBD /50% SP is 10000 (default), 100% SP is 0') -@click.option('--max-accepted-payout', '-b', help='Default is 1000000.000 [SBD]') +@click.option('--percent-hive-dollars', '-b', help='50% HBD /50% HP is 10000 (default), 100% HP is 0') +@click.option('--max-accepted-payout', '-b', help='Default is 1000000.000 [HBD]') @click.option('--no-parse-body', help='Disable parsing of links, tags and images', is_flag=True, default=False) -def post(body, account, title, permlink, tags, reply_identifier, community, beneficiaries, percent_steem_dollars, max_accepted_payout, no_parse_body): +def post(body, account, title, permlink, tags, reply_identifier, community, beneficiaries, percent_hive_dollars, max_accepted_payout, no_parse_body): """broadcasts a post/comment""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() @@ -1583,10 +1583,10 @@ def post(body, account, title, permlink, tags, reply_identifier, community, bene parameter["beneficiaries"] = beneficiaries if reply_identifier is not None: parameter["reply_identifier"] = reply_identifier - if percent_steem_dollars is not None: - parameter["percent_steem_dollars"] = percent_steem_dollars - elif "percent-steem-dollars" in parameter: - parameter["percent_steem_dollars"] = parameter["percent-steem-dollars"] + if percent_hive_dollars is not None: + parameter["percent_hive_dollars"] = percent_hive_dollars + elif "percent-hive-dollars" in parameter: + parameter["percent_hive_dollars"] = parameter["percent-hive-dollars"] if max_accepted_payout is not None: parameter["max_accepted_payout"] = max_accepted_payout elif "max-accepted-payout" in parameter: @@ -1614,30 +1614,30 @@ def post(body, account, title, permlink, tags, reply_identifier, community, bene parse_body = not no_parse_body max_accepted_payout = None - percent_steem_dollars = None - if "percent_steem_dollars" in parameter: - percent_steem_dollars = parameter["percent_steem_dollars"] + percent_hive_dollars = None + if "percent_hive_dollars" in parameter: + percent_hive_dollars = parameter["percent_hive_dollars"] max_accepted_payout = None if "max_accepted_payout" in parameter: max_accepted_payout = parameter["max_accepted_payout"] comment_options = None - if max_accepted_payout is not None or percent_steem_dollars is not None: + if max_accepted_payout is not None or percent_hive_dollars is not None: comment_options = {} if max_accepted_payout is not None: - if stm.sbd_symbol not in max_accepted_payout: - max_accepted_payout = str(Amount(float(max_accepted_payout), stm.sbd_symbol, steem_instance=stm)) + if stm.hbd_symbol not in max_accepted_payout: + max_accepted_payout = str(Amount(float(max_accepted_payout), stm.hbd_symbol, hive_instance=stm)) comment_options["max_accepted_payout"] = max_accepted_payout - if percent_steem_dollars is not None: - comment_options["percent_steem_dollars"] = percent_steem_dollars + if percent_hive_dollars is not None: + comment_options["percent_hive_dollars"] = percent_hive_dollars beneficiaries = None if "beneficiaries" in parameter: beneficiaries = derive_beneficiaries(parameter["beneficiaries"]) for b in beneficiaries: - Account(b["account"], steem_instance=stm) + Account(b["account"], hive_instance=stm) tx = stm.post(title, body, author=author, permlink=permlink, reply_identifier=reply_identifier, community=community, tags=tags, comment_options=comment_options, beneficiaries=beneficiaries, parse_body=parse_body) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1649,7 +1649,7 @@ def post(body, account, title, permlink, tags, reply_identifier, community, bene @click.option('--title', '-t', help='Title of the post') def reply(authorperm, body, account, title): """replies to a comment""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() @@ -1661,8 +1661,8 @@ def reply(authorperm, body, account, title): if title is None: title = "" tx = stm.post(title, body, json_metadata=None, author=account, reply_identifier=authorperm) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1672,17 +1672,17 @@ def reply(authorperm, body, account, title): @click.option('--account', '-a', help='Your account') def approvewitness(witness, account): """Approve a witnesses""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.approvewitness(witness, approve=True) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1692,17 +1692,17 @@ def approvewitness(witness, account): @click.option('--account', '-a', help='Your account') def disapprovewitness(witness, account): """Disapprove a witnesses""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.disapprovewitness(witness) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -1712,7 +1712,7 @@ def disapprovewitness(witness, account): @click.option('--outfile', '-o', help='Load transaction from file. If "-", read from stdin (defaults to "-")') def sign(file, outfile): """Sign a provided transaction with available and required keys""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): @@ -1741,7 +1741,7 @@ def sign(file, outfile): @click.option('--file', help='Load transaction from file. If "-", read from stdin (defaults to "-")') def broadcast(file): """broadcast a signed transaction""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if file and file != "-": @@ -1761,21 +1761,21 @@ def broadcast(file): @cli.command() -@click.option('--sbd-to-steem', '-i', help='Show ticker in SBD/STEEM', is_flag=True, default=False) -def ticker(sbd_to_steem): +@click.option('--hbd-to-hive', '-i', help='Show ticker in HBD/HIVE', is_flag=True, default=False) +def ticker(hbd_to_hive): """ Show ticker """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() t = PrettyTable(["Key", "Value"]) t.align = "l" - market = Market(steem_instance=stm) + market = Market(hive_instance=stm) ticker = market.ticker() for key in ticker: - if key in ["highest_bid", "latest", "lowest_ask"] and sbd_to_steem: - t.add_row([key, str(ticker[key].as_base("SBD"))]) - elif key in "percent_change" and sbd_to_steem: + if key in ["highest_bid", "latest", "lowest_ask"] and hbd_to_hive: + t.add_row([key, str(ticker[key].as_base("HBD"))]) + elif key in "percent_change" and hbd_to_hive: t.add_row([key, "%.2f %%" % -ticker[key]]) elif key in "percent_change": t.add_row([key, "%.2f %%" % ticker[key]]) @@ -1791,24 +1791,24 @@ def ticker(sbd_to_steem): def pricehistory(width, height, ascii): """ Show price history """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() feed_history = stm.get_feed_history() - current_base = Amount(feed_history['current_median_history']["base"], steem_instance=stm) - current_quote = Amount(feed_history['current_median_history']["quote"], steem_instance=stm) + current_base = Amount(feed_history['current_median_history']["base"], hive_instance=stm) + current_quote = Amount(feed_history['current_median_history']["quote"], hive_instance=stm) price_history = feed_history["price_history"] price = [] for h in price_history: - base = Amount(h["base"], steem_instance=stm) - quote = Amount(h["quote"], steem_instance=stm) + base = Amount(h["base"], hive_instance=stm) + quote = Amount(h["quote"], hive_instance=stm) price.append(float(base.amount / quote.amount)) if ascii: charset = u'ascii' else: charset = u'utf8' chart = AsciiChart(height=height, width=width, offset=4, placeholder='{:6.2f} $', charset=charset) - print("\n Price history for STEEM (median price %4.2f $)\n" % (float(current_base) / float(current_quote))) + print("\n Price history for HIVE (median price %4.2f $)\n" % (float(current_base) / float(current_quote))) chart.adapt_on_series(price) chart.new_chart() @@ -1821,28 +1821,28 @@ def pricehistory(width, height, ascii): @cli.command() @click.option('--days', '-d', help='Limit the days of shown trade history (default 7)', default=7.) @click.option('--hours', help='Limit the intervall history intervall (default 2 hours)', default=2.0) -@click.option('--sbd-to-steem', '-i', help='Show ticker in SBD/STEEM', is_flag=True, default=False) +@click.option('--hbd-to-hive', '-i', help='Show ticker in HBD/HIVE', is_flag=True, default=False) @click.option('--limit', '-l', help='Limit number of trades which is fetched at each intervall point (default 100)', default=100) @click.option('--width', '-w', help='Plot width (default 75)', default=75) @click.option('--height', '-h', help='Plot height (default 15)', default=15) @click.option('--ascii', help='Use only ascii symbols', is_flag=True, default=False) -def tradehistory(days, hours, sbd_to_steem, limit, width, height, ascii): +def tradehistory(days, hours, hbd_to_hive, limit, width, height, ascii): """ Show price history """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - m = Market(steem_instance=stm) + m = Market(hive_instance=stm) utc = pytz.timezone('UTC') stop = utc.localize(datetime.utcnow()) start = stop - timedelta(days=days) intervall = timedelta(hours=hours) trades = m.trade_history(start=start, stop=stop, limit=limit, intervall=intervall) price = [] - if sbd_to_steem: - base_str = stm.steem_symbol + if hbd_to_hive: + base_str = stm.hive_symbol else: - base_str = stm.sbd_symbol + base_str = stm.hbd_symbol for trade in trades: base = 0 quote = 0 @@ -1855,10 +1855,10 @@ def tradehistory(days, hours, sbd_to_steem, limit, width, height, ascii): else: charset = u'utf8' chart = AsciiChart(height=height, width=width, offset=3, placeholder='{:6.2f} ', charset=charset) - if sbd_to_steem: - print("\n Trade history %s - %s \n\nSBD/STEEM" % (formatTimeString(start), formatTimeString(stop))) + if hbd_to_hive: + print("\n Trade history %s - %s \n\nHBD/HIVE" % (formatTimeString(start), formatTimeString(stop))) else: - print("\n Trade history %s - %s \n\nSTEEM/SBD" % (formatTimeString(start), formatTimeString(stop))) + print("\n Trade history %s - %s \n\nHIVE/HBD" % (formatTimeString(start), formatTimeString(stop))) chart.adapt_on_series(price) chart.new_chart() chart.add_axis() @@ -1875,13 +1875,13 @@ def tradehistory(days, hours, sbd_to_steem, limit, width, height, ascii): @click.option('--ascii', help='Use only ascii symbols', is_flag=True, default=False) def orderbook(chart, limit, show_date, width, height, ascii): """Obtain orderbook of the internal market""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - market = Market(steem_instance=stm) + market = Market(hive_instance=stm) orderbook = market.orderbook(limit=limit, raw_data=False) if not show_date: - header = ["Asks Sum SBD", "Sell Orders", "Bids Sum SBD", "Buy Orders"] + header = ["Asks Sum HBD", "Sell Orders", "Bids Sum HBD", "Buy Orders"] else: header = ["Asks date", "Sell Orders", "Bids date", "Buy Orders"] t = PrettyTable(header, hrules=0) @@ -1897,13 +1897,13 @@ def orderbook(chart, limit, show_date, width, height, ascii): n = 0 for order in orderbook["asks"]: asks.append(order) - sum_asks += float(order.as_base("SBD")["base"]) + sum_asks += float(order.as_base("HBD")["base"]) sumsum_asks.append(sum_asks) if n < len(asks): n = len(asks) for order in orderbook["bids"]: bids.append(order) - sum_bids += float(order.as_base("SBD")["base"]) + sum_bids += float(order.as_base("HBD")["base"]) sumsum_bids.append(sum_bids) if n < len(bids): n = len(bids) @@ -1969,40 +1969,40 @@ def orderbook(chart, limit, show_date, width, height, ascii): @click.option('--account', '-a', help='Buy with this account (defaults to "default_account")') @click.option('--orderid', help='Set an orderid') def buy(amount, asset, price, account, orderid): - """Buy STEEM or SBD from the internal market + """Buy HIVE or HBD from the internal market - Limit buy price denoted in (SBD per STEEM) + Limit buy price denoted in (HBD per HIVE) """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if account is None: account = stm.config["default_account"] - if asset == stm.sbd_symbol: - market = Market(base=Asset(stm.steem_symbol), quote=Asset(stm.sbd_symbol), steem_instance=stm) + if asset == stm.hbd_symbol: + market = Market(base=Asset(stm.hive_symbol), quote=Asset(stm.hbd_symbol), hive_instance=stm) else: - market = Market(base=Asset(stm.sbd_symbol), quote=Asset(stm.steem_symbol), steem_instance=stm) + market = Market(base=Asset(stm.hbd_symbol), quote=Asset(stm.hive_symbol), hive_instance=stm) if price is None: orderbook = market.orderbook(limit=1, raw_data=False) - if asset == stm.steem_symbol and len(orderbook["bids"]) > 0: - p = Price(orderbook["bids"][0]["base"], orderbook["bids"][0]["quote"], steem_instance=stm).invert() + if asset == stm.hive_symbol and len(orderbook["bids"]) > 0: + p = Price(orderbook["bids"][0]["base"], orderbook["bids"][0]["quote"], hive_instance=stm).invert() p_show = p elif len(orderbook["asks"]) > 0: - p = Price(orderbook["asks"][0]["base"], orderbook["asks"][0]["quote"], steem_instance=stm).invert() + p = Price(orderbook["asks"][0]["base"], orderbook["asks"][0]["quote"], hive_instance=stm).invert() p_show = p price_ok = click.prompt("Is the following Price ok: %s [y/n]" % (str(p_show))) if price_ok not in ["y", "ye", "yes"]: return else: - p = Price(float(price), u"%s:%s" % (stm.sbd_symbol, stm.steem_symbol), steem_instance=stm) + p = Price(float(price), u"%s:%s" % (stm.hbd_symbol, stm.hive_symbol), hive_instance=stm) if not unlock_wallet(stm): return - a = Amount(float(amount), asset, steem_instance=stm) - acc = Account(account, steem_instance=stm) + a = Amount(float(amount), asset, hive_instance=stm) + acc = Account(account, hive_instance=stm) tx = market.buy(p, a, account=acc, orderid=orderid) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2014,39 +2014,39 @@ def buy(amount, asset, price, account, orderid): @click.option('--account', '-a', help='Sell with this account (defaults to "default_account")') @click.option('--orderid', help='Set an orderid') def sell(amount, asset, price, account, orderid): - """Sell STEEM or SBD from the internal market + """Sell HIVE or HBD from the internal market - Limit sell price denoted in (SBD per STEEM) + Limit sell price denoted in (HBD per HIVE) """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - if asset == stm.sbd_symbol: - market = Market(base=Asset(stm.steem_symbol), quote=Asset(stm.sbd_symbol), steem_instance=stm) + if asset == stm.hbd_symbol: + market = Market(base=Asset(stm.hive_symbol), quote=Asset(stm.hbd_symbol), hive_instance=stm) else: - market = Market(base=Asset(stm.sbd_symbol), quote=Asset(stm.steem_symbol), steem_instance=stm) + market = Market(base=Asset(stm.hbd_symbol), quote=Asset(stm.hive_symbol), hive_instance=stm) if not account: account = stm.config["default_account"] if not price: orderbook = market.orderbook(limit=1, raw_data=False) - if asset == stm.sbd_symbol and len(orderbook["bids"]) > 0: - p = Price(orderbook["bids"][0]["base"], orderbook["bids"][0]["quote"], steem_instance=stm).invert() + if asset == stm.hbd_symbol and len(orderbook["bids"]) > 0: + p = Price(orderbook["bids"][0]["base"], orderbook["bids"][0]["quote"], hive_instance=stm).invert() p_show = p else: - p = Price(orderbook["asks"][0]["base"], orderbook["asks"][0]["quote"], steem_instance=stm).invert() + p = Price(orderbook["asks"][0]["base"], orderbook["asks"][0]["quote"], hive_instance=stm).invert() p_show = p price_ok = click.prompt("Is the following Price ok: %s [y/n]" % (str(p_show))) if price_ok not in ["y", "ye", "yes"]: return else: - p = Price(float(price), u"%s:%s" % (stm.sbd_symbol, stm.steem_symbol), steem_instance=stm) + p = Price(float(price), u"%s:%s" % (stm.hbd_symbol, stm.hive_symbol), hive_instance=stm) if not unlock_wallet(stm): return - a = Amount(float(amount), asset, steem_instance=stm) - acc = Account(account, steem_instance=stm) + a = Amount(float(amount), asset, hive_instance=stm) + acc = Account(account, hive_instance=stm) tx = market.sell(p, a, account=acc, orderid=orderid) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2056,18 +2056,18 @@ def sell(amount, asset, price, account, orderid): @click.option('--account', '-a', help='Sell with this account (defaults to "default_account")') def cancel(orderid, account): """Cancel order in the internal market""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - market = Market(steem_instance=stm) + market = Market(hive_instance=stm) if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = market.cancel(orderid, account=acc) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2076,13 +2076,13 @@ def cancel(orderid, account): @click.argument('account', nargs=1, required=False) def openorders(account): """Show open orders""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - market = Market(steem_instance=stm) + market = Market(hive_instance=stm) if not account: account = stm.config["default_account"] - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) openorders = market.accountopenorders(account=acc) t = PrettyTable(["Orderid", "Created", "Order", "Account"], hrules=0) t.align = "r" @@ -2096,21 +2096,21 @@ def openorders(account): @cli.command() @click.argument('identifier', nargs=1) -@click.option('--account', '-a', help='Resteem as this user') -def resteem(identifier, account): - """Resteem an existing post""" - stm = shared_steem_instance() +@click.option('--account', '-a', help='Rehive as this user') +def rehive(identifier, account): + """Rehive an existing post""" + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) - post = Comment(identifier, steem_instance=stm) - tx = post.resteem(account=acc) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + acc = Account(account, hive_instance=stm) + post = Comment(identifier, hive_instance=stm) + tx = post.rehive(account=acc) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2121,7 +2121,7 @@ def resteem(identifier, account): @click.option('--what', help='Follow these objects (defaults to ["blog"])', default=["blog"]) def follow(follow, account, what): """Follow another account""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -2130,10 +2130,10 @@ def follow(follow, account, what): what = [what] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.follow(follow, what=what) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2144,7 +2144,7 @@ def follow(follow, account, what): @click.option('--what', help='Mute these objects (defaults to ["ignore"])', default=["ignore"]) def mute(mute, account, what): """Mute another account""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -2153,10 +2153,10 @@ def mute(mute, account, what): what = [what] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.follow(mute, what=what) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2166,17 +2166,17 @@ def mute(mute, account, what): @click.option('--account', '-a', help='UnFollow/UnMute from this account') def unfollow(unfollow, account): """Unfollow/Unmute another account""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) tx = acc.unfollow(unfollow) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2185,30 +2185,30 @@ def unfollow(unfollow, account): @click.option('--witness', help='Witness name') @click.option('--maximum_block_size', help='Max block size') @click.option('--account_creation_fee', help='Account creation fee') -@click.option('--sbd_interest_rate', help='SBD interest rate in percent') +@click.option('--hbd_interest_rate', help='HBD interest rate in percent') @click.option('--url', help='Witness URL') @click.option('--signing_key', help='Signing Key') -def witnessupdate(witness, maximum_block_size, account_creation_fee, sbd_interest_rate, url, signing_key): +def witnessupdate(witness, maximum_block_size, account_creation_fee, hbd_interest_rate, url, signing_key): """Change witness properties""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not witness: witness = stm.config["default_account"] if not unlock_wallet(stm): return - witness = Witness(witness, steem_instance=stm) + witness = Witness(witness, hive_instance=stm) props = witness["props"] if account_creation_fee is not None: props["account_creation_fee"] = str( - Amount("%.3f %s" % (float(account_creation_fee), stm.steem_symbol), steem_instance=stm)) + Amount("%.3f %s" % (float(account_creation_fee), stm.hive_symbol), hive_instance=stm)) if maximum_block_size is not None: props["maximum_block_size"] = int(maximum_block_size) - if sbd_interest_rate is not None: - props["sbd_interest_rate"] = int(float(sbd_interest_rate) * 100) + if hbd_interest_rate is not None: + props["hbd_interest_rate"] = int(float(hbd_interest_rate) * 100) tx = witness.update(signing_key or witness["signing_key"], url or witness["url"], props) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2217,21 +2217,21 @@ def witnessupdate(witness, maximum_block_size, account_creation_fee, sbd_interes @click.argument('witness', nargs=1) def witnessdisable(witness): """Disable a witness""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not witness: witness = stm.config["default_account"] if not unlock_wallet(stm): return - witness = Witness(witness, steem_instance=stm) + witness = Witness(witness, hive_instance=stm) if not witness.is_active: print("Cannot disable a disabled witness!") return props = witness["props"] tx = witness.update('STM1111111111111111111111111111111114T1Anm', witness["url"], props) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2241,18 +2241,18 @@ def witnessdisable(witness): @click.argument('signing_key', nargs=1) def witnessenable(witness, signing_key): """Enable a witness""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not witness: witness = stm.config["default_account"] if not unlock_wallet(stm): return - witness = Witness(witness, steem_instance=stm) + witness = Witness(witness, hive_instance=stm) props = witness["props"] tx = witness.update(signing_key, witness["url"], props) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2262,27 +2262,27 @@ def witnessenable(witness, signing_key): @click.argument('pub_signing_key', nargs=1) @click.option('--maximum_block_size', help='Max block size', default=65536) @click.option('--account_creation_fee', help='Account creation fee', default=0.1) -@click.option('--sbd_interest_rate', help='SBD interest rate in percent', default=0.0) +@click.option('--hbd_interest_rate', help='HBD interest rate in percent', default=0.0) @click.option('--url', help='Witness URL', default="") -def witnesscreate(witness, pub_signing_key, maximum_block_size, account_creation_fee, sbd_interest_rate, url): +def witnesscreate(witness, pub_signing_key, maximum_block_size, account_creation_fee, hbd_interest_rate, url): """Create a witness""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): return props = { "account_creation_fee": - Amount("%.3f %s" % (float(account_creation_fee), stm.steem_symbol), steem_instance=stm), + Amount("%.3f %s" % (float(account_creation_fee), stm.hive_symbol), hive_instance=stm), "maximum_block_size": int(maximum_block_size), - "sbd_interest_rate": - int(sbd_interest_rate * 100) + "hbd_interest_rate": + int(hbd_interest_rate * 100) } tx = stm.witness_update(pub_signing_key, url, props, account=witness) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2294,35 +2294,35 @@ def witnesscreate(witness, pub_signing_key, maximum_block_size, account_creation @click.option('--account_subsidy_budget', help='Account subisidy per block') @click.option('--account_subsidy_decay', help='Per block decay of the account subsidy pool') @click.option('--maximum_block_size', help='Max block size') -@click.option('--sbd_interest_rate', help='SBD interest rate in percent') +@click.option('--hbd_interest_rate', help='HBD interest rate in percent') @click.option('--new_signing_key', help='Set new signing key') @click.option('--url', help='Witness URL') -def witnessproperties(witness, wif, account_creation_fee, account_subsidy_budget, account_subsidy_decay, maximum_block_size, sbd_interest_rate, new_signing_key, url): +def witnessproperties(witness, wif, account_creation_fee, account_subsidy_budget, account_subsidy_decay, maximum_block_size, hbd_interest_rate, new_signing_key, url): """Update witness properties of witness WITNESS with the witness signing key WIF""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() # if not unlock_wallet(stm): # return props = {} if account_creation_fee is not None: - props["account_creation_fee"] = Amount("%.3f %s" % (float(account_creation_fee), stm.steem_symbol), steem_instance=stm) + props["account_creation_fee"] = Amount("%.3f %s" % (float(account_creation_fee), stm.hive_symbol), hive_instance=stm) if account_subsidy_budget is not None: props["account_subsidy_budget"] = int(account_subsidy_budget) if account_subsidy_decay is not None: props["account_subsidy_decay"] = int(account_subsidy_decay) if maximum_block_size is not None: props["maximum_block_size"] = int(maximum_block_size) - if sbd_interest_rate is not None: - props["sbd_interest_rate"] = int(sbd_interest_rate * 100) + if hbd_interest_rate is not None: + props["hbd_interest_rate"] = int(hbd_interest_rate * 100) if new_signing_key is not None: props["new_signing_key"] = new_signing_key if url is not None: props["url"] = url tx = stm.witness_set_properties(wif, witness, props) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2331,54 +2331,54 @@ def witnessproperties(witness, wif, account_creation_fee, account_subsidy_budget @click.argument('witness', nargs=1) @click.argument('wif', nargs=1, required=False) @click.option('--base', '-b', help='Set base manually, when not set the base is automatically calculated.') -@click.option('--quote', '-q', help='Steem quote manually, when not set the base is automatically calculated.') +@click.option('--quote', '-q', help='Hive quote manually, when not set the base is automatically calculated.') @click.option('--support-peg', help='Supports peg adjusting the quote, is overwritten by --set-quote!', is_flag=True, default=False) def witnessfeed(witness, wif, base, quote, support_peg): """Publish price feed for a witness""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if wif is None: if not unlock_wallet(stm): return - witness = Witness(witness, steem_instance=stm) - market = Market(steem_instance=stm) - old_base = witness["sbd_exchange_rate"]["base"] - old_quote = witness["sbd_exchange_rate"]["quote"] - last_published_price = Price(witness["sbd_exchange_rate"], steem_instance=stm) - steem_usd = None + witness = Witness(witness, hive_instance=stm) + market = Market(hive_instance=stm) + old_base = witness["hbd_exchange_rate"]["base"] + old_quote = witness["hbd_exchange_rate"]["quote"] + last_published_price = Price(witness["hbd_exchange_rate"], hive_instance=stm) + hive_usd = None print("Old price %.3f (base: %s, quote %s)" % (float(last_published_price), old_base, old_quote)) if quote is None and not support_peg: - quote = Amount("1.000 %s" % stm.steem_symbol, steem_instance=stm) + quote = Amount("1.000 %s" % stm.hive_symbol, hive_instance=stm) elif quote is None: latest_price = market.ticker()['latest'] - if steem_usd is None: - steem_usd = market.steem_usd_implied() - sbd_usd = float(latest_price.as_base(stm.sbd_symbol)) * steem_usd - quote = Amount(1. / sbd_usd, stm.steem_symbol, steem_instance=stm) + if hive_usd is None: + hive_usd = market.hive_usd_implied() + hbd_usd = float(latest_price.as_base(stm.hbd_symbol)) * hive_usd + quote = Amount(1. / hbd_usd, stm.hive_symbol, hive_instance=stm) else: - if str(quote[-5:]).upper() == stm.steem_symbol: - quote = Amount(quote, steem_instance=stm) + if str(quote[-5:]).upper() == stm.hive_symbol: + quote = Amount(quote, hive_instance=stm) else: - quote = Amount(quote, stm.steem_symbol, steem_instance=stm) + quote = Amount(quote, stm.hive_symbol, hive_instance=stm) if base is None: - if steem_usd is None: - steem_usd = market.steem_usd_implied() - base = Amount(steem_usd, stm.sbd_symbol, steem_instance=stm) + if hive_usd is None: + hive_usd = market.hive_usd_implied() + base = Amount(hive_usd, stm.hbd_symbol, hive_instance=stm) else: - if str(quote[-3:]).upper() == stm.sbd_symbol: - base = Amount(base, steem_instance=stm) + if str(quote[-3:]).upper() == stm.hbd_symbol: + base = Amount(base, hive_instance=stm) else: - base = Amount(base, stm.sbd_symbol, steem_instance=stm) - new_price = Price(base=base, quote=quote, steem_instance=stm) + base = Amount(base, stm.hbd_symbol, hive_instance=stm) + new_price = Price(base=base, quote=quote, hive_instance=stm) print("New price %.3f (base: %s, quote %s)" % (float(new_price), base, quote)) if wif is not None: - props = {"sbd_exchange_rate": new_price} + props = {"hbd_exchange_rate": new_price} tx = stm.witness_set_properties(wif, witness["owner"], props) else: tx = witness.feed_publish(base, quote=quote) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -2388,21 +2388,21 @@ def witnessfeed(witness, wif, base, quote, support_peg): def witness(witness): """ List witness information """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - witness = Witness(witness, steem_instance=stm) + witness = Witness(witness, hive_instance=stm) witness_json = witness.json() witness_schedule = stm.get_witness_schedule() config = stm.get_config() if "VIRTUAL_SCHEDULE_LAP_LENGTH2" in config: lap_length = int(config["VIRTUAL_SCHEDULE_LAP_LENGTH2"]) else: - lap_length = int(config["STEEM_VIRTUAL_SCHEDULE_LAP_LENGTH2"]) + lap_length = int(config["HIVE_VIRTUAL_SCHEDULE_LAP_LENGTH2"]) rank = 0 active_rank = 0 found = False - witnesses = WitnessesRankedByVote(limit=250, steem_instance=stm) + witnesses = WitnessesRankedByVote(limit=250, hive_instance=stm) vote_sum = witnesses.get_votes_sum() for w in witnesses: rank += 1 @@ -2416,7 +2416,7 @@ def witness(witness): t.align = "l" for key in sorted(witness_json): value = witness_json[key] - if key in ["props", "sbd_exchange_rate"]: + if key in ["props", "hbd_exchange_rate"]: value = json.dumps(value, indent=4) t.add_row([key, value]) if found: @@ -2450,21 +2450,21 @@ def witness(witness): def witnesses(account, limit): """ List witnesses """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if account: - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) account_name = account["name"] if account["proxy"] != "": account_name = account["proxy"] account_type = "Proxy" else: account_type = "Account" - witnesses = WitnessesVotedByAccount(account_name, steem_instance=stm) + witnesses = WitnessesVotedByAccount(account_name, hive_instance=stm) print("%s: @%s (%d of 30)" % (account_type, account_name, len(witnesses))) else: - witnesses = WitnessesRankedByVote(limit=limit, steem_instance=stm) + witnesses = WitnessesRankedByVote(limit=limit, hive_instance=stm) witnesses.printAsTable() @@ -2478,7 +2478,7 @@ def witnesses(account, limit): def votes(account, direction, outgoing, incoming, days, export): """ List outgoing/incoming account votes """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: @@ -2490,14 +2490,14 @@ def votes(account, direction, outgoing, incoming, days, export): out_votes_str = "" in_votes_str = "" if direction == "out" or outgoing: - votes = AccountVotes(account, start=limit_time, steem_instance=stm) + votes = AccountVotes(account, start=limit_time, hive_instance=stm) out_votes_str = votes.printAsTable(start=limit_time, return_str=True) if direction == "in" or incoming: - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) votes_list = [] for v in account.history(start=limit_time, only_ops=["vote"]): votes_list.append(v) - votes = ActiveVotes(votes_list, steem_instance=stm) + votes = ActiveVotes(votes_list, hive_instance=stm) in_votes_str = votes.printAsTable(votee=account["name"], return_str=True) if export: with open(export, 'w') as w: @@ -2517,7 +2517,7 @@ def votes(account, direction, outgoing, incoming, days, export): @click.option('--max-vote', '-w', help='Show only votes lower than the given value') @click.option('--min-performance', '-x', help='Show only votes with performance higher than the given value') @click.option('--max-performance', '-y', help='Show only votes with performance lower than the given value') -@click.option('--payout', default=None, help="Show the curation for a potential payout in SBD as float") +@click.option('--payout', default=None, help="Show the curation for a potential payout in HBD as float") @click.option('--export', '-e', default=None, help="Export results to HTML-file") @click.option('--short', '-s', is_flag=True, default=False, help="Show only Curation without sum") @click.option('--length', '-l', help='Limits the permlink character length', default=None) @@ -2534,7 +2534,7 @@ def curation(authorperm, account, limit, min_vote, max_vote, min_performance, ma the fifth account vote in the given time duration (default is 7 days) """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if authorperm is None: @@ -2548,8 +2548,8 @@ def curation(authorperm, account, limit, min_vote, max_vote, min_performance, ma account = stm.config["default_account"] utc = pytz.timezone('UTC') limit_time = utc.localize(datetime.utcnow()) - timedelta(days=days) - votes = AccountVotes(account, start=limit_time, steem_instance=stm) - authorperm_list = [Comment(vote.authorperm, steem_instance=stm) for vote in votes] + votes = AccountVotes(account, start=limit_time, hive_instance=stm) + authorperm_list = [Comment(vote.authorperm, hive_instance=stm) for vote in votes] if authorperm.isdigit(): if len(authorperm_list) < int(authorperm): raise ValueError("Authorperm id must be lower than %d" % (len(authorperm_list) + 1)) @@ -2584,35 +2584,35 @@ def curation(authorperm, account, limit, min_vote, max_vote, min_performance, ma index = 0 for authorperm in authorperm_list: index += 1 - comment = Comment(authorperm, steem_instance=stm) + comment = Comment(authorperm, hive_instance=stm) if payout is not None and comment.is_pending(): payout = float(payout) elif payout is not None: payout = None - curation_rewards_SBD = comment.get_curation_rewards(pending_payout_SBD=True, pending_payout_value=payout) - curation_rewards_SP = comment.get_curation_rewards(pending_payout_SBD=False, pending_payout_value=payout) + curation_rewards_HBD = comment.get_curation_rewards(pending_payout_HBD=True, pending_payout_value=payout) + curation_rewards_SP = comment.get_curation_rewards(pending_payout_HBD=False, pending_payout_value=payout) rows = [] sum_curation = [0, 0, 0, 0] max_curation = [0, 0, 0, 0, 0, 0] highest_vote = [0, 0, 0, 0, 0, 0] for vote in comment["active_votes"]: - vote_SBD = stm.rshares_to_sbd(int(vote["rshares"])) - curation_SBD = curation_rewards_SBD["active_votes"][vote["voter"]] + vote_HBD = stm.rshares_to_hbd(int(vote["rshares"])) + curation_HBD = curation_rewards_HBD["active_votes"][vote["voter"]] curation_SP = curation_rewards_SP["active_votes"][vote["voter"]] - if vote_SBD > 0: - penalty = ((comment.get_curation_penalty(vote_time=vote["time"])) * vote_SBD) - performance = (float(curation_SBD) / vote_SBD * 100) + if vote_HBD > 0: + penalty = ((comment.get_curation_penalty(vote_time=vote["time"])) * vote_HBD) + performance = (float(curation_HBD) / vote_HBD * 100) else: performance = 0 penalty = 0 vote_befor_min = (((vote["time"]) - comment["created"]).total_seconds() / 60) - sum_curation[0] += vote_SBD + sum_curation[0] += vote_HBD sum_curation[1] += penalty sum_curation[2] += float(curation_SP) - sum_curation[3] += float(curation_SBD) + sum_curation[3] += float(curation_HBD) row = [vote["voter"], vote_befor_min, - vote_SBD, + vote_HBD, penalty, float(curation_SP), performance] @@ -2664,9 +2664,9 @@ def curation(authorperm, account, limit, min_vote, max_vote, min_performance, ma if not found_voter: found_voter = True t.add_row(new_row + voter + ["%.1f min" % row[1], - "%.3f SBD" % float(row[2]), - "%.3f SBD" % float(row[3]), - "%.3f SP" % (row[4]), + "%.3f HBD" % float(row[2]), + "%.3f HBD" % float(row[3]), + "%.3f HP" % (row[4]), "%.1f %%" % (row[5])]) if len(authorperm_list) == 1: new_row = new_row2 @@ -2680,21 +2680,21 @@ def curation(authorperm, account, limit, min_vote, max_vote, min_performance, ma sum_line[-1] = "High. vote" t.add_row(sum_line + ["%.1f min" % highest_vote[1], - "%.3f SBD" % float(highest_vote[2]), - "%.3f SBD" % float(highest_vote[3]), - "%.3f SP" % (highest_vote[4]), + "%.3f HBD" % float(highest_vote[2]), + "%.3f HBD" % float(highest_vote[3]), + "%.3f HP" % (highest_vote[4]), "%.1f %%" % (highest_vote[5])]) sum_line[-1] = "High. Cur." t.add_row(sum_line + ["%.1f min" % max_curation[1], - "%.3f SBD" % float(max_curation[2]), - "%.3f SBD" % float(max_curation[3]), - "%.3f SP" % (max_curation[4]), + "%.3f HBD" % float(max_curation[2]), + "%.3f HBD" % float(max_curation[3]), + "%.3f HP" % (max_curation[4]), "%.1f %%" % (max_curation[5])]) sum_line[-1] = "Sum" t.add_row(sum_line + ["-", - "%.3f SBD" % (sum_curation[0]), - "%.3f SBD" % (sum_curation[1]), - "%.3f SP" % (sum_curation[2]), + "%.3f HBD" % (sum_curation[0]), + "%.3f HBD" % (sum_curation[1]), + "%.3f HP" % (sum_curation[2]), "%.2f %%" % curation_sum_percentage]) if all_posts or export: t.add_row(new_row2 + voter2 + ["-", "-", "-", "-", "-"]) @@ -2723,7 +2723,7 @@ def curation(authorperm, account, limit, min_vote, max_vote, min_performance, ma def rewards(accounts, only_sum, post, comment, curation, length, author, permlink, title, days): """ Lists received rewards """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not accounts: @@ -2739,22 +2739,22 @@ def rewards(accounts, only_sum, post, comment, curation, length, author, permlin limit_time = now - timedelta(days=days) for account in accounts: sum_reward = [0, 0, 0, 0, 0] - account = Account(account, steem_instance=stm) - median_price = Price(stm.get_current_median_history(), steem_instance=stm) - m = Market(steem_instance=stm) + account = Account(account, hive_instance=stm) + median_price = Price(stm.get_current_median_history(), hive_instance=stm) + m = Market(hive_instance=stm) latest = m.ticker()["latest"] if author and permlink: - t = PrettyTable(["Author", "Permlink", "Payout", "SBD", "SP + STEEM", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Author", "Permlink", "Payout", "HBD", "HP + HIVE", "Liquid USD", "Invested USD"]) elif author and title: - t = PrettyTable(["Author", "Title", "Payout", "SBD", "SP + STEEM", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Author", "Title", "Payout", "HBD", "HP + HIVE", "Liquid USD", "Invested USD"]) elif author: - t = PrettyTable(["Author", "Payout", "SBD", "SP + STEEM", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Author", "Payout", "HBD", "HP + HIVE", "Liquid USD", "Invested USD"]) elif not author and permlink: - t = PrettyTable(["Permlink", "Payout", "SBD", "SP + STEEM", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Permlink", "Payout", "HBD", "HP + HIVE", "Liquid USD", "Invested USD"]) elif not author and title: - t = PrettyTable(["Title", "Payout", "SBD", "SP + STEEM", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Title", "Payout", "HBD", "HP + HIVE", "Liquid USD", "Invested USD"]) else: - t = PrettyTable(["Received", "SBD", "SP + STEEM", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Received", "HBD", "HP + HIVE", "Liquid USD", "Invested USD"]) t.align = "l" rows = [] start_op = account.estimate_virtual_op_num(limit_time) @@ -2769,7 +2769,7 @@ def rewards(accounts, only_sum, post, comment, curation, length, author, permlin if not post and not comment and v["type"] == "author_reward": continue if v["type"] == "author_reward": - c = Comment(v, steem_instance=stm) + c = Comment(v, hive_instance=stm) try: c.refresh() except exceptions.ContentDoesNotExistsException: @@ -2778,13 +2778,13 @@ def rewards(accounts, only_sum, post, comment, curation, length, author, permlin continue if not comment and c.is_comment(): continue - payout_SBD = Amount(v["sbd_payout"], steem_instance=stm) - payout_STEEM = Amount(v["steem_payout"], steem_instance=stm) - sum_reward[0] += float(payout_SBD) - sum_reward[1] += float(payout_STEEM) - payout_SP = stm.vests_to_sp(Amount(v["vesting_payout"], steem_instance=stm)) + payout_HBD = Amount(v["hbd_payout"], hive_instance=stm) + payout_HIVE = Amount(v["hive_payout"], hive_instance=stm) + sum_reward[0] += float(payout_HBD) + sum_reward[1] += float(payout_HIVE) + payout_SP = stm.vests_to_sp(Amount(v["vesting_payout"], hive_instance=stm)) sum_reward[2] += float(payout_SP) - liquid_USD = float(payout_SBD) / float(latest) * float(median_price) + float(payout_STEEM) * float(median_price) + liquid_USD = float(payout_HBD) / float(latest) * float(median_price) + float(payout_HIVE) * float(median_price) sum_reward[3] += liquid_USD invested_USD = float(payout_SP) * float(median_price) sum_reward[4] += invested_USD @@ -2798,20 +2798,20 @@ def rewards(accounts, only_sum, post, comment, curation, length, author, permlin rows.append([c["author"], permlink_row, ((now - formatTimeString(v["timestamp"])).total_seconds() / 60 / 60 / 24), - (payout_SBD), - (payout_STEEM), + (payout_HBD), + (payout_HIVE), (payout_SP), (liquid_USD), (invested_USD)]) elif v["type"] == "curation_reward": - reward = Amount(v["reward"], steem_instance=stm) + reward = Amount(v["reward"], hive_instance=stm) payout_SP = stm.vests_to_sp(reward) liquid_USD = 0 invested_USD = float(payout_SP) * float(median_price) sum_reward[2] += float(payout_SP) sum_reward[4] += invested_USD if title: - c = Comment(construct_authorperm(v["comment_author"], v["comment_permlink"]), steem_instance=stm) + c = Comment(construct_authorperm(v["comment_author"], v["comment_permlink"]), hive_instance=stm) permlink_row = c.title else: permlink_row = v["comment_permlink"] @@ -2866,23 +2866,23 @@ def rewards(accounts, only_sum, post, comment, curation, length, author, permlin t.add_row(["Sum", "-", "-", - "%.2f SBD" % (sum_reward[0]), - "%.2f SP" % (sum_reward[1] + sum_reward[2]), + "%.2f HBD" % (sum_reward[0]), + "%.2f HP" % (sum_reward[1] + sum_reward[2]), "%.2f $" % (sum_reward[3]), "%.2f $" % (sum_reward[4])]) elif not author and not (permlink or title): t.add_row(["", "", "", "", ""]) t.add_row(["Sum", - "%.2f SBD" % (sum_reward[0]), - "%.2f SP" % (sum_reward[1] + sum_reward[2]), + "%.2f HBD" % (sum_reward[0]), + "%.2f HP" % (sum_reward[1] + sum_reward[2]), "%.2f $" % (sum_reward[2]), "%.2f $" % (sum_reward[3])]) else: t.add_row(["", "", "", "", "", ""]) t.add_row(["Sum", "-", - "%.2f SBD" % (sum_reward[0]), - "%.2f SP" % (sum_reward[1] + sum_reward[2]), + "%.2f HBD" % (sum_reward[0]), + "%.2f HP" % (sum_reward[1] + sum_reward[2]), "%.2f $" % (sum_reward[3]), "%.2f $" % (sum_reward[4])]) message = "\nShowing " @@ -2919,7 +2919,7 @@ def rewards(accounts, only_sum, post, comment, curation, length, author, permlin def pending(accounts, only_sum, post, comment, curation, length, author, permlink, title, days): """ Lists pending rewards """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not accounts: @@ -2936,22 +2936,22 @@ def pending(accounts, only_sum, post, comment, curation, length, author, permlin limit_time = utc.localize(datetime.utcnow()) - timedelta(days=days) for account in accounts: sum_reward = [0, 0, 0, 0] - account = Account(account, steem_instance=stm) - median_price = Price(stm.get_current_median_history(), steem_instance=stm) - m = Market(steem_instance=stm) + account = Account(account, hive_instance=stm) + median_price = Price(stm.get_current_median_history(), hive_instance=stm) + m = Market(hive_instance=stm) latest = m.ticker()["latest"] if author and permlink: - t = PrettyTable(["Author", "Permlink", "Cashout", "SBD", "SP", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Author", "Permlink", "Cashout", "HBD", "HP", "Liquid USD", "Invested USD"]) elif author and title: - t = PrettyTable(["Author", "Title", "Cashout", "SBD", "SP", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Author", "Title", "Cashout", "HBD", "HP", "Liquid USD", "Invested USD"]) elif author: - t = PrettyTable(["Author", "Cashout", "SBD", "SP", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Author", "Cashout", "HBD", "HP", "Liquid USD", "Invested USD"]) elif not author and permlink: - t = PrettyTable(["Permlink", "Cashout", "SBD", "SP", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Permlink", "Cashout", "HBD", "HP", "Liquid USD", "Invested USD"]) elif not author and title: - t = PrettyTable(["Title", "Cashout", "SBD", "SP", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Title", "Cashout", "HBD", "HP", "Liquid USD", "Invested USD"]) else: - t = PrettyTable(["Cashout", "SBD", "SP", "Liquid USD", "Invested USD"]) + t = PrettyTable(["Cashout", "HBD", "HP", "Liquid USD", "Invested USD"]) t.align = "l" rows = [] c_list = {} @@ -2966,7 +2966,7 @@ def pending(accounts, only_sum, post, comment, curation, length, author, permlin except exceptions.ContentDoesNotExistsException: continue author_reward = v.get_author_rewards() - if float(author_reward["total_payout_SBD"]) < 0.001: + if float(author_reward["total_payout_HBD"]) < 0.001: continue if v.permlink in c_list: continue @@ -2979,11 +2979,11 @@ def pending(accounts, only_sum, post, comment, curation, length, author, permlin continue if v["author"] != account["name"]: continue - payout_SBD = author_reward["payout_SBD"] - sum_reward[0] += float(payout_SBD) + payout_HBD = author_reward["payout_HBD"] + sum_reward[0] += float(payout_HBD) payout_SP = author_reward["payout_SP"] sum_reward[1] += float(payout_SP) - liquid_USD = float(author_reward["payout_SBD"]) / float(latest) * float(median_price) + liquid_USD = float(author_reward["payout_HBD"]) / float(latest) * float(median_price) sum_reward[2] += liquid_USD invested_USD = float(author_reward["payout_SP"]) * float(median_price) sum_reward[3] += invested_USD @@ -2997,14 +2997,14 @@ def pending(accounts, only_sum, post, comment, curation, length, author, permlin rows.append([v["author"], permlink_row, ((v["created"] - limit_time).total_seconds() / 60 / 60 / 24), - (payout_SBD), + (payout_HBD), (payout_SP), (liquid_USD), (invested_USD)]) if curation: - votes = AccountVotes(account, start=limit_time, steem_instance=stm) + votes = AccountVotes(account, start=limit_time, hive_instance=stm) for vote in votes: - c = Comment(vote["authorperm"], steem_instance=stm) + c = Comment(vote["authorperm"], hive_instance=stm) rewards = c.get_curation_rewards() if not rewards["pending_rewards"]: continue @@ -3070,23 +3070,23 @@ def pending(accounts, only_sum, post, comment, curation, length, author, permlin t.add_row(["Sum", "-", "-", - "%.2f SBD" % (sum_reward[0]), - "%.2f SP" % (sum_reward[1]), + "%.2f HBD" % (sum_reward[0]), + "%.2f HP" % (sum_reward[1]), "%.2f $" % (sum_reward[2]), "%.2f $" % (sum_reward[3])]) elif not author and not (permlink or title): t.add_row(["", "", "", "", ""]) t.add_row(["Sum", - "%.2f SBD" % (sum_reward[0]), - "%.2f SP" % (sum_reward[1]), + "%.2f HBD" % (sum_reward[0]), + "%.2f HP" % (sum_reward[1]), "%.2f $" % (sum_reward[2]), "%.2f $" % (sum_reward[3])]) else: t.add_row(["", "", "", "", "", ""]) t.add_row(["Sum", "-", - "%.2f SBD" % (sum_reward[0]), - "%.2f SP" % (sum_reward[1]), + "%.2f HBD" % (sum_reward[0]), + "%.2f HP" % (sum_reward[1]), "%.2f $" % (sum_reward[2]), "%.2f $" % (sum_reward[3])]) message = "\nShowing pending " @@ -3111,23 +3111,23 @@ def pending(accounts, only_sum, post, comment, curation, length, author, permlin @cli.command() @click.argument('account', nargs=1, required=False) -@click.option('--reward_steem', help='Amount of STEEM you would like to claim', default=0) -@click.option('--reward_sbd', help='Amount of SBD you would like to claim', default=0) +@click.option('--reward_hive', help='Amount of HIVE you would like to claim', default=0) +@click.option('--reward_hbd', help='Amount of HBD you would like to claim', default=0) @click.option('--reward_vests', help='Amount of VESTS you would like to claim', default=0) -@click.option('--claim_all_steem', help='Claim all STEEM, overwrites reward_steem', is_flag=True) -@click.option('--claim_all_sbd', help='Claim all SBD, overwrites reward_sbd', is_flag=True) +@click.option('--claim_all_hive', help='Claim all HIVE, overwrites reward_hive', is_flag=True) +@click.option('--claim_all_hbd', help='Claim all HBD, overwrites reward_hbd', is_flag=True) @click.option('--claim_all_vests', help='Claim all VESTS, overwrites reward_vests', is_flag=True) -def claimreward(account, reward_steem, reward_sbd, reward_vests, claim_all_steem, claim_all_sbd, claim_all_vests): +def claimreward(account, reward_hive, reward_hbd, reward_vests, claim_all_hive, claim_all_hbd, claim_all_vests): """Claim reward balances By default, this will claim ``all`` outstanding balances. """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) r = acc.balances["rewards"] if len(r) == 3 and r[0].amount + r[1].amount + r[2].amount == 0: print("Nothing to claim.") @@ -3137,16 +3137,16 @@ def claimreward(account, reward_steem, reward_sbd, reward_vests, claim_all_steem return if not unlock_wallet(stm): return - if claim_all_steem: - reward_steem = r[0] - if claim_all_sbd: - reward_sbd = r[1] + if claim_all_hive: + reward_hive = r[0] + if claim_all_hbd: + reward_hbd = r[1] if claim_all_vests: reward_vests = r[2] - tx = acc.claim_reward_balance(reward_steem, reward_sbd, reward_vests) - if stm.unsigned and stm.nobroadcast and stm.steemconnect is not None: - tx = stm.steemconnect.url_from_tx(tx) + tx = acc.claim_reward_balance(reward_hive, reward_hbd, reward_vests) + if stm.unsigned and stm.nobroadcast and stm.hiveconnect is not None: + tx = stm.hiveconnect.url_from_tx(tx) tx = json.dumps(tx, indent=4) print(tx) @@ -3195,14 +3195,14 @@ def customjson(jsonid, json_data, account, active): value = float(value) field[key] = value data[d] = field - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not account: account = stm.config["default_account"] if not unlock_wallet(stm): return - acc = Account(account, steem_instance=stm) + acc = Account(account, hive_instance=stm) if active: tx = stm.custom_json(jsonid, data, required_auths=[account]) else: @@ -3217,16 +3217,16 @@ def customjson(jsonid, json_data, account, active): @click.option('--use-api', '-u', help='Uses the get_potential_signatures api call', is_flag=True, default=False) def verify(blocknumber, trx, use_api): """Returns the public signing keys for a block""" - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() - b = Blockchain(steem_instance=stm) + b = Blockchain(hive_instance=stm) i = 0 if not blocknumber: blocknumber = b.get_current_block_num() try: int(blocknumber) - block = Block(blocknumber, steem_instance=stm) + block = Block(blocknumber, hive_instance=stm) if trx is not None: i = int(trx) trxs = [block.json_transactions[int(trx)]] @@ -3235,7 +3235,7 @@ def verify(blocknumber, trx, use_api): except Exception: trxs = [b.get_transaction(blocknumber)] blocknumber = trxs[0]["block_num"] - wallet = Wallet(steem_instance=stm) + wallet = Wallet(hive_instance=stm) t = PrettyTable(["trx", "Signer key", "Account"]) t.align = "l" if not use_api: @@ -3253,7 +3253,7 @@ def verify(blocknumber, trx, use_api): for key in signed_tx.verify(chain=stm.chain_params, recover_parameter=True): public_keys.append(format(Base58(key, prefix=stm.prefix), stm.prefix)) else: - tx = TransactionBuilder(tx=trx, steem_instance=stm) + tx = TransactionBuilder(tx=trx, hive_instance=stm) public_keys = tx.get_potential_signatures() accounts = [] empty_public_keys = [] @@ -3288,7 +3288,7 @@ def info(objects): General information about the blockchain, a block, an account, a post/comment and a public key """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not objects: @@ -3296,12 +3296,12 @@ def info(objects): t.align = "l" info = stm.get_dynamic_global_properties() median_price = stm.get_current_median_history() - steem_per_mvest = stm.get_steem_per_mvest() + hive_per_mvest = stm.get_hive_per_mvest() chain_props = stm.get_chain_properties() - price = (Amount(median_price["base"], steem_instance=stm).amount / Amount(median_price["quote"], steem_instance=stm).amount) + price = (Amount(median_price["base"], hive_instance=stm).amount / Amount(median_price["quote"], hive_instance=stm).amount) for key in info: t.add_row([key, info[key]]) - t.add_row(["steem per mvest", steem_per_mvest]) + t.add_row(["hive per mvest", hive_per_mvest]) t.add_row(["internal price", price]) t.add_row(["account_creation_fee", chain_props["account_creation_fee"]]) print(t.get_string(sortby="Key")) @@ -3312,11 +3312,11 @@ def info(objects): if re.match("^[0-9-]*:[0-9-]", obj): obj, tran_nr = obj.split(":") if int(obj) < 1: - b = Blockchain(steem_instance=stm) + b = Blockchain(hive_instance=stm) block_number = b.get_current_block_num() + int(obj) - 1 else: block_number = obj - block = Block(block_number, steem_instance=stm) + block = Block(block_number, hive_instance=stm) if block: t = PrettyTable(["Key", "Value"]) t.align = "l" @@ -3348,7 +3348,7 @@ def info(objects): else: print("Block number %s unknown" % obj) elif re.match("^[a-zA-Z0-9\-\._]{2,16}$", obj): - account = Account(obj, steem_instance=stm) + account = Account(obj, hive_instance=stm) t = PrettyTable(["Key", "Value"]) t.align = "l" account_json = account.json() @@ -3369,13 +3369,13 @@ def info(objects): # witness available? try: - witness = Witness(obj, steem_instance=stm) + witness = Witness(obj, hive_instance=stm) witness_json = witness.json() t = PrettyTable(["Key", "Value"]) t.align = "l" for key in sorted(witness_json): value = witness_json[key] - if key in ["props", "sbd_exchange_rate"]: + if key in ["props", "hbd_exchange_rate"]: value = json.dumps(value, indent=4) t.add_row([key, value]) print(t) @@ -3385,7 +3385,7 @@ def info(objects): elif re.match("^" + stm.prefix + ".{48,55}$", obj): account = stm.wallet.getAccountFromPublicKey(obj) if account: - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) key_type = stm.wallet.getKeyType(account, obj) t = PrettyTable(["Account", "Key_type"]) t.align = "l" @@ -3395,7 +3395,7 @@ def info(objects): print("Public Key %s not known" % obj) # Post identifier elif re.match(".*@.{3,16}/.*$", obj): - post = Comment(obj, steem_instance=stm) + post = Comment(obj, hive_instance=stm) post_json = post.json() if post_json: t = PrettyTable(["Key", "Value"]) @@ -3426,7 +3426,7 @@ def userdata(account, signing_account): The request has to be signed by the requested account or an admin account. """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): @@ -3434,10 +3434,10 @@ def userdata(account, signing_account): if not account: if "default_account" in stm.config: account = stm.config["default_account"] - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) if signing_account is not None: - signing_account = Account(signing_account, steem_instance=stm) - c = Conveyor(steem_instance=stm) + signing_account = Account(signing_account, hive_instance=stm) + c = Conveyor(hive_instance=stm) user_data = c.get_user_data(account, signing_account=signing_account) t = PrettyTable(["Key", "Value"]) t.align = "l" @@ -3455,7 +3455,7 @@ def featureflags(account, signing_account): The request has to be signed by the requested account or an admin account. """ - stm = shared_steem_instance() + stm = shared_hive_instance() if stm.rpc is not None: stm.rpc.rpcconnect() if not unlock_wallet(stm): @@ -3463,10 +3463,10 @@ def featureflags(account, signing_account): if not account: if "default_account" in stm.config: account = stm.config["default_account"] - account = Account(account, steem_instance=stm) + account = Account(account, hive_instance=stm) if signing_account is not None: - signing_account = Account(signing_account, steem_instance=stm) - c = Conveyor(steem_instance=stm) + signing_account = Account(signing_account, hive_instance=stm) + c = Conveyor(hive_instance=stm) user_data = c.get_feature_flags(account, signing_account=signing_account) t = PrettyTable(["Key", "Value"]) t.align = "l" diff --git a/beem/comment.py b/beem/comment.py index ce1c7cd3b874ce3ad877432573130a23a2984c67..2c518723f0a7867ed9fc2b9d2a114ace71a5c178 100644 --- a/beem/comment.py +++ b/beem/comment.py @@ -10,7 +10,7 @@ import logging import pytz import math from datetime import datetime, date, time -from .instance import shared_steem_instance +from .instance import shared_hive_instance from .account import Account from .amount import Amount from .price import Price @@ -19,7 +19,7 @@ from .blockchainobject import BlockchainObject from .exceptions import ContentDoesNotExistsException, VotingInvalidOnArchivedPost from beembase import operations from beemgraphenebase.py23 import py23_bytes, bytes_types, integer_types, string_types, text_type -from beem.constants import STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF6, STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF20, STEEM_100_PERCENT, STEEM_1_PERCENT, STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF21 +from beem.constants import HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF6, HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF20, HIVE_100_PERCENT, HIVE_1_PERCENT, HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF21 log = logging.getLogger(__name__) @@ -29,16 +29,16 @@ class Comment(BlockchainObject): :param str authorperm: identifier to post/comment in the form of ``@author/permlink`` :param boolean use_tags_api: when set to False, list_comments from the database_api is used - :param Steem steem_instance: :class:`beem.steem.Steem` instance to use when accessing a RPC + :param Hive hive_instance: :class:`beem.hive.Hive` instance to use when accessing a RPC .. code-block:: python >>> from beem.comment import Comment >>> from beem.account import Account - >>> from beem import Steem - >>> stm = Steem() - >>> acc = Account("gtg", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> acc = Account("gtg", hive_instance=stm) >>> authorperm = acc.get_blog(limit=1)[0]["authorperm"] >>> c = Comment(authorperm) >>> postdate = c["created"] @@ -53,12 +53,12 @@ class Comment(BlockchainObject): use_tags_api=True, full=True, lazy=False, - steem_instance=None + hive_instance=None ): self.full = full self.lazy = lazy self.use_tags_api = use_tags_api - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if isinstance(authorperm, string_types) and authorperm != "": [author, permlink] = resolve_authorperm(authorperm) self["id"] = 0 @@ -73,7 +73,7 @@ class Comment(BlockchainObject): id_item="authorperm", lazy=lazy, full=full, - steem_instance=steem_instance + hive_instance=hive_instance ) def _parse_json_data(self, comment): @@ -85,7 +85,7 @@ class Comment(BlockchainObject): if p in comment and isinstance(comment.get(p), string_types): comment[p] = formatTimeString(comment.get(p, "1970-01-01T00:00:00")) # Parse Amounts - sbd_amounts = [ + hbd_amounts = [ "total_payout_value", "max_accepted_payout", "pending_payout_value", @@ -93,9 +93,9 @@ class Comment(BlockchainObject): "total_pending_payout_value", "promoted", ] - for p in sbd_amounts: + for p in hbd_amounts: if p in comment and isinstance(comment.get(p), (string_types, list, dict)): - comment[p] = Amount(comment.get(p, "0.000 %s" % (self.steem.sbd_symbol)), steem_instance=self.steem) + comment[p] = Amount(comment.get(p, "0.000 %s" % (self.hive.hbd_symbol)), hive_instance=self.hive) # turn json_metadata into python dict meta_str = comment.get("json_metadata", "{}") @@ -143,29 +143,29 @@ class Comment(BlockchainObject): def refresh(self): if self.identifier == "": return - if not self.steem.is_connected(): + if not self.hive.is_connected(): return [author, permlink] = resolve_authorperm(self.identifier) - self.steem.rpc.set_next_node_on_empty_reply(True) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(True) + if self.hive.rpc.get_use_appbase(): try: if self.use_tags_api: - content = self.steem.rpc.get_discussion({'author': author, 'permlink': permlink}, api="tags") + content = self.hive.rpc.get_discussion({'author': author, 'permlink': permlink}, api="tags") else: - content =self.steem.rpc.list_comments({"start": [author, permlink], "limit": 1, "order": "by_permlink"}, api="database") + content =self.hive.rpc.list_comments({"start": [author, permlink], "limit": 1, "order": "by_permlink"}, api="database") if content is not None and "comments" in content: content =content["comments"] if isinstance(content, list) and len(content) >0: content =content[0] except: - content = self.steem.rpc.get_content(author, permlink) + content = self.hive.rpc.get_content(author, permlink) else: - content = self.steem.rpc.get_content(author, permlink) + content = self.hive.rpc.get_content(author, permlink) if not content or not content['author'] or not content['permlink']: raise ContentDoesNotExistsException(self.identifier) content = self._parse_json_data(content) content["authorperm"] = construct_authorperm(content['author'], content['permlink']) - super(Comment, self).__init__(content, id_item="authorperm", lazy=self.lazy, full=self.full, steem_instance=self.steem) + super(Comment, self).__init__(content, id_item="authorperm", lazy=self.lazy, full=self.full, hive_instance=self.hive) def json(self): output = self.copy() @@ -188,7 +188,7 @@ class Comment(BlockchainObject): output[p] = formatTimeString(p_date) else: output[p] = p_date - sbd_amounts = [ + hbd_amounts = [ "total_payout_value", "max_accepted_payout", "pending_payout_value", @@ -196,7 +196,7 @@ class Comment(BlockchainObject): "total_pending_payout_value", "promoted", ] - for p in sbd_amounts: + for p in hbd_amounts: if p in output and isinstance(output[p], Amount): output[p] = output[p].json() parse_int = [ @@ -298,20 +298,20 @@ class Comment(BlockchainObject): @property def reward(self): - """ Return the estimated total SBD reward. + """ Return the estimated total HBD reward. """ - a_zero = Amount(0, self.steem.sbd_symbol, steem_instance=self.steem) - author = Amount(self.get("total_payout_value", a_zero), steem_instance=self.steem) - curator = Amount(self.get("curator_payout_value", a_zero), steem_instance=self.steem) - pending = Amount(self.get("pending_payout_value", a_zero), steem_instance=self.steem) + a_zero = Amount(0, self.hive.hbd_symbol, hive_instance=self.hive) + author = Amount(self.get("total_payout_value", a_zero), hive_instance=self.hive) + curator = Amount(self.get("curator_payout_value", a_zero), hive_instance=self.hive) + pending = Amount(self.get("pending_payout_value", a_zero), hive_instance=self.hive) return author + curator + pending def is_pending(self): """ Returns if the payout is pending (the post/comment is younger than 7 days) """ - a_zero = Amount(0, self.steem.sbd_symbol, steem_instance=self.steem) - total = Amount(self.get("total_payout_value", a_zero), steem_instance=self.steem) + a_zero = Amount(0, self.hive.hbd_symbol, hive_instance=self.hive) + total = Amount(self.get("total_payout_value", a_zero), hive_instance=self.hive) post_age_days = self.time_elapsed().total_seconds() / 60 / 60 / 24 return post_age_days < 7.0 and float(total) == 0 @@ -321,34 +321,34 @@ class Comment(BlockchainObject): utc = pytz.timezone('UTC') return utc.localize(datetime.utcnow()) - self['created'] - def curation_penalty_compensation_SBD(self): + def curation_penalty_compensation_HBD(self): """ Returns The required post payout amount after 15 minutes which will compentsate the curation penalty, if voting earlier than 15 minutes """ self.refresh() - if self.steem.hardfork >= 21: - reverse_auction_window_seconds = STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF21 - elif self.steem.hardfork >= 20: - reverse_auction_window_seconds = STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF20 + if self.hive.hardfork >= 21: + reverse_auction_window_seconds = HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF21 + elif self.hive.hardfork >= 20: + reverse_auction_window_seconds = HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF20 else: - reverse_auction_window_seconds = STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF6 + reverse_auction_window_seconds = HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF6 return self.reward * reverse_auction_window_seconds / ((self.time_elapsed()).total_seconds() / 60) ** 2 - def estimate_curation_SBD(self, vote_value_SBD, estimated_value_SBD=None): + def estimate_curation_HBD(self, vote_value_HBD, estimated_value_HBD=None): """ Estimates curation reward - :param float vote_value_SBD: The vote value in SBD for which the curation + :param float vote_value_HBD: The vote value in HBD for which the curation should be calculated - :param float estimated_value_SBD: When set, this value is used for calculate + :param float estimated_value_HBD: When set, this value is used for calculate the curation. When not set, the current post value is used. """ self.refresh() - if estimated_value_SBD is None: - estimated_value_SBD = float(self.reward) + if estimated_value_HBD is None: + estimated_value_HBD = float(self.reward) t = 1.0 - self.get_curation_penalty() - k = vote_value_SBD / (vote_value_SBD + float(self.reward)) + k = vote_value_HBD / (vote_value_HBD + float(self.reward)) K = (1 - math.sqrt(1 - k)) / 4 / k - return K * vote_value_SBD * t * math.sqrt(estimated_value_SBD) + return K * vote_value_HBD * t * math.sqrt(estimated_value_HBD) def get_curation_penalty(self, vote_time=None): """ If post is less than 15 minutes old, it will incur a curation @@ -369,12 +369,12 @@ class Comment(BlockchainObject): elapsed_seconds = (vote_time - self["created"]).total_seconds() else: raise ValueError("vote_time must be a string or a datetime") - if self.steem.hardfork >= 21: - reward = (elapsed_seconds / STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF21) - elif self.steem.hardfork >= 20: - reward = (elapsed_seconds / STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF20) + if self.hive.hardfork >= 21: + reward = (elapsed_seconds / HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF21) + elif self.hive.hardfork >= 20: + reward = (elapsed_seconds / HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF20) else: - reward = (elapsed_seconds / STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF6) + reward = (elapsed_seconds / HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF6) if reward > 1: reward = 1.0 return 1.0 - reward @@ -384,15 +384,15 @@ class Comment(BlockchainObject): :param str voter: Voter for which the vote should be returned :param bool raw_data: If True, the raw data are returned - :param pending_payout_SBD: When not None this value instead of the current + :param pending_payout_HBD: When not None this value instead of the current value is used for calculating the rewards - :type pending_payout_SBD: float, str + :type pending_payout_HBD: float, str """ specific_vote = None if voter is None: - voter = Account(self["author"], steem_instance=self.steem) + voter = Account(self["author"], hive_instance=self.hive) else: - voter = Account(voter, steem_instance=self.steem) + voter = Account(voter, hive_instance=self.hive) if "active_votes" in self: for vote in self["active_votes"]: if voter["name"] == vote["voter"]: @@ -405,9 +405,9 @@ class Comment(BlockchainObject): if specific_vote is not None and (raw_data or not self.is_pending()): return specific_vote elif specific_vote is not None: - curation_reward = self.get_curation_rewards(pending_payout_SBD=True, pending_payout_value=pending_payout_value) + curation_reward = self.get_curation_rewards(pending_payout_HBD=True, pending_payout_value=pending_payout_value) specific_vote["curation_reward"] = curation_reward["active_votes"][voter["name"]] - specific_vote["ROI"] = float(curation_reward["active_votes"][voter["name"]]) / float(voter.get_voting_value_SBD(voting_weight=specific_vote["percent"] / 100)) * 100 + specific_vote["ROI"] = float(curation_reward["active_votes"][voter["name"]]) / float(voter.get_voting_value_HBD(voting_weight=specific_vote["percent"] / 100)) * 100 return specific_vote else: return None @@ -422,7 +422,7 @@ class Comment(BlockchainObject): return weight / 100. def get_rewards(self): - """ Returns the total_payout, author_payout and the curator payout in SBD. + """ Returns the total_payout, author_payout and the curator payout in HBD. When the payout is still pending, the estimated payout is given out. .. note:: Potential beneficiary rewards were already deducted from the @@ -431,19 +431,19 @@ class Comment(BlockchainObject): Example::: { - 'total_payout': 9.956 SBD, - 'author_payout': 7.166 SBD, - 'curator_payout': 2.790 SBD + 'total_payout': 9.956 HBD, + 'author_payout': 7.166 HBD, + 'curator_payout': 2.790 HBD } """ if self.is_pending(): - total_payout = Amount(self["pending_payout_value"], steem_instance=self.steem) - author_payout = self.get_author_rewards()["total_payout_SBD"] + total_payout = Amount(self["pending_payout_value"], hive_instance=self.hive) + author_payout = self.get_author_rewards()["total_payout_HBD"] curator_payout = total_payout - author_payout else: - author_payout = Amount(self["total_payout_value"], steem_instance=self.steem) - curator_payout = Amount(self["curator_payout_value"], steem_instance=self.steem) + author_payout = Amount(self["total_payout_value"], hive_instance=self.hive) + curator_payout = Amount(self["curator_payout_value"], hive_instance=self.hive) total_payout = author_payout + curator_payout return {"total_payout": total_payout, "author_payout": author_payout, "curator_payout": curator_payout} @@ -454,42 +454,42 @@ class Comment(BlockchainObject): { 'pending_rewards': True, - 'payout_SP': 0.912 STEEM, - 'payout_SBD': 3.583 SBD, - 'total_payout_SBD': 7.166 SBD + 'payout_SP': 0.912 HIVE, + 'payout_HBD': 3.583 HBD, + 'total_payout_HBD': 7.166 HBD } """ if not self.is_pending(): return {'pending_rewards': False, - "payout_SP": Amount(0, self.steem.steem_symbol, steem_instance=self.steem), - "payout_SBD": Amount(0, self.steem.sbd_symbol, steem_instance=self.steem), - "total_payout_SBD": Amount(self["total_payout_value"], steem_instance=self.steem)} + "payout_SP": Amount(0, self.hive.hive_symbol, hive_instance=self.hive), + "payout_HBD": Amount(0, self.hive.hbd_symbol, hive_instance=self.hive), + "total_payout_HBD": Amount(self["total_payout_value"], hive_instance=self.hive)} - median_hist = self.steem.get_current_median_history() + median_hist = self.hive.get_current_median_history() if median_hist is not None: - median_price = Price(median_hist, steem_instance=self.steem) + median_price = Price(median_hist, hive_instance=self.hive) beneficiaries_pct = self.get_beneficiaries_pct() curation_tokens = self.reward * 0.25 author_tokens = self.reward - curation_tokens curation_rewards = self.get_curation_rewards() - if self.steem.hardfork >= 20 and median_hist is not None: + if self.hive.hardfork >= 20 and median_hist is not None: author_tokens += median_price * curation_rewards['unclaimed_rewards'] benefactor_tokens = author_tokens * beneficiaries_pct / 100. author_tokens -= benefactor_tokens if median_hist is not None: - sbd_steem = author_tokens * self["percent_steem_dollars"] / 20000. - vesting_steem = median_price.as_base(self.steem.steem_symbol) * (author_tokens - sbd_steem) - return {'pending_rewards': True, "payout_SP": vesting_steem, "payout_SBD": sbd_steem, "total_payout_SBD": author_tokens} + hbd_hive = author_tokens * self["percent_hive_dollars"] / 20000. + vesting_hive = median_price.as_base(self.hive.hive_symbol) * (author_tokens - hbd_hive) + return {'pending_rewards': True, "payout_SP": vesting_hive, "payout_HBD": hbd_hive, "total_payout_HBD": author_tokens} else: return {'pending_rewards': True, "total_payout": author_tokens} - def get_curation_rewards(self, pending_payout_SBD=False, pending_payout_value=None): + def get_curation_rewards(self, pending_payout_HBD=False, pending_payout_value=None): """ Returns the curation rewards. - :param bool pending_payout_SBD: If True, the rewards are returned in SBD and not in STEEM (default is False) + :param bool pending_payout_HBD: If True, the rewards are returned in HBD and not in HIVE (default is False) :param pending_payout_value: When not None this value instead of the current value is used for calculating the rewards :type pending_payout_value: float, str @@ -502,22 +502,22 @@ class Comment(BlockchainObject): Example:: { - 'pending_rewards': True, 'unclaimed_rewards': 0.245 STEEM, + 'pending_rewards': True, 'unclaimed_rewards': 0.245 HIVE, 'active_votes': { - 'leprechaun': 0.006 STEEM, 'timcliff': 0.186 STEEM, - 'st3llar': 0.000 STEEM, 'crokkon': 0.015 STEEM, 'feedyourminnows': 0.003 STEEM, - 'isnochys': 0.003 STEEM, 'loshcat': 0.001 STEEM, 'greenorange': 0.000 STEEM, - 'qustodian': 0.123 STEEM, 'jpphotography': 0.002 STEEM, 'thinkingmind': 0.001 STEEM, - 'oups': 0.006 STEEM, 'mattockfs': 0.001 STEEM, 'holger80': 0.003 STEEM, 'michaelizer': 0.004 STEEM, - 'flugschwein': 0.010 STEEM, 'ulisessabeque': 0.000 STEEM, 'hakancelik': 0.002 STEEM, 'sbi2': 0.008 STEEM, - 'zcool': 0.000 STEEM, 'steemhq': 0.002 STEEM, 'rowdiya': 0.000 STEEM, 'qurator-tier-1-2': 0.012 STEEM + 'leprechaun': 0.006 HIVE, 'timcliff': 0.186 HIVE, + 'st3llar': 0.000 HIVE, 'crokkon': 0.015 HIVE, 'feedyourminnows': 0.003 HIVE, + 'isnochys': 0.003 HIVE, 'loshcat': 0.001 HIVE, 'greenorange': 0.000 HIVE, + 'qustodian': 0.123 HIVE, 'jpphotography': 0.002 HIVE, 'thinkingmind': 0.001 HIVE, + 'oups': 0.006 HIVE, 'mattockfs': 0.001 HIVE, 'holger80': 0.003 HIVE, 'michaelizer': 0.004 HIVE, + 'flugschwein': 0.010 HIVE, 'ulisessabeque': 0.000 HIVE, 'hakancelik': 0.002 HIVE, 'sbi2': 0.008 HIVE, + 'zcool': 0.000 HIVE, 'hivehq': 0.002 HIVE, 'rowdiya': 0.000 HIVE, 'qurator-tier-1-2': 0.012 HIVE } } """ - median_hist = self.steem.get_current_median_history() + median_hist = self.hive.get_current_median_history() if median_hist is not None: - median_price = Price(median_hist, steem_instance=self.steem) + median_price = Price(median_hist, hive_instance=self.hive) pending_rewards = False if "active_votes" in self: active_votes_list = self["active_votes"] @@ -531,21 +531,21 @@ class Comment(BlockchainObject): total_vote_weight += vote["weight"] if not self["allow_curation_rewards"] or not self.is_pending(): - max_rewards = Amount(0, self.steem.steem_symbol, steem_instance=self.steem) + max_rewards = Amount(0, self.hive.hive_symbol, hive_instance=self.hive) unclaimed_rewards = max_rewards.copy() else: if pending_payout_value is None and "pending_payout_value" in self: - pending_payout_value = Amount(self["pending_payout_value"], steem_instance=self.steem) + pending_payout_value = Amount(self["pending_payout_value"], hive_instance=self.hive) elif pending_payout_value is None: pending_payout_value = 0 elif isinstance(pending_payout_value, (float, integer_types)): - pending_payout_value = Amount(pending_payout_value, self.steem.sbd_symbol, steem_instance=self.steem) + pending_payout_value = Amount(pending_payout_value, self.hive.hbd_symbol, hive_instance=self.hive) elif isinstance(pending_payout_value, str): - pending_payout_value = Amount(pending_payout_value, steem_instance=self.steem) - if pending_payout_SBD or median_hist is None: + pending_payout_value = Amount(pending_payout_value, hive_instance=self.hive) + if pending_payout_HBD or median_hist is None: max_rewards = (pending_payout_value * 0.25) else: - max_rewards = median_price.as_base(self.steem.steem_symbol) * (pending_payout_value * 0.25) + max_rewards = median_price.as_base(self.hive.hive_symbol) * (pending_payout_value * 0.25) unclaimed_rewards = max_rewards.copy() pending_rewards = True @@ -572,13 +572,13 @@ class Comment(BlockchainObject): post_permlink = self["permlink"] else: [post_author, post_permlink] = resolve_authorperm(identifier) - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - return self.steem.rpc.get_reblogged_by({'author': post_author, 'permlink': post_permlink}, api="follow")['accounts'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + return self.hive.rpc.get_reblogged_by({'author': post_author, 'permlink': post_permlink}, api="follow")['accounts'] else: - return self.steem.rpc.get_reblogged_by(post_author, post_permlink, api="follow") + return self.hive.rpc.get_reblogged_by(post_author, post_permlink, api="follow") def get_replies(self, raw_data=False, identifier=None): """ Returns content replies @@ -590,18 +590,18 @@ class Comment(BlockchainObject): post_permlink = self["permlink"] else: [post_author, post_permlink] = resolve_authorperm(identifier) - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - content_replies = self.steem.rpc.get_content_replies({'author': post_author, 'permlink': post_permlink}, api="tags") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + content_replies = self.hive.rpc.get_content_replies({'author': post_author, 'permlink': post_permlink}, api="tags") if 'discussions' in content_replies: content_replies = content_replies['discussions'] else: - content_replies = self.steem.rpc.get_content_replies(post_author, post_permlink, api="tags") + content_replies = self.hive.rpc.get_content_replies(post_author, post_permlink, api="tags") if raw_data: return content_replies - return [Comment(c, steem_instance=self.steem) for c in content_replies] + return [Comment(c, hive_instance=self.hive) for c in content_replies] def get_all_replies(self, parent=None): """ Returns all content replies @@ -622,7 +622,7 @@ class Comment(BlockchainObject): if children is None: children = self while children["depth"] > 0: - children = Comment(construct_authorperm(children["parent_author"], children["parent_permlink"]), steem_instance=self.steem) + children = Comment(construct_authorperm(children["parent_author"], children["parent_permlink"]), hive_instance=self.hive) return children def get_votes(self, raw_data=False): @@ -630,7 +630,7 @@ class Comment(BlockchainObject): if raw_data and "active_votes" in self: return self["active_votes"] from .vote import ActiveVotes - return ActiveVotes(self, lazy=False, steem_instance=self.steem) + return ActiveVotes(self, lazy=False, hive_instance=self.hive) def upvote(self, weight=+100, voter=None): """ Upvote the post @@ -678,7 +678,7 @@ class Comment(BlockchainObject): if not identifier: identifier = construct_authorperm(self["author"], self["permlink"]) - return self.steem.vote(weight, identifier, account=account) + return self.hive.vote(weight, identifier, account=account) def edit(self, body, meta=None, replace=False): """ Edit an existing post @@ -714,7 +714,7 @@ class Comment(BlockchainObject): else: new_meta = meta - return self.steem.post( + return self.hive.post( original_post["title"], newbody, reply_identifier=reply_identifier, @@ -735,7 +735,7 @@ class Comment(BlockchainObject): post. (optional) """ - return self.steem.post( + return self.hive.post( title, body, json_metadata=meta, @@ -758,11 +758,11 @@ class Comment(BlockchainObject): """ if not account: - if "default_account" in self.steem.config: - account = self.steem.config["default_account"] + if "default_account" in self.hive.config: + account = self.hive.config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if not identifier: post_author = self["author"] post_permlink = self["permlink"] @@ -771,10 +771,10 @@ class Comment(BlockchainObject): op = operations.Delete_comment( **{"author": post_author, "permlink": post_permlink}) - return self.steem.finalizeOp(op, account, "posting") + return self.hive.finalizeOp(op, account, "posting") - def resteem(self, identifier=None, account=None): - """ Resteem a post + def rehive(self, identifier=None, account=None): + """ Rehive a post :param str identifier: post identifier (@<account>/<permlink>) :param str account: (optional) the account to allow access @@ -782,10 +782,10 @@ class Comment(BlockchainObject): """ if not account: - account = self.steem.configStorage.get("default_account") + account = self.hive.configStorage.get("default_account") if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if identifier is None: identifier = self.identifier author, permlink = resolve_authorperm(identifier) @@ -796,7 +796,7 @@ class Comment(BlockchainObject): "permlink": permlink } ] - return self.steem.custom_json( + return self.hive.custom_json( id="follow", json_data=json_body, required_posting_auths=[account["name"]]) @@ -806,21 +806,21 @@ class RecentReplies(list): :param str author: author :param bool skip_own: (optional) Skip replies of the author to him/herself. Default: True - :param Steem steem_instance: Steem() instance to use when accesing a RPC + :param Hive hive_instance: Hive() instance to use when accesing a RPC """ - def __init__(self, author, skip_own=True, lazy=False, full=True, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - if not self.steem.is_connected(): + def __init__(self, author, skip_own=True, lazy=False, full=True, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(True) - state = self.steem.rpc.get_state("/@%s/recent-replies" % author) + self.hive.rpc.set_next_node_on_empty_reply(True) + state = self.hive.rpc.get_state("/@%s/recent-replies" % author) replies = state["accounts"][author].get("recent_replies", []) comments = [] for reply in replies: post = state["content"][reply] if skip_own and post["author"] == author: continue - comments.append(Comment(post, lazy=lazy, full=full, steem_instance=self.steem)) + comments.append(Comment(post, lazy=lazy, full=full, hive_instance=self.hive)) super(RecentReplies, self).__init__(comments) @@ -828,18 +828,18 @@ class RecentByPath(list): """ Obtain a list of votes for an account :param str account: Account name - :param Steem steem_instance: Steem() instance to use when accesing a RPC + :param Hive hive_instance: Hive() instance to use when accesing a RPC """ - def __init__(self, path="promoted", category=None, lazy=False, full=True, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - if not self.steem.is_connected(): + def __init__(self, path="promoted", category=None, lazy=False, full=True, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(True) - state = self.steem.rpc.get_state("/" + path) + self.hive.rpc.set_next_node_on_empty_reply(True) + state = self.hive.rpc.get_state("/" + path) replies = state["discussion_idx"][''].get(path, []) comments = [] for reply in replies: post = state["content"][reply] if category is None or (category is not None and post["category"] == category): - comments.append(Comment(post, lazy=lazy, full=full, steem_instance=self.steem)) + comments.append(Comment(post, lazy=lazy, full=full, hive_instance=self.hive)) super(RecentByPath, self).__init__(comments) diff --git a/beem/constants.py b/beem/constants.py index 070d03112a2602913b2ecbc7ca8066e1e91da25b..b1a751eb1e5fb2b4e5989d14faed33c0096d6089 100644 --- a/beem/constants.py +++ b/beem/constants.py @@ -5,21 +5,21 @@ from __future__ import print_function from __future__ import unicode_literals -STEEM_100_PERCENT = 10000 -STEEM_1_PERCENT = 100 -STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF21 = 300 -STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF20 = 900 -STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF6 = 1800 +HIVE_100_PERCENT = 10000 +HIVE_1_PERCENT = 100 +HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF21 = 300 +HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF20 = 900 +HIVE_REVERSE_AUCTION_WINDOW_SECONDS_HF6 = 1800 -STEEM_CONTENT_REWARD_PERCENT_HF16 = 7500 -STEEM_CONTENT_REWARD_PERCENT_HF21 = 6500 +HIVE_CONTENT_REWARD_PERCENT_HF16 = 7500 +HIVE_CONTENT_REWARD_PERCENT_HF21 = 6500 -STEEM_DOWNVOTE_POOL_PERCENT_HF21 = 2500 +HIVE_DOWNVOTE_POOL_PERCENT_HF21 = 2500 -STEEM_VOTE_REGENERATION_SECONDS = 432000 -STEEM_VOTING_MANA_REGENERATION_SECONDS = 432000 -STEEM_VOTE_DUST_THRESHOLD = 50000000 -STEEM_ROOT_POST_PARENT = '' +HIVE_VOTE_REGENERATION_SECONDS = 432000 +HIVE_VOTING_MANA_REGENERATION_SECONDS = 432000 +HIVE_VOTE_DUST_THRESHOLD = 50000000 +HIVE_ROOT_POST_PARENT = '' STATE_BYTES_SCALE = 10000 STATE_TRANSACTION_BYTE_SIZE = 174 @@ -28,7 +28,7 @@ STATE_LIMIT_ORDER_BYTE_SIZE = 1940 EXEC_FOLLOW_CUSTOM_OP_SCALE = 20 RC_DEFAULT_EXEC_COST = 100000 STATE_COMMENT_VOTE_BYTE_SIZE = 525 -STEEM_RC_REGEN_TIME = 60 * 60 * 24 * 5 +HIVE_RC_REGEN_TIME = 60 * 60 * 24 * 5 state_object_size_info = {'authority_base_size': 4 * STATE_BYTES_SCALE, 'authority_account_member_size': 18 * STATE_BYTES_SCALE, diff --git a/beem/conveyor.py b/beem/conveyor.py index eceec5fe781c846ed561f01a55a7b7a8edff279f..e29a6796f0f83917236499c70b8bbdb752e018b6 100644 --- a/beem/conveyor.py +++ b/beem/conveyor.py @@ -11,7 +11,7 @@ import requests import struct from datetime import datetime from binascii import hexlify -from .instance import shared_steem_instance +from .instance import shared_hive_instance from .account import Account from beemgraphenebase.py23 import py23_bytes from beemgraphenebase.ecdsasig import sign_message @@ -22,8 +22,8 @@ except ImportError: class Conveyor(object): - """ Class to access Steemit Conveyor instances: - https://github.com/steemit/conveyor + """ Class to access Hiveit Conveyor instances: + https://github.com/hiveit/conveyor Description from the official documentation: @@ -42,34 +42,34 @@ class Conveyor(object): consisting of a post title and a body. The underlying RPC authentication and request signing procedure is - described here: https://github.com/steemit/rpc-auth + described here: https://github.com/hiveit/rpc-auth """ - def __init__(self, url="https://conveyor.steemit.com", - steem_instance=None): + def __init__(self, url="https://conveyor.hiveit.com", + hive_instance=None): """ Initialize a Conveyor instance :param str url: (optional) URL to the Conveyor API, defaults to - https://conveyor.steemit.com - :param beem.steem.Steem steem_instance: Steem instance + https://conveyor.hiveit.com + :param beem.hive.Hive hive_instance: Hive instance """ self.url = url - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() self.id = 0 self.ENCODING = 'utf-8' self.TIMEFORMAT = '%Y-%m-%dT%H:%M:%S.%f' - self.K = hashlib.sha256(py23_bytes('steem_jsonrpc_auth', + self.K = hashlib.sha256(py23_bytes('hive_jsonrpc_auth', self.ENCODING)).digest() def prehash_message(self, timestamp, account, method, params, nonce): """ Prepare a hash for the Conveyor API request with SHA256 according - to https://github.com/steemit/rpc-auth + to https://github.com/hiveit/rpc-auth Hashing of `second` is then done inside `ecdsasig.sign_message()`. :param str timestamp: valid iso8601 datetime ending in "Z" - :param str account: valid steem blockchain account name + :param str account: valid hive blockchain account name :param str method: Conveyor method name to be called :param bytes param: base64 encoded request parameters :param bytes nonce: random 8 bytes @@ -85,7 +85,7 @@ class Conveyor(object): :param str account: account name :param str method: Conveyor method name to be called :param dict params: request parameters as `dict` - :param str key: Steem posting key for signing + :param str key: Hive posting key for signing """ params_bytes = py23_bytes(json.dumps(params), self.ENCODING) @@ -127,17 +127,17 @@ class Conveyor(object): :params dict params: request parameters as `dict` """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if signing_account is None: signer = account else: - signer = Account(signing_account, steem_instance=self.steem) + signer = Account(signing_account, hive_instance=self.hive) if "posting" not in signer: signer.refresh() if "posting" not in signer: raise AssertionError("Could not access posting permission") for authority in signer["posting"]["key_auths"]: - posting_wif = self.steem.wallet.getPrivateKeyForPublicKey( + posting_wif = self.hive.wallet.getPrivateKeyForPublicKey( authority[0]) return self._request(account['name'], method, params, posting_wif) @@ -154,14 +154,14 @@ class Conveyor(object): .. code-block:: python - from beem import Steem + from beem import Hive from beem.conveyor import Conveyor - s = Steem(keys=["5JPOSTINGKEY"]) - c = Conveyor(steem_instance=s) + s = Hive(keys=["5JPOSTINGKEY"]) + c = Conveyor(hive_instance=s) print(c.get_user_data('accountname')) """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) user_data = self._conveyor_method(account, signing_account, "conveyor.get_user_data", [account['name']]) @@ -183,10 +183,10 @@ class Conveyor(object): .. code-block:: python - from beem import Steem + from beem import Hive from beem.conveyor import Conveyor - s = Steem(keys=["5JADMINPOSTINGKEY"]) - c = Conveyor(steem_instance=s) + s = Hive(keys=["5JADMINPOSTINGKEY"]) + c = Conveyor(hive_instance=s) userdata = {'email': 'foo@bar.com', 'phone':'+123456789'} c.set_user_data('accountname', userdata, 'adminaccountname') @@ -207,14 +207,14 @@ class Conveyor(object): .. code-block:: python - from beem import Steem + from beem import Hive from beem.conveyor import Conveyor - s = Steem(keys=["5JPOSTINGKEY"]) - c = Conveyor(steem_instance=s) + s = Hive(keys=["5JPOSTINGKEY"]) + c = Conveyor(hive_instance=s) print(c.get_feature_flags('accountname')) """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) feature_flags = self._conveyor_method(account, signing_account, "conveyor.get_feature_flags", [account['name']]) @@ -236,14 +236,14 @@ class Conveyor(object): .. code-block:: python - from beem import Steem + from beem import Hive from beem.conveyor import Conveyor - s = Steem(keys=["5JPOSTINGKEY"]) - c = Conveyor(steem_instance=s) + s = Hive(keys=["5JPOSTINGKEY"]) + c = Conveyor(hive_instance=s) print(c.get_feature_flag('accountname', 'accepted_tos')) """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) return self._conveyor_method(account, signing_account, "conveyor.get_feature_flag", [account['name'], flag]) @@ -256,7 +256,7 @@ class Conveyor(object): :param str body: draft post body """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) draft = {'title': title, 'body': body} return self._conveyor_method(account, None, "conveyor.save_draft", @@ -279,7 +279,7 @@ class Conveyor(object): } """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) return self._conveyor_method(account, None, "conveyor.list_drafts", [account['name']]) @@ -292,7 +292,7 @@ class Conveyor(object): `list_drafts` """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) return self._conveyor_method(account, None, "conveyor.remove_draft", [account['name'], uuid]) diff --git a/beem/discussions.py b/beem/discussions.py index a68719c38ce20f84512ea9e55bd27bcadcf57a8c..4f744ce2d943e034d2936bd9878abbbcb00fe5eb 100644 --- a/beem/discussions.py +++ b/beem/discussions.py @@ -3,7 +3,7 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function from __future__ import unicode_literals -from .instance import shared_steem_instance +from .instance import shared_hive_instance from .account import Account from .comment import Comment from .utils import resolve_authorperm @@ -32,7 +32,7 @@ class Query(dict): .. testcode:: from beem.discussions import Query - query = Query(limit=10, tag="steemit") + query = Query(limit=10, tag="hiveit") """ def __init__(self, limit=0, tag="", truncate_body=0, @@ -60,11 +60,11 @@ class Query(dict): class Discussions(object): """ Get Discussions - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance """ - def __init__(self, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() self.lazy = lazy def get_discussions(self, discussion_type, discussion_query, limit=1000): @@ -77,7 +77,7 @@ class Discussions(object): .. testcode:: from beem.discussions import Query, Discussions - query = Query(limit=51, tag="steemit") + query = Query(limit=51, tag="hiveit") discussions = Discussions() count = 0 for d in discussions.get_discussions("tags", query, limit=200): @@ -117,41 +117,41 @@ class Discussions(object): discussion_query["start_tag"] = start_tag discussion_query["start_parent_author"] = start_parent_author if discussion_type == "trending": - dd = Discussions_by_trending(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_trending(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "author_before_date": dd = Discussions_by_author_before_date(author=discussion_query["author"], start_permlink=discussion_query["start_permlink"], before_date=discussion_query["before_date"], limit=discussion_query["limit"], - steem_instance=self.steem, lazy=self.lazy) + hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "payout": - dd = Comment_discussions_by_payout(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Comment_discussions_by_payout(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "post_payout": - dd = Post_discussions_by_payout(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Post_discussions_by_payout(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "created": - dd = Discussions_by_created(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_created(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "active": - dd = Discussions_by_active(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_active(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "cashout": - dd = Discussions_by_cashout(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_cashout(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "votes": - dd = Discussions_by_votes(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_votes(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "children": - dd = Discussions_by_children(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_children(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "hot": - dd = Discussions_by_hot(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_hot(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "feed": - dd = Discussions_by_feed(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_feed(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "blog": - dd = Discussions_by_blog(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_blog(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "comments": - dd = Discussions_by_comments(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_comments(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "promoted": - dd = Discussions_by_promoted(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Discussions_by_promoted(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "replies": - dd = Replies_by_last_update(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Replies_by_last_update(discussion_query, hive_instance=self.hive, lazy=self.lazy) elif discussion_type == "tags": - dd = Trending_tags(discussion_query, steem_instance=self.steem, lazy=self.lazy) + dd = Trending_tags(discussion_query, hive_instance=self.hive, lazy=self.lazy) else: raise ValueError("Wrong discussion_type") if not dd: @@ -191,26 +191,26 @@ class Discussions_by_trending(list): :param Query discussion_query: Defines the parameter for searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: from beem.discussions import Query, Discussions_by_trending - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_trending(q): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_trending(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_trending(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_trending(discussion_query) + posts = self.hive.rpc.get_discussions_by_trending(discussion_query) super(Discussions_by_trending, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -227,7 +227,7 @@ class Discussions_by_author_before_date(list): :param str start_permlink: Defines the permlink of a starting discussion :param str before_date: Defines the before date for query :param int limit: Defines the limit of discussions - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -236,17 +236,17 @@ class Discussions_by_author_before_date(list): print(h) """ - def __init__(self, author="", start_permlink="", before_date="1970-01-01T00:00:00", limit=100, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): + def __init__(self, author="", start_permlink="", before_date="1970-01-01T00:00:00", limit=100, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): discussion_query = {"author": author, "start_permlink": start_permlink, "before_date": before_date, "limit": limit} - posts = self.steem.rpc.get_discussions_by_author_before_date(discussion_query, api="tags")['discussions'] + posts = self.hive.rpc.get_discussions_by_author_before_date(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_author_before_date(author, start_permlink, before_date, limit) + posts = self.hive.rpc.get_discussions_by_author_before_date(author, start_permlink, before_date, limit) super(Discussions_by_author_before_date, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -257,7 +257,7 @@ class Comment_discussions_by_payout(list): :param Query discussion_query: Defines the parameter for searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -267,16 +267,16 @@ class Comment_discussions_by_payout(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_comment_discussions_by_payout(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_comment_discussions_by_payout(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_comment_discussions_by_payout(discussion_query) + posts = self.hive.rpc.get_comment_discussions_by_payout(discussion_query) super(Comment_discussions_by_payout, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -287,7 +287,7 @@ class Post_discussions_by_payout(list): :param Query discussion_query: Defines the parameter for searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -297,16 +297,16 @@ class Post_discussions_by_payout(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_post_discussions_by_payout(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_post_discussions_by_payout(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_post_discussions_by_payout(discussion_query) + posts = self.hive.rpc.get_post_discussions_by_payout(discussion_query) super(Post_discussions_by_payout, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -317,7 +317,7 @@ class Discussions_by_created(list): :param Query discussion_query: Defines the parameter for searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -327,16 +327,16 @@ class Discussions_by_created(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_created(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_created(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_created(discussion_query) + posts = self.hive.rpc.get_discussions_by_created(discussion_query) super(Discussions_by_created, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -347,7 +347,7 @@ class Discussions_by_active(list): :param Query discussion_query: Defines the parameter searching posts - :param Steem steem_instance: Steem() instance to use when accesing a RPC + :param Hive hive_instance: Hive() instance to use when accesing a RPC .. testcode:: @@ -357,16 +357,16 @@ class Discussions_by_active(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_active(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_active(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_active(discussion_query) + posts = self.hive.rpc.get_discussions_by_active(discussion_query) super(Discussions_by_active, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -378,7 +378,7 @@ class Discussions_by_cashout(list): :param Query discussion_query: Defines the parameter searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -388,16 +388,16 @@ class Discussions_by_cashout(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_cashout(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_cashout(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_cashout(discussion_query) + posts = self.hive.rpc.get_discussions_by_cashout(discussion_query) super(Discussions_by_cashout, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -408,7 +408,7 @@ class Discussions_by_votes(list): :param Query discussion_query: Defines the parameter searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -418,16 +418,16 @@ class Discussions_by_votes(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_votes(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_votes(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_votes(discussion_query) + posts = self.hive.rpc.get_discussions_by_votes(discussion_query) super(Discussions_by_votes, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -438,7 +438,7 @@ class Discussions_by_children(list): :param Query discussion_query: Defines the parameter searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -448,16 +448,16 @@ class Discussions_by_children(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_children(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_children(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_children(discussion_query) + posts = self.hive.rpc.get_discussions_by_children(discussion_query) super(Discussions_by_children, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -468,26 +468,26 @@ class Discussions_by_hot(list): :param Query discussion_query: Defines the parameter searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: from beem.discussions import Query, Discussions_by_hot - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_hot(q): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_hot(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_hot(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_hot(discussion_query) + posts = self.hive.rpc.get_discussions_by_hot(discussion_query) super(Discussions_by_hot, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -498,30 +498,30 @@ class Discussions_by_feed(list): :param Query discussion_query: Defines the parameter searching posts, tag musst be set to a username - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: from beem.discussions import Query, Discussions_by_feed - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_feed(q): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_feed(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_feed(discussion_query, api="tags")['discussions'] else: # limit = discussion_query["limit"] # account = discussion_query["tag"] # entryId = 0 - # posts = self.steem.rpc.get_feed(account, entryId, limit, api='follow')["comment"] - posts = self.steem.rpc.get_discussions_by_feed(discussion_query) + # posts = self.hive.rpc.get_feed(account, entryId, limit, api='follow')["comment"] + posts = self.hive.rpc.get_discussions_by_feed(discussion_query) super(Discussions_by_feed, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -532,7 +532,7 @@ class Discussions_by_blog(list): :param Query discussion_query: Defines the parameter searching posts, tag musst be set to a username - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -542,22 +542,22 @@ class Discussions_by_blog(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_blog(discussion_query, api="tags") + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_blog(discussion_query, api="tags") if 'discussions' in posts: posts = posts['discussions'] # inconsistent format across node types else: # limit = discussion_query["limit"] # account = discussion_query["tag"] # entryId = 0 - # posts = self.steem.rpc.get_feed(account, entryId, limit, api='follow') - posts = self.steem.rpc.get_discussions_by_blog(discussion_query) + # posts = self.hive.rpc.get_feed(account, entryId, limit, api='follow') + posts = self.hive.rpc.get_discussions_by_blog(discussion_query) super(Discussions_by_blog, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -568,28 +568,28 @@ class Discussions_by_comments(list): :param Query discussion_query: Defines the parameter searching posts, start_author and start_permlink must be set. - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: from beem.discussions import Query, Discussions_by_comments - q = Query(limit=10, start_author="steemit", start_permlink="firstpost") + q = Query(limit=10, start_author="hiveit", start_permlink="firstpost") for h in Discussions_by_comments(q): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_comments(discussion_query, api="tags") + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_comments(discussion_query, api="tags") if 'discussions' in posts: posts = posts['discussions'] # inconsistent format across node types else: - posts = self.steem.rpc.get_discussions_by_comments(discussion_query) + posts = self.hive.rpc.get_discussions_by_comments(discussion_query) super(Discussions_by_comments, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -600,26 +600,26 @@ class Discussions_by_promoted(list): :param Query discussion_query: Defines the parameter searching posts - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: from beem.discussions import Query, Discussions_by_promoted - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_promoted(q): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_discussions_by_promoted(discussion_query, api="tags")['discussions'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_discussions_by_promoted(discussion_query, api="tags")['discussions'] else: - posts = self.steem.rpc.get_discussions_by_promoted(discussion_query) + posts = self.hive.rpc.get_discussions_by_promoted(discussion_query) super(Discussions_by_promoted, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -630,29 +630,29 @@ class Replies_by_last_update(list): :param Query discussion_query: Defines the parameter searching posts start_parent_author and start_permlink must be set. - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: from beem.discussions import Query, Replies_by_last_update - q = Query(limit=10, start_parent_author="steemit", start_permlink="firstpost") + q = Query(limit=10, start_parent_author="hiveit", start_permlink="firstpost") for h in Replies_by_last_update(q): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - posts = self.steem.rpc.get_replies_by_last_update(discussion_query, api="tags") + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + posts = self.hive.rpc.get_replies_by_last_update(discussion_query, api="tags") if 'discussions' in posts: posts = posts['discussions'] else: - posts = self.steem.rpc.get_replies_by_last_update(discussion_query["start_author"], discussion_query["start_permlink"], discussion_query["limit"]) + posts = self.hive.rpc.get_replies_by_last_update(discussion_query["start_author"], discussion_query["start_permlink"], discussion_query["limit"]) super(Replies_by_last_update, self).__init__( [ - Comment(x, lazy=lazy, steem_instance=self.steem) + Comment(x, lazy=lazy, hive_instance=self.hive) for x in posts ] ) @@ -663,7 +663,7 @@ class Trending_tags(list): :param Query discussion_query: Defines the parameter searching posts, start_tag can be set. - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. testcode:: @@ -673,13 +673,13 @@ class Trending_tags(list): print(h) """ - def __init__(self, discussion_query, lazy=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.steem.rpc.set_next_node_on_empty_reply(self.steem.rpc.get_use_appbase()) - if self.steem.rpc.get_use_appbase(): - tags = self.steem.rpc.get_trending_tags(discussion_query, api="tags")['tags'] + def __init__(self, discussion_query, lazy=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.hive.rpc.set_next_node_on_empty_reply(self.hive.rpc.get_use_appbase()) + if self.hive.rpc.get_use_appbase(): + tags = self.hive.rpc.get_trending_tags(discussion_query, api="tags")['tags'] else: - tags = self.steem.rpc.get_trending_tags(discussion_query["start_tag"], discussion_query["limit"], api="tags") + tags = self.hive.rpc.get_trending_tags(discussion_query["start_tag"], discussion_query["limit"], api="tags") super(Trending_tags, self).__init__( [ x diff --git a/beem/steem.py b/beem/hive.py similarity index 85% rename from beem/steem.py rename to beem/hive.py index 2fae450c5f82cad7d96288f701fdd41fb1bfbeea..996c0a14f1cb7c1def9d01e8204c20fed1fedc46 100644 --- a/beem/steem.py +++ b/beem/hive.py @@ -14,7 +14,7 @@ import ast import time from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from datetime import datetime, timedelta, date -from beemapi.steemnoderpc import SteemNodeRPC +from beemapi.hivenoderpc import HiveNodeRPC from beemapi.exceptions import NoAccessApi, NoApiWithName from beemgraphenebase.account import PrivateKey, PublicKey from beembase import transactions, operations @@ -29,16 +29,16 @@ from .exceptions import ( AccountDoesNotExistsException ) from .wallet import Wallet -from .steemconnect import SteemConnect +from .hiveconnect import HiveConnect from .transactionbuilder import TransactionBuilder from .utils import formatTime, resolve_authorperm, derive_permlink, sanitize_permlink, remove_from_dict, addTzInfo, formatToTimeStamp -from beem.constants import STEEM_VOTE_REGENERATION_SECONDS, STEEM_100_PERCENT, STEEM_1_PERCENT, STEEM_RC_REGEN_TIME +from beem.constants import HIVE_VOTE_REGENERATION_SECONDS, HIVE_100_PERCENT, HIVE_1_PERCENT, HIVE_RC_REGEN_TIME log = logging.getLogger(__name__) -class Steem(object): - """ Connect to the Steem network. +class Hive(object): + """ Connect to the Hive network. :param str node: Node to connect to *(optional)* :param str rpcuser: RPC user *(optional)* @@ -69,21 +69,21 @@ class Steem(object): NumRetriesReached is raised. Disabled for -1. (default is -1) :param int num_retries_call: Repeat num_retries_call times a rpc call on node error (default is 5) :param int timeout: Timeout setting for https nodes (default is 60) - :param bool use_sc2: When True, a steemconnect object is created. Can be used for + :param bool use_sc2: When True, a hiveconnect object is created. Can be used for broadcast posting op or creating hot_links (default is False) - :param SteemConnect steemconnect: A SteemConnect object can be set manually, set use_sc2 to True + :param HiveConnect hiveconnect: A HiveConnect object can be set manually, set use_sc2 to True :param dict custom_chains: custom chain which should be added to the known chains Three wallet operation modes are possible: - * **Wallet Database**: Here, the steemlibs load the keys from the + * **Wallet Database**: Here, the hivelibs load the keys from the locally stored wallet SQLite database (see ``storage.py``). - To use this mode, simply call ``Steem()`` without the + To use this mode, simply call ``Hive()`` without the ``keys`` parameter * **Providing Keys**: Here, you can provide the keys for your accounts manually. All you need to do is add the wif keys for the accounts you want to use as a simple array - using the ``keys`` parameter to ``Steem()``. + using the ``keys`` parameter to ``Hive()``. * **Force keys**: This more is for advanced users and requires that you know what you are doing. Here, the ``keys`` parameter is a dictionary that overwrite the @@ -92,24 +92,24 @@ class Steem(object): signatures! If no node is provided, it will connect to default nodes of - http://geo.steem.pl. Default settings can be changed with: + http://geo.hive.pl. Default settings can be changed with: .. code-block:: python - steem = Steem(<host>) + hive = Hive(<host>) where ``<host>`` starts with ``https://``, ``ws://`` or ``wss://``. The purpose of this class it to simplify interaction with - Steem. + Hive. The idea is to have a class that allows to do this: .. code-block:: python - >>> from beem import Steem - >>> steem = Steem() - >>> print(steem.get_blockchain_version()) # doctest: +SKIP + >>> from beem import Hive + >>> hive = Hive() + >>> print(hive.get_blockchain_version()) # doctest: +SKIP This class also deals with edits, votes and reading content. @@ -117,10 +117,10 @@ class Steem(object): .. code-block:: python - from beem import Steem - stm = Steem(node=["https://mytstnet.com"], custom_chains={"MYTESTNET": - {'chain_assets': [{'asset': 'SBD', 'id': 0, 'precision': 3, 'symbol': 'SBD'}, - {'asset': 'STEEM', 'id': 1, 'precision': 3, 'symbol': 'STEEM'}, + from beem import Hive + stm = Hive(node=["https://mytstnet.com"], custom_chains={"MYTESTNET": + {'chain_assets': [{'asset': 'HBD', 'id': 0, 'precision': 3, 'symbol': 'HBD'}, + {'asset': 'HIVE', 'id': 1, 'precision': 3, 'symbol': 'HIVE'}, {'asset': 'VESTS', 'id': 2, 'precision': 6, 'symbol': 'VESTS'}], 'chain_id': '79276aea5d4877d9a25892eaa01b0adf019d3e5cb12a97478df3298ccdd01674', 'min_version': '0.0.0', @@ -137,7 +137,7 @@ class Steem(object): debug=False, data_refresh_time_seconds=900, **kwargs): - """Init steem + """Init hive :param str node: Node to connect to *(optional)* :param str rpcuser: RPC user *(optional)* @@ -165,9 +165,9 @@ class Steem(object): NumRetriesReached is raised. Disabled for -1. (default is -1) :param int num_retries_call: Repeat num_retries_call times a rpc call on node error (default is 5) :param int timeout: Timeout setting for https nodes (default is 60) - :param bool use_sc2: When True, a steemconnect object is created. Can be used for broadcast + :param bool use_sc2: When True, a hiveconnect object is created. Can be used for broadcast posting op or creating hot_links (default is False) - :param SteemConnect steemconnect: A SteemConnect object can be set manually, set use_sc2 to True + :param HiveConnect hiveconnect: A HiveConnect object can be set manually, set use_sc2 to True """ @@ -179,7 +179,7 @@ class Steem(object): self.unsigned = bool(kwargs.get("unsigned", False)) self.expiration = int(kwargs.get("expiration", 30)) self.bundle = bool(kwargs.get("bundle", False)) - self.steemconnect = kwargs.get("steemconnect", None) + self.hiveconnect = kwargs.get("hiveconnect", None) self.use_sc2 = bool(kwargs.get("use_sc2", False)) self.blocking = kwargs.get("blocking", False) self.custom_chains = kwargs.get("custom_chains", {}) @@ -203,14 +203,14 @@ class Steem(object): # txbuffers/propbuffer are initialized and cleared self.clear() - self.wallet = Wallet(steem_instance=self, **kwargs) + self.wallet = Wallet(hive_instance=self, **kwargs) - # set steemconnect - if self.steemconnect is not None and not isinstance(self.steemconnect, SteemConnect): - raise ValueError("steemconnect musst be SteemConnect object") - if self.steemconnect is None and self.use_sc2: - self.steemconnect = SteemConnect(steem_instance=self, **kwargs) - elif self.steemconnect is not None and not self.use_sc2: + # set hiveconnect + if self.hiveconnect is not None and not isinstance(self.hiveconnect, HiveConnect): + raise ValueError("hiveconnect musst be HiveConnect object") + if self.hiveconnect is None and self.use_sc2: + self.hiveconnect = HiveConnect(hive_instance=self, **kwargs) + elif self.hiveconnect is not None and not self.use_sc2: self.use_sc2 = True # ------------------------------------------------------------------------- @@ -221,12 +221,12 @@ class Steem(object): rpcuser="", rpcpassword="", **kwargs): - """ Connect to Steem network (internal use only) + """ Connect to Hive network (internal use only) """ if not node: node = self.get_default_nodes() if not bool(node): - raise ValueError("A Steem node needs to be provided!") + raise ValueError("A Hive node needs to be provided!") if not rpcuser and "rpcuser" in config: rpcuser = config["rpcuser"] @@ -234,7 +234,7 @@ class Steem(object): if not rpcpassword and "rpcpassword" in config: rpcpassword = config["rpcpassword"] - self.rpc = SteemNodeRPC(node, rpcuser, rpcpassword, **kwargs) + self.rpc = HiveNodeRPC(node, rpcuser, rpcpassword, **kwargs) def is_connected(self): """Returns if rpc is connected""" @@ -252,7 +252,7 @@ class Steem(object): self.__class__.__name__, str(self.nobroadcast)) def refresh_data(self, force_refresh=False, data_refresh_time_seconds=None): - """ Read and stores steem blockchain parameters + """ Read and stores hive blockchain parameters If the last data refresh is older than data_refresh_time_seconds, data will be refreshed :param bool force_refresh: if True, a refresh of the data is enforced @@ -420,7 +420,7 @@ class Steem(object): try: return self.rpc.get_network() except: - return known_chains["STEEMAPPBASE"] + return known_chains["HIVEAPPBASE"] def get_median_price(self, use_stored_data=True): """ Returns the current median history price as Price @@ -430,11 +430,11 @@ class Steem(object): return None a = Price( None, - base=Amount(median_price['base'], steem_instance=self), - quote=Amount(median_price['quote'], steem_instance=self), - steem_instance=self + base=Amount(median_price['base'], hive_instance=self), + quote=Amount(median_price['quote'], hive_instance=self), + hive_instance=self ) - return a.as_base(self.sbd_symbol) + return a.as_base(self.hbd_symbol) def get_block_interval(self, use_stored_data=True): """Returns the block interval in seconds""" @@ -484,7 +484,7 @@ class Steem(object): params = self.get_resource_params() config = self.get_config() dyn_param = self.get_dynamic_global_properties() - rc_regen = int(Amount(dyn_param["total_vesting_shares"], steem_instance=self)) / (STEEM_RC_REGEN_TIME / config["STEEM_BLOCK_INTERVAL"]) + rc_regen = int(Amount(dyn_param["total_vesting_shares"], hive_instance=self)) / (HIVE_RC_REGEN_TIME / config["HIVE_BLOCK_INTERVAL"]) total_cost = 0 if rc_regen == 0: return total_cost @@ -510,32 +510,32 @@ class Steem(object): num_denom = num / denom return int(num_denom) + 1 - def rshares_to_sbd(self, rshares, not_broadcasted_vote=False, use_stored_data=True): - """ Calculates the current SBD value of a vote + def rshares_to_hbd(self, rshares, not_broadcasted_vote=False, use_stored_data=True): + """ Calculates the current HBD value of a vote """ - payout = float(rshares) * self.get_sbd_per_rshares(use_stored_data=use_stored_data, + payout = float(rshares) * self.get_hbd_per_rshares(use_stored_data=use_stored_data, not_broadcasted_vote_rshares=rshares if not_broadcasted_vote else 0) return payout - def get_sbd_per_rshares(self, not_broadcasted_vote_rshares=0, use_stored_data=True): - """ Returns the current rshares to SBD ratio + def get_hbd_per_rshares(self, not_broadcasted_vote_rshares=0, use_stored_data=True): + """ Returns the current rshares to HBD ratio """ reward_fund = self.get_reward_funds(use_stored_data=use_stored_data) - reward_balance = float(Amount(reward_fund["reward_balance"], steem_instance=self)) + reward_balance = float(Amount(reward_fund["reward_balance"], hive_instance=self)) recent_claims = float(reward_fund["recent_claims"]) + not_broadcasted_vote_rshares fund_per_share = reward_balance / (recent_claims) median_price = self.get_median_price(use_stored_data=use_stored_data) if median_price is None: return 0 - SBD_price = float(median_price * (Amount(1, self.steem_symbol, steem_instance=self))) - return fund_per_share * SBD_price + HBD_price = float(median_price * (Amount(1, self.hive_symbol, hive_instance=self))) + return fund_per_share * HBD_price - def get_steem_per_mvest(self, time_stamp=None, use_stored_data=True): - """ Returns the MVEST to STEEM ratio + def get_hive_per_mvest(self, time_stamp=None, use_stored_data=True): + """ Returns the MVEST to HIVE ratio :param int time_stamp: (optional) if set, return an estimated - STEEM per MVEST ratio for the given time stamp. If unset the + HIVE per MVEST ratio for the given time stamp. If unset the current ratio is returned (default). (can also be a datetime object) """ if self.offline and time_stamp is None: @@ -556,12 +556,12 @@ class Steem(object): global_properties = self.get_dynamic_global_properties(use_stored_data=use_stored_data) return ( - float(Amount(global_properties['total_vesting_fund_steem'], steem_instance=self)) / - (float(Amount(global_properties['total_vesting_shares'], steem_instance=self)) / 1e6) + float(Amount(global_properties['total_vesting_fund_hive'], hive_instance=self)) / + (float(Amount(global_properties['total_vesting_shares'], hive_instance=self)) / 1e6) ) - def vests_to_sp(self, vests, timestamp=None, use_stored_data=True): - """ Converts vests to SP + def vests_to_hp(self, vests, timestamp=None, use_stored_data=True): + """ Converts vests to HP :param amount.Amount vests/float vests: Vests to convert :param int timestamp: (Optional) Can be used to calculate @@ -570,21 +570,21 @@ class Steem(object): """ if isinstance(vests, Amount): vests = float(vests) - return float(vests) / 1e6 * self.get_steem_per_mvest(timestamp, use_stored_data=use_stored_data) + return float(vests) / 1e6 * self.get_hive_per_mvest(timestamp, use_stored_data=use_stored_data) - def sp_to_vests(self, sp, timestamp=None, use_stored_data=True): - """ Converts SP to vests + def hp_to_vests(self, hp, timestamp=None, use_stored_data=True): + """ Converts HP to vests - :param float sp: Steem power to convert + :param float hp: Hive power to convert :param datetime timestamp: (Optional) Can be used to calculate the conversion rate from the past """ - return sp * 1e6 / self.get_steem_per_mvest(timestamp, use_stored_data=use_stored_data) + return hp * 1e6 / self.get_hive_per_mvest(timestamp, use_stored_data=use_stored_data) - def sp_to_sbd(self, sp, voting_power=STEEM_100_PERCENT, vote_pct=STEEM_100_PERCENT, not_broadcasted_vote=True, use_stored_data=True): - """ Obtain the resulting SBD vote value from Steem power + def hp_to_hbd(self, hp, voting_power=HIVE_100_PERCENT, vote_pct=HIVE_100_PERCENT, not_broadcasted_vote=True, use_stored_data=True): + """ Obtain the resulting HBD vote value from Hive power - :param number steem_power: Steem Power + :param number hive_power: Hive Power :param int voting_power: voting power (100% = 10000) :param int vote_pct: voting percentage (100% = 10000) :param bool not_broadcasted_vote: not_broadcasted or already broadcasted vote (True = not_broadcasted vote). @@ -592,11 +592,11 @@ class Steem(object): Only impactful for very big votes. Slight modification to the value calculation, as the not_broadcasted vote rshares decreases the reward pool. """ - vesting_shares = int(self.sp_to_vests(sp, use_stored_data=use_stored_data)) - return self.vests_to_sbd(vesting_shares, voting_power=voting_power, vote_pct=vote_pct, not_broadcasted_vote=not_broadcasted_vote, use_stored_data=use_stored_data) + vesting_shares = int(self.hp_to_vests(hp, use_stored_data=use_stored_data)) + return self.vests_to_hbd(vesting_shares, voting_power=voting_power, vote_pct=vote_pct, not_broadcasted_vote=not_broadcasted_vote, use_stored_data=use_stored_data) - def vests_to_sbd(self, vests, voting_power=STEEM_100_PERCENT, vote_pct=STEEM_100_PERCENT, not_broadcasted_vote=True, use_stored_data=True): - """ Obtain the resulting SBD vote value from vests + def vests_to_hbd(self, vests, voting_power=HIVE_100_PERCENT, vote_pct=HIVE_100_PERCENT, not_broadcasted_vote=True, use_stored_data=True): + """ Obtain the resulting HBD vote value from vests :param number vests: vesting shares :param int voting_power: voting power (100% = 10000) @@ -607,35 +607,35 @@ class Steem(object): vote rshares decreases the reward pool. """ vote_rshares = self.vests_to_rshares(vests, voting_power=voting_power, vote_pct=vote_pct) - return self.rshares_to_sbd(vote_rshares, not_broadcasted_vote=not_broadcasted_vote, use_stored_data=use_stored_data) + return self.rshares_to_hbd(vote_rshares, not_broadcasted_vote=not_broadcasted_vote, use_stored_data=use_stored_data) def _max_vote_denom(self, use_stored_data=True): # get props global_properties = self.get_dynamic_global_properties(use_stored_data=use_stored_data) vote_power_reserve_rate = global_properties['vote_power_reserve_rate'] - max_vote_denom = vote_power_reserve_rate * STEEM_VOTE_REGENERATION_SECONDS + max_vote_denom = vote_power_reserve_rate * HIVE_VOTE_REGENERATION_SECONDS return max_vote_denom - def _calc_resulting_vote(self, voting_power=STEEM_100_PERCENT, vote_pct=STEEM_100_PERCENT, use_stored_data=True): + def _calc_resulting_vote(self, voting_power=HIVE_100_PERCENT, vote_pct=HIVE_100_PERCENT, use_stored_data=True): # determine voting power used - used_power = int((voting_power * abs(vote_pct)) / STEEM_100_PERCENT * (60 * 60 * 24)) + used_power = int((voting_power * abs(vote_pct)) / HIVE_100_PERCENT * (60 * 60 * 24)) max_vote_denom = self._max_vote_denom(use_stored_data=use_stored_data) used_power = int((used_power + max_vote_denom - 1) / max_vote_denom) return used_power - def sp_to_rshares(self, steem_power, voting_power=STEEM_100_PERCENT, vote_pct=STEEM_100_PERCENT, use_stored_data=True): - """ Obtain the r-shares from Steem power + def hp_to_rshares(self, hive_power, voting_power=HIVE_100_PERCENT, vote_pct=HIVE_100_PERCENT, use_stored_data=True): + """ Obtain the r-shares from Hive power - :param number steem_power: Steem Power + :param number hive_power: Hive Power :param int voting_power: voting power (100% = 10000) :param int vote_pct: voting percentage (100% = 10000) """ # calculate our account voting shares (from vests) - vesting_shares = int(self.sp_to_vests(steem_power, use_stored_data=use_stored_data)) + vesting_shares = int(self.hp_to_vests(hive_power, use_stored_data=use_stored_data)) return self.vests_to_rshares(vesting_shares, voting_power=voting_power, vote_pct=vote_pct, use_stored_data=use_stored_data) - def vests_to_rshares(self, vests, voting_power=STEEM_100_PERCENT, vote_pct=STEEM_100_PERCENT, subtract_dust_threshold=True, use_stored_data=True): + def vests_to_rshares(self, vests, voting_power=HIVE_100_PERCENT, vote_pct=HIVE_100_PERCENT, subtract_dust_threshold=True, use_stored_data=True): """ Obtain the r-shares from vests :param number vests: vesting shares @@ -645,35 +645,35 @@ class Steem(object): """ used_power = self._calc_resulting_vote(voting_power=voting_power, vote_pct=vote_pct, use_stored_data=use_stored_data) # calculate vote rshares - rshares = int(math.copysign(vests * 1e6 * used_power / STEEM_100_PERCENT, vote_pct)) + rshares = int(math.copysign(vests * 1e6 * used_power / HIVE_100_PERCENT, vote_pct)) if subtract_dust_threshold: if abs(rshares) <= self.get_dust_threshold(use_stored_data=use_stored_data): return 0 rshares -= math.copysign(self.get_dust_threshold(use_stored_data=use_stored_data), vote_pct) return rshares - def sbd_to_rshares(self, sbd, not_broadcasted_vote=False, use_stored_data=True): - """ Obtain the r-shares from SBD + def hbd_to_rshares(self, hbd, not_broadcasted_vote=False, use_stored_data=True): + """ Obtain the r-shares from HBD - :param sbd: SBD - :type sbd: str, int, amount.Amount + :param hbd: HBD + :type hbd: str, int, amount.Amount :param bool not_broadcasted_vote: not_broadcasted or already broadcasted vote (True = not_broadcasted vote). - Only impactful for very high amounts of SBD. Slight modification to the value calculation, as the not_broadcasted + Only impactful for very high amounts of HBD. Slight modification to the value calculation, as the not_broadcasted vote rshares decreases the reward pool. """ - if isinstance(sbd, Amount): - sbd = Amount(sbd, steem_instance=self) - elif isinstance(sbd, string_types): - sbd = Amount(sbd, steem_instance=self) + if isinstance(hbd, Amount): + hbd = Amount(hbd, hive_instance=self) + elif isinstance(hbd, string_types): + hbd = Amount(hbd, hive_instance=self) else: - sbd = Amount(sbd, self.sbd_symbol, steem_instance=self) - if sbd['symbol'] != self.sbd_symbol: - raise AssertionError('Should input SBD, not any other asset!') + hbd = Amount(hbd, self.hbd_symbol, hive_instance=self) + if hbd['symbol'] != self.hbd_symbol: + raise AssertionError('Should input HBD, not any other asset!') # If the vote was already broadcasted we can assume the blockchain values to be true if not not_broadcasted_vote: - return int(float(sbd) / self.get_sbd_per_rshares(use_stored_data=use_stored_data)) + return int(float(hbd) / self.get_hbd_per_rshares(use_stored_data=use_stored_data)) # If the vote wasn't broadcasted (yet), we have to calculate the rshares while considering # the change our vote is causing to the recent_claims. This is more important for really @@ -681,10 +681,10 @@ class Steem(object): reward_fund = self.get_reward_funds(use_stored_data=use_stored_data) median_price = self.get_median_price(use_stored_data=use_stored_data) recent_claims = int(reward_fund["recent_claims"]) - reward_balance = Amount(reward_fund["reward_balance"], steem_instance=self) - reward_pool_sbd = median_price * reward_balance - if sbd > reward_pool_sbd: - raise ValueError('Provided more SBD than available in the reward pool.') + reward_balance = Amount(reward_fund["reward_balance"], hive_instance=self) + reward_pool_hbd = median_price * reward_balance + if hbd > reward_pool_hbd: + raise ValueError('Provided more HBD than available in the reward pool.') # This is the formula we can use to determine the "true" rshares. # We get this formula by some math magic using the previous used formulas @@ -694,70 +694,70 @@ class Steem(object): # (balance / (claims + newShares)) * price = amount / newShares # Now we resolve for newShares resulting in: # newShares = claims * amount / (balance * price - amount) - rshares = recent_claims * float(sbd) / ((float(reward_balance) * float(median_price)) - float(sbd)) + rshares = recent_claims * float(hbd) / ((float(reward_balance) * float(median_price)) - float(hbd)) return int(rshares) - def rshares_to_vote_pct(self, rshares, steem_power=None, vests=None, voting_power=STEEM_100_PERCENT, use_stored_data=True): + def rshares_to_vote_pct(self, rshares, hive_power=None, vests=None, voting_power=HIVE_100_PERCENT, use_stored_data=True): """ Obtain the voting percentage for a desired rshares value - for a given Steem Power or vesting shares and voting_power - Give either steem_power or vests, not both. + for a given Hive Power or vesting shares and voting_power + Give either hive_power or vests, not both. When the output is greater than 10000 or less than -10000, the given absolute rshares are too high Returns the required voting percentage (100% = 10000) :param number rshares: desired rshares value - :param number steem_power: Steem Power + :param number hive_power: Hive Power :param number vests: vesting shares :param int voting_power: voting power (100% = 10000) """ - if steem_power is None and vests is None: - raise ValueError("Either steem_power or vests has to be set!") - if steem_power is not None and vests is not None: - raise ValueError("Either steem_power or vests has to be set. Not both!") - if steem_power is not None: - vests = int(self.sp_to_vests(steem_power, use_stored_data=use_stored_data) * 1e6) + if hive_power is None and vests is None: + raise ValueError("Either hive_power or vests has to be set!") + if hive_power is not None and vests is not None: + raise ValueError("Either hive_power or vests has to be set. Not both!") + if hive_power is not None: + vests = int(self.hp_to_vests(hive_power, use_stored_data=use_stored_data) * 1e6) if self.hardfork >= 20: rshares += math.copysign(self.get_dust_threshold(use_stored_data=use_stored_data), rshares) max_vote_denom = self._max_vote_denom(use_stored_data=use_stored_data) - used_power = int(math.ceil(abs(rshares) * STEEM_100_PERCENT / vests)) + used_power = int(math.ceil(abs(rshares) * HIVE_100_PERCENT / vests)) used_power = used_power * max_vote_denom - vote_pct = used_power * STEEM_100_PERCENT / (60 * 60 * 24) / voting_power + vote_pct = used_power * HIVE_100_PERCENT / (60 * 60 * 24) / voting_power return int(math.copysign(vote_pct, rshares)) - def sbd_to_vote_pct(self, sbd, steem_power=None, vests=None, voting_power=STEEM_100_PERCENT, not_broadcasted_vote=True, use_stored_data=True): - """ Obtain the voting percentage for a desired SBD value - for a given Steem Power or vesting shares and voting power - Give either Steem Power or vests, not both. + def hbd_to_vote_pct(self, hbd, hive_power=None, vests=None, voting_power=HIVE_100_PERCENT, not_broadcasted_vote=True, use_stored_data=True): + """ Obtain the voting percentage for a desired HBD value + for a given Hive Power or vesting shares and voting power + Give either Hive Power or vests, not both. When the output is greater than 10000 or smaller than -10000, - the SBD value is too high. + the HBD value is too high. Returns the required voting percentage (100% = 10000) - :param sbd: desired SBD value - :type sbd: str, int, amount.Amount - :param number steem_power: Steem Power + :param hbd: desired HBD value + :type hbd: str, int, amount.Amount + :param number hive_power: Hive Power :param number vests: vesting shares :param bool not_broadcasted_vote: not_broadcasted or already broadcasted vote (True = not_broadcasted vote). - Only impactful for very high amounts of SBD. Slight modification to the value calculation, as the not_broadcasted + Only impactful for very high amounts of HBD. Slight modification to the value calculation, as the not_broadcasted vote rshares decreases the reward pool. """ - if isinstance(sbd, Amount): - sbd = Amount(sbd, steem_instance=self) - elif isinstance(sbd, string_types): - sbd = Amount(sbd, steem_instance=self) + if isinstance(hbd, Amount): + hbd = Amount(hbd, hive_instance=self) + elif isinstance(hbd, string_types): + hbd = Amount(hbd, hive_instance=self) else: - sbd = Amount(sbd, self.sbd_symbol, steem_instance=self) - if sbd['symbol'] != self.sbd_symbol: + hbd = Amount(hbd, self.hbd_symbol, hive_instance=self) + if hbd['symbol'] != self.hbd_symbol: raise AssertionError() - rshares = self.sbd_to_rshares(sbd, not_broadcasted_vote=not_broadcasted_vote, use_stored_data=use_stored_data) - return self.rshares_to_vote_pct(rshares, steem_power=steem_power, vests=vests, voting_power=voting_power, use_stored_data=use_stored_data) + rshares = self.hbd_to_rshares(hbd, not_broadcasted_vote=not_broadcasted_vote, use_stored_data=use_stored_data) + return self.rshares_to_vote_pct(rshares, hive_power=hive_power, vests=vests, voting_power=voting_power, use_stored_data=use_stored_data) def get_chain_properties(self, use_stored_data=True): """ Return witness elected chain properties @@ -765,9 +765,9 @@ class Steem(object): Properties::: { - 'account_creation_fee': '30.000 STEEM', + 'account_creation_fee': '30.000 HIVE', 'maximum_block_size': 65536, - 'sbd_interest_rate': 250 + 'hbd_interest_rate': 250 } """ @@ -808,14 +808,14 @@ class Steem(object): @property def chain_params(self): if self.offline or self.rpc is None: - return known_chains["STEEMAPPBASE"] + return known_chains["HIVEAPPBASE"] else: return self.get_network() @property def hardfork(self): if self.offline or self.rpc is None: - versions = known_chains['STEEMAPPBASE']['min_version'] + versions = known_chains['HIVEAPPBASE']['min_version'] else: hf_prop = self.get_hardfork_properties() if "current_hardfork_version" in hf_prop: @@ -831,7 +831,7 @@ class Steem(object): def set_default_account(self, account): """ Set the default account to be used """ - Account(account, steem_instance=self) + Account(account, hive_instance=self) config["default_account"] = account def set_password_storage(self, password_storage): @@ -905,11 +905,11 @@ class Steem(object): :param string permission: The required permission for signing (active, owner, posting) :param TransactionBuilder append_to: This allows to provide an instance of - TransactionBuilder (see :func:`Steem.new_tx()`) to specify + TransactionBuilder (see :func:`Hive.new_tx()`) to specify where to put a specific operation. .. note:: ``append_to`` is exposed to every method used in the - Steem class + Hive class .. note:: If ``ops`` is a list of operation, they all need to be signable by the same key! Thus, you cannot combine ops @@ -917,7 +917,7 @@ class Steem(object): posting permission. Neither can you use different accounts for different operations! - .. note:: This uses :func:`Steem.txbuffer` as instance of + .. note:: This uses :func:`Hive.txbuffer` as instance of :class:`beem.transactionbuilder.TransactionBuilder`. You may want to use your own txbuffer """ @@ -969,7 +969,7 @@ class Steem(object): """ if tx: - txbuffer = TransactionBuilder(tx, steem_instance=self) + txbuffer = TransactionBuilder(tx, hive_instance=self) else: txbuffer = self.txbuffer txbuffer.appendWif(wifs) @@ -978,14 +978,14 @@ class Steem(object): return txbuffer.json() def broadcast(self, tx=None): - """ Broadcast a transaction to the Steem network + """ Broadcast a transaction to the Hive network :param tx tx: Signed transaction to broadcast """ if tx: # If tx is provided, we broadcast the tx - return TransactionBuilder(tx, steem_instance=self).broadcast() + return TransactionBuilder(tx, hive_instance=self).broadcast() else: return self.txbuffer.broadcast() @@ -1036,7 +1036,7 @@ class Steem(object): """ builder = TransactionBuilder( *args, - steem_instance=self, + hive_instance=self, **kwargs ) self._txbuffers.append(builder) @@ -1054,24 +1054,24 @@ class Steem(object): def claim_account(self, creator, fee=None, **kwargs): """ Claim account for claimed account creation. - When fee is 0 STEEM a subsidized account is claimed and can be created + When fee is 0 HIVE a subsidized account is claimed and can be created later with create_claimed_account. The number of subsidized account is limited. - :param str creator: which account should pay the registration fee (RC or STEEM) + :param str creator: which account should pay the registration fee (RC or HIVE) (defaults to ``default_account``) - :param str fee: when set to 0 STEEM (default), claim account is paid by RC + :param str fee: when set to 0 HIVE (default), claim account is paid by RC """ - fee = fee if fee is not None else "0 %s" % (self.steem_symbol) + fee = fee if fee is not None else "0 %s" % (self.hive_symbol) if not creator and config["default_account"]: creator = config["default_account"] if not creator: raise ValueError( "Not creator account given. Define it with " + "creator=x, or set the default_account using beempy") - creator = Account(creator, steem_instance=self) + creator = Account(creator, hive_instance=self) op = { - "fee": Amount(fee, steem_instance=self), + "fee": Amount(fee, hive_instance=self), "creator": creator["name"], "prefix": self.prefix, } @@ -1100,7 +1100,7 @@ class Steem(object): fee=None, **kwargs ): - """ Create new claimed account on Steem + """ Create new claimed account on Hive The brainkey/password can be used to recover all generated keys (see :class:`beemgraphenebase.account` for more details. @@ -1159,7 +1159,7 @@ class Steem(object): the blockchain """ - fee = fee if fee is not None else "0 %s" % (self.steem_symbol) + fee = fee if fee is not None else "0 %s" % (self.hive_symbol) if not creator and config["default_account"]: creator = config["default_account"] if not creator: @@ -1172,12 +1172,12 @@ class Steem(object): ) try: - Account(account_name, steem_instance=self) + Account(account_name, hive_instance=self) raise AccountExistsException except AccountDoesNotExistsException: pass - creator = Account(creator, steem_instance=self) + creator = Account(creator, hive_instance=self) " Generate new keys from password" from beemgraphenebase.account import PasswordKey @@ -1239,17 +1239,17 @@ class Steem(object): posting_key_authority.append([k, 1]) for k in additional_owner_accounts: - addaccount = Account(k, steem_instance=self) + addaccount = Account(k, hive_instance=self) owner_accounts_authority.append([addaccount["name"], 1]) for k in additional_active_accounts: - addaccount = Account(k, steem_instance=self) + addaccount = Account(k, hive_instance=self) active_accounts_authority.append([addaccount["name"], 1]) for k in additional_posting_accounts: - addaccount = Account(k, steem_instance=self) + addaccount = Account(k, hive_instance=self) posting_accounts_authority.append([addaccount["name"], 1]) if combine_with_claim_account: op = { - "fee": Amount(fee, steem_instance=self), + "fee": Amount(fee, hive_instance=self), "creator": creator["name"], "prefix": self.prefix, } @@ -1301,7 +1301,7 @@ class Steem(object): json_meta=None, **kwargs ): - """ Create new account on Steem + """ Create new account on Hive The brainkey/password can be used to recover all generated keys (see :class:`beemgraphenebase.account` for more details. @@ -1368,12 +1368,12 @@ class Steem(object): ) try: - Account(account_name, steem_instance=self) + Account(account_name, hive_instance=self) raise AccountExistsException except AccountDoesNotExistsException: pass - creator = Account(creator, steem_instance=self) + creator = Account(creator, hive_instance=self) " Generate new keys from password" from beemgraphenebase.account import PasswordKey @@ -1435,22 +1435,22 @@ class Steem(object): posting_key_authority.append([k, 1]) for k in additional_owner_accounts: - addaccount = Account(k, steem_instance=self) + addaccount = Account(k, hive_instance=self) owner_accounts_authority.append([addaccount["name"], 1]) for k in additional_active_accounts: - addaccount = Account(k, steem_instance=self) + addaccount = Account(k, hive_instance=self) active_accounts_authority.append([addaccount["name"], 1]) for k in additional_posting_accounts: - addaccount = Account(k, steem_instance=self) + addaccount = Account(k, hive_instance=self) posting_accounts_authority.append([addaccount["name"], 1]) props = self.get_chain_properties() if self.hardfork >= 20: - required_fee_steem = Amount(props["account_creation_fee"], steem_instance=self) + required_fee_hive = Amount(props["account_creation_fee"], hive_instance=self) else: - required_fee_steem = Amount(props["account_creation_fee"], steem_instance=self) * 30 + required_fee_hive = Amount(props["account_creation_fee"], hive_instance=self) * 30 op = { - "fee": required_fee_steem, + "fee": required_fee_hive, "creator": creator["name"], "new_account_name": account_name, 'owner': {'account_auths': owner_accounts_authority, @@ -1487,14 +1487,14 @@ class Steem(object): "account_subsidy_decay": x, "maximum_block_size": x, "url": x, - "sbd_exchange_rate": x, - "sbd_interest_rate": x, + "hbd_exchange_rate": x, + "hbd_interest_rate": x, "new_signing_key": x } """ - owner = Account(owner, steem_instance=self) + owner = Account(owner, hive_instance=self) try: PrivateKey(wif, prefix=self.prefix) @@ -1505,7 +1505,7 @@ class Steem(object): props_list.append([k, props[k]]) op = operations.Witness_set_properties({"owner": owner["name"], "props": props_list, "prefix": self.prefix}) - tb = TransactionBuilder(use_condenser_api=use_condenser_api, steem_instance=self) + tb = TransactionBuilder(use_condenser_api=use_condenser_api, hive_instance=self) tb.appendOps([op]) tb.appendWif(wif) tb.sign() @@ -1522,9 +1522,9 @@ class Steem(object): Properties::: { - "account_creation_fee": "3.000 STEEM", + "account_creation_fee": "3.000 HIVE", "maximum_block_size": 65536, - "sbd_interest_rate": 0, + "hbd_interest_rate": 0, } """ @@ -1533,21 +1533,21 @@ class Steem(object): if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self) + account = Account(account, hive_instance=self) try: PublicKey(signing_key, prefix=self.prefix) except Exception as e: raise e if "account_creation_fee" in props: - props["account_creation_fee"] = Amount(props["account_creation_fee"], steem_instance=self) + props["account_creation_fee"] = Amount(props["account_creation_fee"], hive_instance=self) op = operations.Witness_update( **{ "owner": account["name"], "url": url, "block_signing_key": signing_key, "props": props, - "fee": Amount(0, self.steem_symbol, steem_instance=self), + "fee": Amount(0, self.hive_symbol, hive_instance=self), "prefix": self.prefix, }) return self.finalizeOp(op, account, "active", **kwargs) @@ -1566,7 +1566,7 @@ class Steem(object): if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self) + account = Account(account, hive_instance=self) if not isinstance(proposal_ids, list): proposal_ids = [proposal_ids] @@ -1616,7 +1616,7 @@ class Steem(object): .. code-block:: python - steem.custom_json("id", "json_data", + hive.custom_json("id", "json_data", required_posting_auths=['account']) """ @@ -1627,7 +1627,7 @@ class Steem(object): account = required_posting_auths[0] else: raise Exception("At least one account needs to be specified") - account = Account(account, full=False, steem_instance=self) + account = Account(account, full=False, hive_instance=self) op = operations.Custom_json( **{ "json": json_data, @@ -1681,8 +1681,8 @@ class Steem(object): Example:: comment_options = { - 'max_accepted_payout': '1000000.000 SBD', - 'percent_steem_dollars': 10000, + 'max_accepted_payout': '1000000.000 HBD', + 'percent_hive_dollars': 10000, 'allow_votes': True, 'allow_curation_rewards': True, 'extensions': [[0, { @@ -1741,7 +1741,7 @@ class Steem(object): author = config["default_account"] if not author: raise ValueError("You need to provide an account") - account = Account(author, steem_instance=self) + account = Account(author, hive_instance=self) # deal with the category and tags if isinstance(tags, str): tags = list(set([_f for _f in (re.split("[\W_]", tags)) if _f])) @@ -1840,7 +1840,7 @@ class Steem(object): 'voter': account["name"], 'author': account["name"], 'permlink': permlink, - 'weight': STEEM_100_PERCENT, + 'weight': HIVE_100_PERCENT, }) ops.append(vote_op) @@ -1862,15 +1862,15 @@ class Steem(object): account = self.config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self) + account = Account(account, hive_instance=self) [post_author, post_permlink] = resolve_authorperm(identifier) - vote_weight = int(float(weight) * STEEM_1_PERCENT) - if vote_weight > STEEM_100_PERCENT: - vote_weight = STEEM_100_PERCENT - if vote_weight < -STEEM_100_PERCENT: - vote_weight = -STEEM_100_PERCENT + vote_weight = int(float(weight) * HIVE_1_PERCENT) + if vote_weight > HIVE_100_PERCENT: + vote_weight = HIVE_100_PERCENT + if vote_weight < -HIVE_100_PERCENT: + vote_weight = -HIVE_100_PERCENT op = operations.Vote( **{ @@ -1897,8 +1897,8 @@ class Steem(object): { "author": "", "permlink": "", - "max_accepted_payout": "1000000.000 SBD", - "percent_steem_dollars": 10000, + "max_accepted_payout": "1000000.000 HBD", + "percent_hive_dollars": 10000, "allow_votes": True, "allow_curation_rewards": True, } @@ -1908,7 +1908,7 @@ class Steem(object): account = config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self) + account = Account(account, hive_instance=self) author, permlink = resolve_authorperm(identifier) op = self._build_comment_options_op(author, permlink, options, beneficiaries) @@ -1917,7 +1917,7 @@ class Steem(object): def _build_comment_options_op(self, author, permlink, options, beneficiaries): options = remove_from_dict(options or {}, [ - 'max_accepted_payout', 'percent_steem_dollars', + 'max_accepted_payout', 'percent_hive_dollars', 'allow_votes', 'allow_curation_rewards', 'extensions' ], keep_keys=True) # override beneficiaries extension @@ -1932,27 +1932,27 @@ class Steem(object): "beneficiaries need an account field!" ) if 'weight' not in b: - b['weight'] = STEEM_100_PERCENT + b['weight'] = HIVE_100_PERCENT if len(b['account']) > 16: raise ValueError( "beneficiaries error, account name length >16!" ) - if b['weight'] < 1 or b['weight'] > STEEM_100_PERCENT: + if b['weight'] < 1 or b['weight'] > HIVE_100_PERCENT: raise ValueError( "beneficiaries error, 1<=weight<=%s!" % - (STEEM_100_PERCENT) + (HIVE_100_PERCENT) ) weight_sum += b['weight'] - if weight_sum > STEEM_100_PERCENT: + if weight_sum > HIVE_100_PERCENT: raise ValueError( "beneficiaries exceed total weight limit %s" % - STEEM_100_PERCENT + HIVE_100_PERCENT ) options['beneficiaries'] = beneficiaries - default_max_payout = "1000000.000 %s" % (self.sbd_symbol) + default_max_payout = "1000000.000 %s" % (self.hbd_symbol) comment_op = operations.Comment_options( **{ "author": @@ -1961,8 +1961,8 @@ class Steem(object): permlink, "max_accepted_payout": options.get("max_accepted_payout", default_max_payout), - "percent_steem_dollars": - int(options.get("percent_steem_dollars", STEEM_100_PERCENT)), + "percent_hive_dollars": + int(options.get("percent_hive_dollars", HIVE_100_PERCENT)), "allow_votes": options.get("allow_votes", True), "allow_curation_rewards": @@ -1992,7 +1992,7 @@ class Steem(object): def _get_asset_symbol(self, asset_id): """ get the asset symbol from an asset id - :@param int asset_id: 0 -> SBD, 1 -> STEEM, 2 -> VESTS + :@param int asset_id: 0 -> HBD, 1 -> HIVE, 2 -> VESTS """ for asset in self.chain_params['chain_assets']: @@ -2002,9 +2002,9 @@ class Steem(object): raise KeyError("asset ID not found in chain assets") @property - def sbd_symbol(self): - """ get the current chains symbol for SBD (e.g. "TBD" on testnet) """ - # some networks (e.g. whaleshares) do not have SBD + def hbd_symbol(self): + """ get the current chains symbol for HBD (e.g. "TBD" on testnet) """ + # some networks (e.g. whaleshares) do not have HBD try: symbol = self._get_asset_symbol(0) except KeyError: @@ -2012,8 +2012,8 @@ class Steem(object): return symbol @property - def steem_symbol(self): - """ get the current chains symbol for STEEM (e.g. "TESTS" on testnet) """ + def hive_symbol(self): + """ get the current chains symbol for HIVE (e.g. "TESTS" on testnet) """ return self._get_asset_symbol(1) @property diff --git a/beem/steemconnect.py b/beem/hiveconnect.py similarity index 79% rename from beem/steemconnect.py rename to beem/hiveconnect.py index c40456266b3d8f69afcf6e48d61a8b5e4b98e36c..9113ab632babb281661dd2e7e86b93bab2b81039 100644 --- a/beem/steemconnect.py +++ b/beem/hiveconnect.py @@ -13,12 +13,12 @@ except ImportError: import requests from .storage import configStorage as config from six import PY2 -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from beem.amount import Amount -class SteemConnect(object): - """ SteemConnect +class HiveConnect(object): + """ HiveConnect :param str scope: comma separated string with scopes login,offline,vote,comment,delete_comment,comment_options,custom_json,claim_reward_balance @@ -27,57 +27,57 @@ class SteemConnect(object): .. code-block:: python # Run the login_app in examples and login with a account - from beem import Steem - from beem.steemconnect import SteemConnect + from beem import Hive + from beem.hiveconnect import HiveConnect from beem.comment import Comment - sc2 = SteemConnect(client_id="beem.app") - steem = Steem(steemconnect=sc2) - steem.wallet.unlock("supersecret-passphrase") - post = Comment("author/permlink", steem_instance=steem) + sc2 = HiveConnect(client_id="beem.app") + hive = Hive(hiveconnect=sc2) + hive.wallet.unlock("supersecret-passphrase") + post = Comment("author/permlink", hive_instance=hive) post.upvote(voter="test") # replace "test" with your account - Examples for creating steemconnect v2 urls for broadcasting in browser: + Examples for creating hiveconnect v2 urls for broadcasting in browser: .. testoutput:: - from beem import Steem + from beem import Hive from beem.account import Account - from beem.steemconnect import SteemConnect + from beem.hiveconnect import HiveConnect from pprint import pprint - steem = Steem(nobroadcast=True, unsigned=True) - sc2 = SteemConnect(steem_instance=steem) - acc = Account("test", steem_instance=steem) - pprint(sc2.url_from_tx(acc.transfer("test1", 1, "STEEM", "test"))) + hive = Hive(nobroadcast=True, unsigned=True) + sc2 = HiveConnect(hive_instance=hive) + acc = Account("test", hive_instance=hive) + pprint(sc2.url_from_tx(acc.transfer("test1", 1, "HIVE", "test"))) .. testcode:: - 'https://steemconnect.com/sign/transfer?from=test&to=test1&amount=1.000+STEEM&memo=test' + 'https://hiveconnect.com/sign/transfer?from=test&to=test1&amount=1.000+HIVE&memo=test' .. testoutput:: - from beem import Steem + from beem import Hive from beem.transactionbuilder import TransactionBuilder from beembase import operations - from beem.steemconnect import SteemConnect + from beem.hiveconnect import HiveConnect from pprint import pprint - stm = Steem(nobroadcast=True, unsigned=True) - sc2 = SteemConnect(steem_instance=stm) - tx = TransactionBuilder(steem_instance=stm) + stm = Hive(nobroadcast=True, unsigned=True) + sc2 = HiveConnect(hive_instance=stm) + tx = TransactionBuilder(hive_instance=stm) op = operations.Transfer(**{"from": 'test', "to": 'test1', - "amount": '1.000 STEEM', + "amount": '1.000 HIVE', "memo": 'test'}) tx.appendOps(op) pprint(sc2.url_from_tx(tx.json())) .. testcode:: - 'https://steemconnect.com/sign/transfer?from=test&to=test1&amount=1.000+STEEM&memo=test' + 'https://hiveconnect.com/sign/transfer?from=test&to=test1&amount=1.000+HIVE&memo=test' """ - def __init__(self, steem_instance=None, *args, **kwargs): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, hive_instance=None, *args, **kwargs): + self.hive = hive_instance or shared_hive_instance() self.access_token = None self.get_refresh_token = kwargs.get("get_refresh_token", False) self.hot_sign_redirect_uri = kwargs.get("hot_sign_redirect_uri", config["hot_sign_redirect_uri"]) @@ -93,7 +93,7 @@ class SteemConnect(object): return {'Authorization': self.access_token} def get_login_url(self, redirect_uri, **kwargs): - """ Returns a login url for receiving token from steemconnect + """ Returns a login url for receiving token from hiveconnect """ client_id = kwargs.get("client_id", self.client_id) scope = kwargs.get("scope", self.scope) @@ -121,7 +121,7 @@ class SteemConnect(object): "grant_type": "authorization_code", "code": code, "client_id": self.client_id, - "client_secret": self.steem.wallet.getTokenForAccountName(self.client_id), + "client_secret": self.hive.wallet.getTokenForAccountName(self.client_id), } r = requests.post( @@ -132,13 +132,13 @@ class SteemConnect(object): return r.json() def me(self, username=None): - """ Calls the me function from steemconnect + """ Calls the me function from hiveconnect .. code-block:: python - from beem.steemconnect import SteemConnect - sc2 = SteemConnect() - sc2.steem.wallet.unlock("supersecret-passphrase") + from beem.hiveconnect import HiveConnect + sc2 = HiveConnect() + sc2.hive.wallet.unlock("supersecret-passphrase") sc2.me(username="test") """ @@ -160,7 +160,7 @@ class SteemConnect(object): if permission != "posting": self.access_token = None return - self.access_token = self.steem.wallet.getTokenForAccountName(username) + self.access_token = self.hive.wallet.getTokenForAccountName(username) def broadcast(self, operations, username=None): """ Broadcast an operation @@ -174,7 +174,7 @@ class SteemConnect(object): 'vote', { 'voter': 'gandalf', 'author': 'gtg', - 'permlink': 'steem-pressure-4-need-for-speed', + 'permlink': 'hive-pressure-4-need-for-speed', 'weight': 10000 } ] @@ -204,7 +204,7 @@ class SteemConnect(object): "grant_type": "refresh_token", "refresh_token": code, "client_id": self.client_id, - "client_secret": self.steem.wallet.getTokenForAccountName(self.client_id), + "client_secret": self.hive.wallet.getTokenForAccountName(self.client_id), "scope": scope, } @@ -256,7 +256,7 @@ class SteemConnect(object): value = params[key] if isinstance(value, list) and len(value) == 3: try: - amount = Amount(value, steem_instance=self.steem) + amount = Amount(value, hive_instance=self.hive) params[key] = str(amount) except: amount = None diff --git a/beem/imageuploader.py b/beem/imageuploader.py index b66e7df4c66dcc6e1093a85d47375c1998c374f3..de7ea0830e310be2194e541f6ea6da004948dfeb 100644 --- a/beem/imageuploader.py +++ b/beem/imageuploader.py @@ -10,7 +10,7 @@ import collections import hashlib from binascii import hexlify, unhexlify import requests -from .instance import shared_steem_instance +from .instance import shared_hive_instance from beem.account import Account from beemgraphenebase.py23 import integer_types, string_types, text_type, py23_bytes from beemgraphenebase.account import PrivateKey @@ -20,13 +20,13 @@ from beemgraphenebase.ecdsasig import sign_message, verify_message class ImageUploader(object): def __init__( self, - base_url="https://steemitimages.com", + base_url="https://hiveitimages.com", challenge="ImageSigningChallenge", - steem_instance=None, + hive_instance=None, ): self.challenge = challenge self.base_url = base_url - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() def upload(self, image, account, image_name=None): """ Uploads an image @@ -38,20 +38,20 @@ class ImageUploader(object): .. code-block:: python - from beem import Steem + from beem import Hive from beem.imageuploader import ImageUploader - stm = Steem(keys=["5xxx"]) # private posting key - iu = ImageUploader(steem_instance=stm) + stm = Hive(keys=["5xxx"]) # private posting key + iu = ImageUploader(hive_instance=stm) iu.upload("path/to/image.png", "account_name") # "private posting key belongs to account_name """ - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if "posting" not in account: account.refresh() if "posting" not in account: raise AssertionError("Could not access posting permission") for authority in account["posting"]["key_auths"]: - posting_wif = self.steem.wallet.getPrivateKeyForPublicKey(authority[0]) + posting_wif = self.hive.wallet.getPrivateKeyForPublicKey(authority[0]) if isinstance(image, string_types): image_data = open(image, 'rb').read() diff --git a/beem/instance.py b/beem/instance.py index 2e8071f66225aac30da6d6b63b2f47a543c8a9f4..c473fc20aece4f616ae43317eab8e66b6e9db3d3 100644 --- a/beem/instance.py +++ b/beem/instance.py @@ -8,40 +8,40 @@ import beem as stm class SharedInstance(object): - """Singelton for the Steem Instance""" + """Singelton for the Hive Instance""" instance = None config = {} -def shared_steem_instance(): +def shared_hive_instance(): """ This method will initialize ``SharedInstance.instance`` and return it. The purpose of this method is to have offer single default - steem instance that can be reused by multiple classes. + hive instance that can be reused by multiple classes. .. code-block:: python from beem.account import Account - from beem.instance import shared_steem_instance + from beem.instance import shared_hive_instance account = Account("test") # is equivalent with - account = Account("test", steem_instance=shared_steem_instance()) + account = Account("test", hive_instance=shared_hive_instance()) """ if not SharedInstance.instance: clear_cache() - SharedInstance.instance = stm.Steem(**SharedInstance.config) + SharedInstance.instance = stm.Hive(**SharedInstance.config) return SharedInstance.instance -def set_shared_steem_instance(steem_instance): - """ This method allows us to override default steem instance for all users of +def set_shared_hive_instance(hive_instance): + """ This method allows us to override default hive instance for all users of ``SharedInstance.instance``. - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance """ clear_cache() - SharedInstance.instance = steem_instance + SharedInstance.instance = hive_instance def clear_cache(): @@ -53,7 +53,7 @@ def clear_cache(): def set_shared_config(config): """ This allows to set a config that will be used when calling - ``shared_steem_instance`` and allows to define the configuration + ``shared_hive_instance`` and allows to define the configuration without requiring to actually create an instance """ if not isinstance(config, dict): diff --git a/beem/market.py b/beem/market.py index feae65328aa04edb3f52eb21226c29a9942b305d..5c75fd22cd7dda7c85563ccc159c1ad066848630 100644 --- a/beem/market.py +++ b/beem/market.py @@ -8,7 +8,7 @@ import random import pytz import logging from datetime import datetime, timedelta -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from .utils import ( formatTimeFromNow, formatTime, formatTimeString, assets_from_string, parse_time, addTzInfo) from .asset import Asset @@ -30,7 +30,7 @@ log = logging.getLogger(__name__) class Market(dict): """ This class allows to easily access Markets on the blockchain for trading, etc. - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance :param Asset base: Base asset :param Asset quote: Quote asset :returns: Blockchain Market @@ -49,7 +49,7 @@ class Market(dict): * ``base-quote`` separated with ``-`` .. note:: Throughout this library, the ``quote`` symbol will be - presented first (e.g. ``STEEM:SBD`` with ``STEEM`` being the + presented first (e.g. ``HIVE:HBD`` with ``HIVE`` being the quote), while the ``base`` only refers to a secondary asset for a trade. This means, if you call :func:`beem.market.Market.sell` or @@ -62,35 +62,35 @@ class Market(dict): self, base=None, quote=None, - steem_instance=None, + hive_instance=None, ): """ Init Market - :param beem.steem.Steem steem_instance: Steem instance + :param beem.hive.Hive hive_instance: Hive instance :param beem.asset.Asset base: Base asset :param beem.asset.Asset quote: Quote asset """ - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if quote is None and isinstance(base, str): quote_symbol, base_symbol = assets_from_string(base) - quote = Asset(quote_symbol, steem_instance=self.steem) - base = Asset(base_symbol, steem_instance=self.steem) + quote = Asset(quote_symbol, hive_instance=self.hive) + base = Asset(base_symbol, hive_instance=self.hive) super(Market, self).__init__({"base": base, "quote": quote}) elif base and quote: - quote = Asset(quote, steem_instance=self.steem) - base = Asset(base, steem_instance=self.steem) + quote = Asset(quote, hive_instance=self.hive) + base = Asset(base, hive_instance=self.hive) super(Market, self).__init__({"base": base, "quote": quote}) elif base is None and quote is None: - quote = Asset("SBD", steem_instance=self.steem) - base = Asset("STEEM", steem_instance=self.steem) + quote = Asset("HBD", hive_instance=self.hive) + base = Asset("HIVE", hive_instance=self.hive) super(Market, self).__init__({"base": base, "quote": quote}) else: raise ValueError("Unknown Market config") def get_string(self, separator=":"): - """ Return a formated string that identifies the market, e.g. ``STEEM:SBD`` + """ Return a formated string that identifies the market, e.g. ``HIVE:HBD`` :param str separator: The separator of the assets (defaults to ``:``) """ @@ -120,12 +120,12 @@ class Market(dict): * ``latest``: Price of the order last filled * ``lowest_ask``: Price of the lowest ask * ``highest_bid``: Price of the highest bid - * ``sbd_volume``: Volume of SBD - * ``steem_volume``: Volume of STEEM + * ``hbd_volume``: Volume of HBD + * ``hive_volume``: Volume of HIVE * ``percent_change``: 24h change percentage (in %) .. note:: - Market is STEEM:SBD and prices are SBD per STEEM! + Market is HIVE:HBD and prices are HBD per HIVE! Sample Output: @@ -136,15 +136,15 @@ class Market(dict): 'latest': 0.0, 'lowest_ask': 0.3249636958897082, 'percent_change': 0.0, - 'sbd_volume': 108329611.0, - 'steem_volume': 355094043.0 + 'hbd_volume': 108329611.0, + 'hive_volume': 355094043.0 } """ data = {} # Core Exchange rate - self.steem.rpc.set_next_node_on_empty_reply(True) - ticker = self.steem.rpc.get_ticker(api="market_history") + self.hive.rpc.set_next_node_on_empty_reply(True) + ticker = self.hive.rpc.get_ticker(api="market_history") if raw_data: return ticker @@ -153,23 +153,23 @@ class Market(dict): ticker["highest_bid"], base=self["base"], quote=self["quote"], - steem_instance=self.steem + hive_instance=self.hive ) data["latest"] = Price( ticker["latest"], quote=self["quote"], base=self["base"], - steem_instance=self.steem + hive_instance=self.hive ) data["lowest_ask"] = Price( ticker["lowest_ask"], base=self["base"], quote=self["quote"], - steem_instance=self.steem + hive_instance=self.hive ) data["percent_change"] = float(ticker["percent_change"]) - data["sbd_volume"] = Amount(ticker["sbd_volume"], steem_instance=self.steem) - data["steem_volume"] = Amount(ticker["steem_volume"], steem_instance=self.steem) + data["hbd_volume"] = Amount(ticker["hbd_volume"], hive_instance=self.hive) + data["hive_volume"] = Amount(ticker["hive_volume"], hive_instance=self.hive) return data @@ -181,22 +181,22 @@ class Market(dict): .. code-block:: js { - "STEEM": 361666.63617, - "SBD": 1087.0 + "HIVE": 361666.63617, + "HBD": 1087.0 } """ - self.steem.rpc.set_next_node_on_empty_reply(True) - volume = self.steem.rpc.get_volume(api="market_history") + self.hive.rpc.set_next_node_on_empty_reply(True) + volume = self.hive.rpc.get_volume(api="market_history") if raw_data: return volume return { - self["base"]["symbol"]: Amount(volume["sbd_volume"], steem_instance=self.steem), - self["quote"]["symbol"]: Amount(volume["steem_volume"], steem_instance=self.steem) + self["base"]["symbol"]: Amount(volume["hbd_volume"], hive_instance=self.hive), + self["quote"]["symbol"]: Amount(volume["hive_volume"], hive_instance=self.hive) } def orderbook(self, limit=25, raw_data=False): - """ Returns the order book for SBD/STEEM market. + """ Returns the order book for HBD/HIVE market. :param int limit: Limit the amount of orders (default: 25) @@ -206,12 +206,12 @@ class Market(dict): { 'asks': [ - 380.510 STEEM 460.291 SBD @ 1.209669 SBD/STEEM, - 53.785 STEEM 65.063 SBD @ 1.209687 SBD/STEEM + 380.510 HIVE 460.291 HBD @ 1.209669 HBD/HIVE, + 53.785 HIVE 65.063 HBD @ 1.209687 HBD/HIVE ], 'bids': [ - 0.292 STEEM 0.353 SBD @ 1.208904 SBD/STEEM, - 8.498 STEEM 10.262 SBD @ 1.207578 SBD/STEEM + 0.292 HIVE 0.353 HBD @ 1.208904 HBD/HIVE, + 8.498 HIVE 10.262 HBD @ 1.207578 HBD/HIVE ], 'asks_date': [ datetime.datetime(2018, 4, 30, 21, 7, 24, tzinfo=<UTC>), @@ -230,19 +230,19 @@ class Market(dict): { 'asks': [ { - 'order_price': {'base': '8.000 STEEM', 'quote': '9.618 SBD'}, + 'order_price': {'base': '8.000 HIVE', 'quote': '9.618 HBD'}, 'real_price': '1.20225000000000004', - 'steem': 4565, - 'sbd': 5488, + 'hive': 4565, + 'hbd': 5488, 'created': '2018-04-30T21:12:45' } ], 'bids': [ { - 'order_price': {'base': '10.000 SBD', 'quote': '8.333 STEEM'}, + 'order_price': {'base': '10.000 HBD', 'quote': '8.333 HIVE'}, 'real_price': '1.20004800192007677', - 'steem': 8333, - 'sbd': 10000, + 'hive': 8333, + 'hbd': 10000, 'created': '2018-04-30T20:29:33' } ] @@ -254,21 +254,21 @@ class Market(dict): obtain the actual amounts for sale """ - self.steem.rpc.set_next_node_on_empty_reply(True) - if self.steem.rpc.get_use_appbase(): - orders = self.steem.rpc.get_order_book({'limit': limit}, api="market_history") + self.hive.rpc.set_next_node_on_empty_reply(True) + if self.hive.rpc.get_use_appbase(): + orders = self.hive.rpc.get_order_book({'limit': limit}, api="market_history") else: - orders = self.steem.rpc.get_order_book(limit, api='database_api') + orders = self.hive.rpc.get_order_book(limit, api='database_api') if raw_data: return orders asks = list([Order( - Amount(x["order_price"]["quote"], steem_instance=self.steem), - Amount(x["order_price"]["base"], steem_instance=self.steem), - steem_instance=self.steem) for x in orders["asks"]]) + Amount(x["order_price"]["quote"], hive_instance=self.hive), + Amount(x["order_price"]["base"], hive_instance=self.hive), + hive_instance=self.hive) for x in orders["asks"]]) bids = list([Order( - Amount(x["order_price"]["quote"], steem_instance=self.steem), - Amount(x["order_price"]["base"], steem_instance=self.steem), - steem_instance=self.steem).invert() for x in orders["bids"]]) + Amount(x["order_price"]["quote"], hive_instance=self.hive), + Amount(x["order_price"]["base"], hive_instance=self.hive), + hive_instance=self.hive).invert() for x in orders["bids"]]) asks_date = list([formatTimeString(x["created"]) for x in orders["asks"]]) bids_date = list([formatTimeString(x["created"]) for x in orders["bids"]]) data = {"asks": asks, "bids": bids, "asks_date": asks_date, "bids_date": bids_date} @@ -287,11 +287,11 @@ class Market(dict): .. code-block:: none [ - (2018-04-30 21:00:54+00:00) 0.267 STEEM 0.323 SBD @ 1.209738 SBD/STEEM, - (2018-04-30 20:59:30+00:00) 0.131 STEEM 0.159 SBD @ 1.213740 SBD/STEEM, - (2018-04-30 20:55:45+00:00) 0.093 STEEM 0.113 SBD @ 1.215054 SBD/STEEM, - (2018-04-30 20:55:30+00:00) 26.501 STEEM 32.058 SBD @ 1.209690 SBD/STEEM, - (2018-04-30 20:55:18+00:00) 2.108 STEEM 2.550 SBD @ 1.209677 SBD/STEEM, + (2018-04-30 21:00:54+00:00) 0.267 HIVE 0.323 HBD @ 1.209738 HBD/HIVE, + (2018-04-30 20:59:30+00:00) 0.131 HIVE 0.159 HBD @ 1.213740 HBD/HIVE, + (2018-04-30 20:55:45+00:00) 0.093 HIVE 0.113 HBD @ 1.215054 HBD/HIVE, + (2018-04-30 20:55:30+00:00) 26.501 HIVE 32.058 HBD @ 1.209690 HBD/HIVE, + (2018-04-30 20:55:18+00:00) 2.108 HIVE 2.550 HBD @ 1.209677 HBD/HIVE, ] Sample output (raw_data=True): @@ -299,11 +299,11 @@ class Market(dict): .. code-block:: js [ - {'date': '2018-04-30T21:02:45', 'current_pays': '0.235 SBD', 'open_pays': '0.194 STEEM'}, - {'date': '2018-04-30T21:02:03', 'current_pays': '24.494 SBD', 'open_pays': '20.248 STEEM'}, - {'date': '2018-04-30T20:48:30', 'current_pays': '175.464 STEEM', 'open_pays': '211.955 SBD'}, - {'date': '2018-04-30T20:48:30', 'current_pays': '0.999 STEEM', 'open_pays': '1.207 SBD'}, - {'date': '2018-04-30T20:47:54', 'current_pays': '0.273 SBD', 'open_pays': '0.225 STEEM'}, + {'date': '2018-04-30T21:02:45', 'current_pays': '0.235 HBD', 'open_pays': '0.194 HIVE'}, + {'date': '2018-04-30T21:02:03', 'current_pays': '24.494 HBD', 'open_pays': '20.248 HIVE'}, + {'date': '2018-04-30T20:48:30', 'current_pays': '175.464 HIVE', 'open_pays': '211.955 HBD'}, + {'date': '2018-04-30T20:48:30', 'current_pays': '0.999 HIVE', 'open_pays': '1.207 HBD'}, + {'date': '2018-04-30T20:47:54', 'current_pays': '0.273 HBD', 'open_pays': '0.225 HIVE'}, ] .. note:: Each bid is an instance of @@ -312,14 +312,14 @@ class Market(dict): obtain the actual amounts for sale """ - self.steem.rpc.set_next_node_on_empty_reply(limit > 0) - if self.steem.rpc.get_use_appbase(): - orders = self.steem.rpc.get_recent_trades({'limit': limit}, api="market_history")['trades'] + self.hive.rpc.set_next_node_on_empty_reply(limit > 0) + if self.hive.rpc.get_use_appbase(): + orders = self.hive.rpc.get_recent_trades({'limit': limit}, api="market_history")['trades'] else: - orders = self.steem.rpc.get_recent_trades(limit, api="market_history") + orders = self.hive.rpc.get_recent_trades(limit, api="market_history") if raw_data: return orders - filled_order = list([FilledOrder(x, steem_instance=self.steem) for x in orders]) + filled_order = list([FilledOrder(x, hive_instance=self.hive) for x in orders]) return filled_order def trade_history(self, start=None, stop=None, intervall=None, limit=25, raw_data=False): @@ -385,25 +385,25 @@ class Market(dict): start = stop - timedelta(hours=24) start = addTzInfo(start) stop = addTzInfo(stop) - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - orders = self.steem.rpc.get_trade_history({'start': formatTimeString(start), + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + orders = self.hive.rpc.get_trade_history({'start': formatTimeString(start), 'end': formatTimeString(stop), 'limit': limit}, api="market_history")['trades'] else: - orders = self.steem.rpc.get_trade_history( + orders = self.hive.rpc.get_trade_history( formatTimeString(start), formatTimeString(stop), limit, api="market_history") if raw_data: return orders - filled_order = list([FilledOrder(x, steem_instance=self.steem) for x in orders]) + filled_order = list([FilledOrder(x, hive_instance=self.hive) for x in orders]) return filled_order def market_history_buckets(self): - self.steem.rpc.set_next_node_on_empty_reply(True) - ret = self.steem.rpc.get_market_history_buckets(api="market_history") - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(True) + ret = self.hive.rpc.get_market_history_buckets(api="market_history") + if self.hive.rpc.get_use_appbase(): return ret['bucket_sizes'] else: return ret @@ -424,19 +424,19 @@ class Market(dict): .. code-block:: js { - 'close_sbd': 2493387, - 'close_steem': 7743431, - 'high_sbd': 1943872, - 'high_steem': 5999610, + 'close_hbd': 2493387, + 'close_hive': 7743431, + 'high_hbd': 1943872, + 'high_hive': 5999610, 'id': '7.1.5252', - 'low_sbd': 534928, - 'low_steem': 1661266, + 'low_hbd': 534928, + 'low_hive': 1661266, 'open': '2016-07-08T11:25:00', - 'open_sbd': 534928, - 'open_steem': 1661266, - 'sbd_volume': 9714435, + 'open_hbd': 534928, + 'open_hive': 1661266, + 'hbd_volume': 9714435, 'seconds': 300, - 'steem_volume': 30088443 + 'hive_volume': 30088443 } """ @@ -446,13 +446,13 @@ class Market(dict): else: if bucket_seconds not in buckets: raise ValueError("You need select the bucket_seconds from " + str(buckets)) - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - history = self.steem.rpc.get_market_history({'bucket_seconds': bucket_seconds, + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + history = self.hive.rpc.get_market_history({'bucket_seconds': bucket_seconds, 'start': formatTimeFromNow(-start_age - end_age), 'end': formatTimeFromNow(-end_age)}, api="market_history")['buckets'] else: - history = self.steem.rpc.get_market_history( + history = self.hive.rpc.get_market_history( bucket_seconds, formatTimeFromNow(-start_age - end_age), formatTimeFromNow(-end_age), @@ -474,29 +474,29 @@ class Market(dict): or a list of Order() instances if False (defaults to False) """ if not account: - if "default_account" in self.steem.config: - account = self.steem.config["default_account"] + if "default_account" in self.hive.config: + account = self.hive.config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, full=True, steem_instance=self.steem) + account = Account(account, full=True, hive_instance=self.hive) r = [] # orders = account["limit_orders"] - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - orders = self.steem.rpc.find_limit_orders({'account': account["name"]}, api="database")['orders'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + orders = self.hive.rpc.find_limit_orders({'account': account["name"]}, api="database")['orders'] else: - orders = self.steem.rpc.get_open_orders(account["name"]) + orders = self.hive.rpc.get_open_orders(account["name"]) if raw_data: return orders for o in orders: order = {} order["order"] = Order( - Amount(o["sell_price"]["base"], steem_instance=self.steem), - Amount(o["sell_price"]["quote"], steem_instance=self.steem), - steem_instance=self.steem + Amount(o["sell_price"]["base"], hive_instance=self.hive), + Amount(o["sell_price"]["quote"], hive_instance=self.hive), + hive_instance=self.hive ) order["orderid"] = o["orderid"] order["created"] = formatTimeString(o["created"]) @@ -523,16 +523,16 @@ class Market(dict): :param string returnOrderId: If set to "head" or "irreversible" the call will wait for the tx to appear in the head/irreversible block and add the key "orderid" to the tx output - Prices/Rates are denoted in 'base', i.e. the SBD_STEEM market - is priced in STEEM per SBD. + Prices/Rates are denoted in 'base', i.e. the HBD_HIVE market + is priced in HIVE per HBD. - **Example:** in the SBD_STEEM market, a price of 300 means - a SBD is worth 300 STEEM + **Example:** in the HBD_HIVE market, a price of 300 means + a HBD is worth 300 HIVE .. note:: All prices returned are in the **reversed** orientation as the - market. I.e. in the STEEM/SBD market, prices are SBD per STEEM. + market. I.e. in the HIVE/HBD market, prices are HBD per HIVE. That way you can multiply prices with `1.05` to get a +5%. .. warning:: @@ -543,31 +543,31 @@ class Market(dict): buy asset than you placed the order for. Example: - * You place and order to buy 10 SBD for 100 STEEM/SBD - * This means that you actually place a sell order for 1000 STEEM in order to obtain **at least** 10 SBD - * If an order on the market exists that sells SBD for cheaper, you will end up with more than 10 SBD + * You place and order to buy 10 HBD for 100 HIVE/HBD + * This means that you actually place a sell order for 1000 HIVE in order to obtain **at least** 10 HBD + * If an order on the market exists that sells HBD for cheaper, you will end up with more than 10 HBD """ if not expiration: - expiration = self.steem.config["order-expiration"] + expiration = self.hive.config["order-expiration"] if not account: - if "default_account" in self.steem.config: - account = self.steem.config["default_account"] + if "default_account" in self.hive.config: + account = self.hive.config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if isinstance(price, Price): price = price.as_base(self["base"]["symbol"]) if isinstance(amount, Amount): - amount = Amount(amount, steem_instance=self.steem) + amount = Amount(amount, hive_instance=self.hive) if not amount["asset"]["symbol"] == self["quote"]["symbol"]: raise AssertionError("Price: {} does not match amount: {}".format( str(price), str(amount))) elif isinstance(amount, str): - amount = Amount(amount, steem_instance=self.steem) + amount = Amount(amount, hive_instance=self.hive) else: - amount = Amount(amount, self["quote"]["symbol"], steem_instance=self.steem) + amount = Amount(amount, self["quote"]["symbol"], hive_instance=self.hive) order = operations.Limit_order_create(**{ "owner": account["name"], @@ -575,28 +575,28 @@ class Market(dict): "amount_to_sell": Amount( float(amount) * float(price), self["base"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ), "min_to_receive": Amount( float(amount), self["quote"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ), "expiration": formatTimeFromNow(expiration), "fill_or_kill": killfill, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) if returnOrderId: # Make blocking broadcasts - prevblocking = self.steem.blocking - self.steem.blocking = returnOrderId + prevblocking = self.hive.blocking + self.hive.blocking = returnOrderId - tx = self.steem.finalizeOp(order, account["name"], "active") + tx = self.hive.finalizeOp(order, account["name"], "active") if returnOrderId: tx["orderid"] = tx["operation_results"][0][1] - self.steem.blocking = prevblocking + self.hive.blocking = prevblocking return tx @@ -620,38 +620,38 @@ class Market(dict): :param string returnOrderId: If set to "head" or "irreversible" the call will wait for the tx to appear in the head/irreversible block and add the key "orderid" to the tx output - Prices/Rates are denoted in 'base', i.e. the SBD_STEEM market - is priced in STEEM per SBD. + Prices/Rates are denoted in 'base', i.e. the HBD_HIVE market + is priced in HIVE per HBD. - **Example:** in the SBD_STEEM market, a price of 300 means - a SBD is worth 300 STEEM + **Example:** in the HBD_HIVE market, a price of 300 means + a HBD is worth 300 HIVE .. note:: All prices returned are in the **reversed** orientation as the - market. I.e. in the STEEM/SBD market, prices are SBD per STEEM. + market. I.e. in the HIVE/HBD market, prices are HBD per HIVE. That way you can multiply prices with `1.05` to get a +5%. """ if not expiration: - expiration = self.steem.config["order-expiration"] + expiration = self.hive.config["order-expiration"] if not account: - if "default_account" in self.steem.config: - account = self.steem.config["default_account"] + if "default_account" in self.hive.config: + account = self.hive.config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if isinstance(price, Price): price = price.as_base(self["base"]["symbol"]) if isinstance(amount, Amount): - amount = Amount(amount, steem_instance=self.steem) + amount = Amount(amount, hive_instance=self.hive) if not amount["asset"]["symbol"] == self["quote"]["symbol"]: raise AssertionError("Price: {} does not match amount: {}".format( str(price), str(amount))) elif isinstance(amount, str): - amount = Amount(amount, steem_instance=self.steem) + amount = Amount(amount, hive_instance=self.hive) else: - amount = Amount(amount, self["quote"]["symbol"], steem_instance=self.steem) + amount = Amount(amount, self["quote"]["symbol"], hive_instance=self.hive) order = operations.Limit_order_create(**{ "owner": account["name"], @@ -659,27 +659,27 @@ class Market(dict): "amount_to_sell": Amount( float(amount), self["quote"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ), "min_to_receive": Amount( float(amount) * float(price), self["base"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ), "expiration": formatTimeFromNow(expiration), "fill_or_kill": killfill, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) if returnOrderId: # Make blocking broadcasts - prevblocking = self.steem.blocking - self.steem.blocking = returnOrderId + prevblocking = self.hive.blocking + self.hive.blocking = returnOrderId - tx = self.steem.finalizeOp(order, account["name"], "active") + tx = self.hive.finalizeOp(order, account["name"], "active") if returnOrderId: tx["orderid"] = tx["operation_results"][0][1] - self.steem.blocking = prevblocking + self.hive.blocking = prevblocking return tx @@ -691,11 +691,11 @@ class Market(dict): :type orderNumbers: int, list """ if not account: - if "default_account" in self.steem.config: - account = self.steem.config["default_account"] + if "default_account" in self.hive.config: + account = self.hive.config["default_account"] if not account: raise ValueError("You need to provide an account") - account = Account(account, full=False, steem_instance=self.steem) + account = Account(account, full=False, hive_instance=self.hive) if not isinstance(orderNumbers, (list, set, tuple)): orderNumbers = {orderNumbers} @@ -706,8 +706,8 @@ class Market(dict): operations.Limit_order_cancel(**{ "owner": account["name"], "orderid": order, - "prefix": self.steem.prefix})) - return self.steem.finalizeOp(op, account["name"], "active", **kwargs) + "prefix": self.hive.prefix})) + return self.hive.finalizeOp(op, account["name"], "active", **kwargs) @staticmethod def _weighted_average(values, weights): @@ -779,18 +779,18 @@ class Market(dict): [x['volume'] for x in prices.values()]) @staticmethod - def steem_btc_ticker(): - """ Returns the STEEM/BTC price from bittrex, binance, huobi and upbit. The mean price is + def hive_btc_ticker(): + """ Returns the HIVE/BTC price from bittrex, binance, huobi and upbit. The mean price is weighted by the exchange volume. """ prices = {} responses = [] urls = [ # "https://poloniex.com/public?command=returnTicker", - "https://bittrex.com/api/v1.1/public/getmarketsummary?market=BTC-STEEM", + "https://bittrex.com/api/v1.1/public/getmarketsummary?market=BTC-HIVE", "https://api.binance.com/api/v1/ticker/24hr", - "https://api.huobi.pro/market/history/kline?period=1day&size=1&symbol=steembtc", - "https://crix-api.upbit.com/v1/crix/trades/ticks?code=CRIX.UPBIT.BTC-STEEM&count=1", + "https://api.huobi.pro/market/history/kline?period=1day&size=1&symbol=hivebtc", + "https://crix-api.upbit.com/v1/crix/trades/ticks?code=CRIX.UPBIT.BTC-HIVE&count=1", ] headers = {'Content-type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'} @@ -803,7 +803,7 @@ class Market(dict): if hasattr(x, "status_code") and x.status_code == 200 and x.json()]: try: if "poloniex" in r.url: - data = r.json()["BTC_STEEM"] + data = r.json()["BTC_HIVE"] prices['poloniex'] = { 'price': float(data['last']), 'volume': float(data['baseVolume'])} @@ -812,7 +812,7 @@ class Market(dict): price = (data['Bid'] + data['Ask']) / 2 prices['bittrex'] = {'price': price, 'volume': data['BaseVolume']} elif "binance" in r.url: - data = [x for x in r.json() if x['symbol'] == 'STEEMBTC'][0] + data = [x for x in r.json() if x['symbol'] == 'HIVEBTC'][0] prices['binance'] = { 'price': float(data['lastPrice']), 'volume': float(data['quoteVolume'])} @@ -830,12 +830,12 @@ class Market(dict): log.info(str(e)) if len(prices) == 0: - raise RuntimeError("Obtaining STEEM/BTC prices has failed from all sources.") + raise RuntimeError("Obtaining HIVE/BTC prices has failed from all sources.") return Market._weighted_average( [x['price'] for x in prices.values()], [x['volume'] for x in prices.values()]) - def steem_usd_implied(self): - """Returns the current STEEM/USD market price""" - return self.steem_btc_ticker() * self.btc_usd_ticker() + def hive_usd_implied(self): + """Returns the current HIVE/USD market price""" + return self.hive_btc_ticker() * self.btc_usd_ticker() diff --git a/beem/memo.py b/beem/memo.py index c3d98810d25c91ce8858c1a502d1c78f597ad26a..9880c9363190167707f3ff4e0ca885ebe8669d55 100644 --- a/beem/memo.py +++ b/beem/memo.py @@ -5,7 +5,7 @@ from __future__ import print_function from __future__ import unicode_literals from builtins import str from builtins import object -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance import random from beembase import memo as BtsMemo from beemgraphenebase.account import PrivateKey, PublicKey @@ -18,7 +18,7 @@ class Memo(object): :param Account from_account: Account that has sent the memo :param Account to_account: Account that has received the memo - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance A memo is encrypted with a shared secret derived from a private key of the sender and a public key of the receiver. Due to the underlying @@ -29,8 +29,8 @@ class Memo(object): .. code-block:: python from beem.memo import Memo - m = Memo("steemeu", "wallet.xeroc") - m.steem.wallet.unlock("secret") + m = Memo("hiveeu", "wallet.xeroc") + m.hive.wallet.unlock("secret") enc = (m.encrypt("foobar")) print(enc) >> {'nonce': '17329630356955254641', 'message': '8563e2bb2976e0217806d642901a2855'} @@ -43,14 +43,14 @@ class Memo(object): from beem.memo import Memo m = Memo() - m.steem.wallet.unlock("secret") + m.hive.wallet.unlock("secret") print(m.decrypt(op_data["memo"])) if ``op_data`` being the payload of a transfer operation. Memo Keys - In Steem, memos are AES-256 encrypted with a shared secret between sender and + In Hive, memos are AES-256 encrypted with a shared secret between sender and receiver. It is derived from the memo private key of the sender and the memo public key of the receiver. @@ -137,20 +137,20 @@ class Memo(object): self, from_account=None, to_account=None, - steem_instance=None + hive_instance=None ): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if to_account: - self.to_account = Account(to_account, steem_instance=self.steem) + self.to_account = Account(to_account, hive_instance=self.hive) if from_account: - self.from_account = Account(from_account, steem_instance=self.steem) + self.from_account = Account(from_account, hive_instance=self.hive) def unlock_wallet(self, *args, **kwargs): """ Unlock the library internal wallet """ - self.steem.wallet.unlock(*args, **kwargs) + self.hive.wallet.unlock(*args, **kwargs) return self def encrypt(self, memo, bts_encrypt=False): @@ -164,14 +164,14 @@ class Memo(object): return None nonce = str(random.getrandbits(64)) - memo_wif = self.steem.wallet.getPrivateKeyForPublicKey( + memo_wif = self.hive.wallet.getPrivateKeyForPublicKey( self.from_account["memo_key"] ) if not memo_wif: raise MissingKeyError("Memo key for %s missing!" % self.from_account["name"]) if not hasattr(self, 'chain_prefix'): - self.chain_prefix = self.steem.prefix + self.chain_prefix = self.hive.prefix if bts_encrypt: enc = BtsMemo.encode_memo_bts( @@ -220,8 +220,8 @@ class Memo(object): # We first try to decode assuming we received the memo if isinstance(memo, dict) and "to" in memo and "from" in memo and "memo" in memo: - memo_to = Account(memo["to"], steem_instance=self.steem) - memo_from = Account(memo["from"], steem_instance=self.steem) + memo_to = Account(memo["to"], hive_instance=self.hive) + memo_from = Account(memo["from"], hive_instance=self.hive) message = memo["memo"] else: memo_to = self.to_account @@ -233,14 +233,14 @@ class Memo(object): nonce = "" try: - memo_wif = self.steem.wallet.getPrivateKeyForPublicKey( + memo_wif = self.hive.wallet.getPrivateKeyForPublicKey( memo_to["memo_key"] ) pubkey = memo_from["memo_key"] except MissingKeyError: try: # if that failed, we assume that we have sent the memo - memo_wif = self.steem.wallet.getPrivateKeyForPublicKey( + memo_wif = self.hive.wallet.getPrivateKeyForPublicKey( memo_from["memo_key"] ) pubkey = memo_to["memo_key"] @@ -252,7 +252,7 @@ class Memo(object): [memo_to["name"], memo_from["name"]])) if not hasattr(self, 'chain_prefix'): - self.chain_prefix = self.steem.prefix + self.chain_prefix = self.hive.prefix if message[0] == '#': return BtsMemo.decode_memo( diff --git a/beem/message.py b/beem/message.py index c0ff17ab2a10b25b77273006a6b61bd0bc691dae..668c1103a18419492a1b101e93a3cfcdd8390983 100644 --- a/beem/message.py +++ b/beem/message.py @@ -9,7 +9,7 @@ import logging from binascii import hexlify, unhexlify from beemgraphenebase.ecdsasig import verify_message, sign_message from beemgraphenebase.account import PublicKey -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from beem.account import Account from .exceptions import InvalidMessageSignature from .storage import configStorage as config @@ -18,10 +18,10 @@ from .storage import configStorage as config log = logging.getLogger(__name__) MESSAGE_SPLIT = ( - "-----BEGIN STEEM SIGNED MESSAGE-----", + "-----BEGIN HIVE SIGNED MESSAGE-----", "-----BEGIN META-----", "-----BEGIN SIGNATURE-----", - "-----END STEEM SIGNED MESSAGE-----" + "-----END HIVE SIGNED MESSAGE-----" ) SIGNED_MESSAGE_META = """{message} @@ -46,8 +46,8 @@ timestamp={meta[timestamp]} class Message(object): - def __init__(self, message, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, message, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() self.message = message def sign(self, account=None, **kwargs): @@ -66,8 +66,8 @@ class Message(object): raise ValueError("You need to provide an account") # Data for message - account = Account(account, steem_instance=self.steem) - info = self.steem.info() + account = Account(account, hive_instance=self.hive) + info = self.hive.info() meta = dict( timestamp=info["time"], block=info["head_block_number"], @@ -75,7 +75,7 @@ class Message(object): account=account["name"]) # wif key - wif = self.steem.wallet.getPrivateKeyForPublicKey( + wif = self.hive.wallet.getPrivateKeyForPublicKey( account["memo_key"] ) @@ -128,7 +128,7 @@ class Message(object): # Load account from blockchain account = Account( meta.get("account"), - steem_instance=self.steem) + hive_instance=self.hive) # Test if memo key is the same as on the blockchain if not account["memo_key"] == meta["memokey"]: @@ -148,7 +148,7 @@ class Message(object): # Verify pubky pk = PublicKey(hexlify(pubkey).decode("ascii")) - if format(pk, self.steem.prefix) != meta["memokey"]: + if format(pk, self.hive.prefix) != meta["memokey"]: raise InvalidMessageSignature return True diff --git a/beem/nodelist.py b/beem/nodelist.py index b9026b9a93698b1643dcad23050df831602db4ca..4968102504bbc369cb1830e3173db03ffbadeea3 100644 --- a/beem/nodelist.py +++ b/beem/nodelist.py @@ -8,7 +8,7 @@ import re import time import math import json -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from beem.account import Account import logging log = logging.getLogger(__name__) @@ -27,24 +27,24 @@ class NodeList(list): def __init__(self): nodes = [ { - "url": "https://api.steemit.com", + "url": "https://api.hiveit.com", "version": "0.20.2", "type": "appbase-limited", - "owner": "steemit", + "owner": "hiveit", "score": 50 }, { - "url": "https://steemd-appbase.steemit.com", + "url": "https://hived-appbase.hiveit.com", "version": "0.20.2", "type": "appbase", - "owner": "steemit", + "owner": "hiveit", "score": -10 }, { - "url": "wss://steemd-appbase.steemit.com", + "url": "wss://hived-appbase.hiveit.com", "version": "0.20.2", "type": "appbase", - "owner": "steemit", + "owner": "hiveit", "score": -10 }, { @@ -62,49 +62,49 @@ class NodeList(list): "score": 10 }, { - "url": "https://api.steem.house", + "url": "https://api.hive.house", "version": "0.20.2", "type": "appbase", "owner": "gtg", "score": 10 }, { - "url": "https://api.steemitdev.com", + "url": "https://api.hiveitdev.com", "version": "0.19.11", "type": "appbase-dev", - "owner": "steemit", + "owner": "hiveit", "score": 10 }, { - "url": "https://api.steemitstage.com", + "url": "https://api.hiveitstage.com", "version": "0.19.11", "type": "appbase-dev", - "owner": "steemit", + "owner": "hiveit", "score": 10 }, { - "url": "wss://rpc.steemviz.com", + "url": "wss://rpc.hiveviz.com", "version": "0.19.12", "type": "appbase", "owner": "ausbitbank", "score": -10 }, { - "url": "https://rpc.steemviz.com", + "url": "https://rpc.hiveviz.com", "version": "0.19.12", "type": "appbase", "owner": "ausbitbank", "score": -10 }, { - "url": "wss://steemd.privex.io", + "url": "wss://hived.privex.io", "version": "0.20.2", "type": "appbase", "owner": "privex", "score": -10 }, { - "url": "https://steemd.privex.io", + "url": "https://hived.privex.io", "version": "0.20.2", "type": "appbase", "owner": "privex", @@ -125,42 +125,42 @@ class NodeList(list): "score": -20 }, { - "url": "wss://gtg.steem.house:8090", + "url": "wss://gtg.hive.house:8090", "version": "0.19.12", "type": "appbase", "owner": "gtg", "score": -10 }, { - "url": "https://gtg.steem.house:8090", + "url": "https://gtg.hive.house:8090", "version": "0.19.12", "type": "appbase", "owner": "gtg", "score": -10 }, { - "url": "wss://steemd.pevo.science", + "url": "wss://hived.pevo.science", "version": "0.19.2", "type": "normal", "owner": "pharesim", "score": -10 }, { - "url": "https://steemd.pevo.science", + "url": "https://hived.pevo.science", "version": "0.19.6", "type": "normal", "owner": "pharesim", "score": -10 }, { - "url": "wss://rpc.steemliberator.com", + "url": "wss://rpc.hiveliberator.com", "version": "0.19.12", "type": "appbase", "owner": "netuoso", "score": -10 }, { - "url": "https://rpc.steemliberator.com", + "url": "https://rpc.hiveliberator.com", "version": "0.19.12", "type": "appbase", "owner": "netuoso", @@ -181,28 +181,28 @@ class NodeList(list): "score": -10 }, { - "url": "wss://steemd.steemgigs.org", + "url": "wss://hived.hivegigs.org", "version": "0.19.6", "type": "normal", - "owner": "steemgigs", + "owner": "hivegigs", "score": -10 }, { - "url": "https://steemd.steemgigs.org", + "url": "https://hived.hivegigs.org", "version": "0.19.6", "type": "normal", - "owner": "steemgigs", + "owner": "hivegigs", "score": -10 }, { - "url": "wss://steemd.minnowsupportproject.org", + "url": "wss://hived.minnowsupportproject.org", "version": "0.19.11", "type": "appbase", "owner": "followbtcnews", "score": -10 }, { - "url": "https://steemd.minnowsupportproject.org", + "url": "https://hived.minnowsupportproject.org", "version": "0.19.12", "type": "appbase", "owner": "followbtcnews", @@ -230,64 +230,64 @@ class NodeList(list): "score": 50 }, { - "url": "https://rpc.curiesteem.com", + "url": "https://rpc.curiehive.com", "version": "0.20.2", "type": "appbase", "owner": "curie", "score": -10 }, { - "url": "wss://rpc.curiesteem.com", + "url": "wss://rpc.curiehive.com", "version": "0.20.2", "type": "appbase", "owner": "curie", "score": -10 }, { - "url": "https://rpc.usesteem.com", + "url": "https://rpc.usehive.com", "version": "0.20.8", "type": "appbase", "owner": "themarkymark", "score": 90 }, { - "url": "wss://testnet.steem.vc", + "url": "wss://testnet.hive.vc", "version": "0.19.2", "type": "testnet", "owner": "almost-digital", "score": 20 }, { - "url": "ws://testnet.steem.vc", + "url": "ws://testnet.hive.vc", "version": "0.19.2", "type": "testnet", "owner": "almost-digital", "score": 5 }, { - "url": "https://testnet.steem.vc", + "url": "https://testnet.hive.vc", "version": "0.19.2", "type": "testnet", "owner": "almost-digital", "score": 10 }, { - "url": "http://testnet.steem.vc", + "url": "http://testnet.hive.vc", "version": "0.19.2", "type": "testnet", "owner": "almost-digital", "score": 5 }, { - "url": "https://testnet.steemitdev.com", + "url": "https://testnet.hiveitdev.com", "version": "0.21.0", "type": "testnet-dev", - "owner": "steemit", + "owner": "hiveit", "score": 5 }] super(NodeList, self).__init__(nodes) - def update_nodes(self, weights=None, steem_instance=None): + def update_nodes(self, weights=None, hive_instance=None): """ Reads metadata from fullnodeupdate and recalculates the nodes score :param list/dict weight: can be used to weight the different benchmarks @@ -302,17 +302,17 @@ class NodeList(list): weights = {'block': 0.1, 'history': 0.1, 'apicall': 1, 'config': 1} nl.update_nodes(weights) """ - steem = steem_instance or shared_steem_instance() + hive = hive_instance or shared_hive_instance() metadata = None account = None cnt = 0 while metadata is None and cnt < 5: cnt += 1 try: - account = Account("fullnodeupdate", steem_instance=steem) + account = Account("fullnodeupdate", hive_instance=hive) metadata = json.loads(account["json_metadata"]) except: - steem.rpc.next() + hive.rpc.next() account = None metadata = None if metadata is None: diff --git a/beem/notify.py b/beem/notify.py index a30cac9a0b28d5be81abbe97acea6b1181c517ec..3cbe6db2f89d335d16c43a8a9aeb6864d50aa757 100644 --- a/beem/notify.py +++ b/beem/notify.py @@ -5,8 +5,8 @@ from __future__ import print_function from __future__ import unicode_literals import logging from events import Events -from beemapi.websocket import SteemWebsocket -from beem.instance import shared_steem_instance +from beemapi.websocket import HiveWebsocket +from beem.instance import shared_hive_instance from beem.blockchain import Blockchain from beem.price import Order, FilledOrder log = logging.getLogger(__name__) @@ -20,7 +20,7 @@ class Notify(Events): blockchain. :param fnt on_block: Callback that will be called for each block received - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance **Example** @@ -45,25 +45,25 @@ class Notify(Events): # accounts=[], on_block=None, only_block_id=False, - steem_instance=None, + hive_instance=None, keep_alive=25 ): # Events Events.__init__(self) self.events = Events() - # Steem instance - self.steem = steem_instance or shared_steem_instance() + # Hive instance + self.hive = hive_instance or shared_hive_instance() # Callbacks if on_block: self.on_block += on_block # Open the websocket - self.websocket = SteemWebsocket( - urls=self.steem.rpc.nodes, - user=self.steem.rpc.user, - password=self.steem.rpc.password, + self.websocket = HiveWebsocket( + urls=self.hive.rpc.nodes, + user=self.hive.rpc.user, + password=self.hive.rpc.password, only_block_id=only_block_id, on_block=self.process_block, keep_alive=keep_alive diff --git a/beem/price.py b/beem/price.py index 2b956775de8691f1a497bebd6460662f438dc07e..34a5c930ed6cda53c61ac04c49b068d076aed07e 100644 --- a/beem/price.py +++ b/beem/price.py @@ -7,7 +7,7 @@ from builtins import str from future.utils import python_2_unicode_compatible from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from fractions import Fraction -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from .exceptions import InvalidAssetException from .account import Account from .amount import Amount, quantize @@ -34,7 +34,7 @@ class Price(dict): :param list args: Allows to deal with different representations of a price :param Asset base: Base asset :param Asset quote: Quote asset - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance :returns: All data required to represent a price :rtype: dictionary @@ -52,14 +52,14 @@ class Price(dict): This allows instanciations like: - * ``Price("0.315 SBD/STEEM")`` - * ``Price(0.315, base="SBD", quote="STEEM")`` - * ``Price(0.315, base=Asset("SBD"), quote=Asset("STEEM"))`` - * ``Price({"base": {"amount": 1, "asset_id": "SBD"}, "quote": {"amount": 10, "asset_id": "SBD"}})`` - * ``Price(quote="10 STEEM", base="1 SBD")`` - * ``Price("10 STEEM", "1 SBD")`` - * ``Price(Amount("10 STEEM"), Amount("1 SBD"))`` - * ``Price(1.0, "SBD/STEEM")`` + * ``Price("0.315 HBD/HIVE")`` + * ``Price(0.315, base="HBD", quote="HIVE")`` + * ``Price(0.315, base=Asset("HBD"), quote=Asset("HIVE"))`` + * ``Price({"base": {"amount": 1, "asset_id": "HBD"}, "quote": {"amount": 10, "asset_id": "HBD"}})`` + * ``Price(quote="10 HIVE", base="1 HBD")`` + * ``Price("10 HIVE", "1 HBD")`` + * ``Price(Amount("10 HIVE"), Amount("1 HBD"))`` + * ``Price(1.0, "HBD/HIVE")`` Instances of this class can be used in regular mathematical expressions (``+-*/%``) such as: @@ -67,10 +67,10 @@ class Price(dict): .. code-block:: python >>> from beem.price import Price - >>> Price("0.3314 SBD/STEEM") * 2 - 0.662804 SBD/STEEM - >>> Price(0.3314, "SBD", "STEEM") - 0.331402 SBD/STEEM + >>> Price("0.3314 HBD/HIVE") * 2 + 0.662804 HBD/HIVE + >>> Price(0.3314, "HBD", "HIVE") + 0.331402 HBD/HIVE """ def __init__( @@ -79,54 +79,54 @@ class Price(dict): base=None, quote=None, base_asset=None, # to identify sell/buy - steem_instance=None + hive_instance=None ): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if price == "": price = None if (price is not None and isinstance(price, string_types) and not base and not quote): import re price, assets = price.split(" ") base_symbol, quote_symbol = assets_from_string(assets) - base = Asset(base_symbol, steem_instance=self.steem) - quote = Asset(quote_symbol, steem_instance=self.steem) + base = Asset(base_symbol, hive_instance=self.hive) + quote = Asset(quote_symbol, hive_instance=self.hive) frac = Fraction(float(price)).limit_denominator(10 ** base["precision"]) - self["quote"] = Amount(amount=frac.denominator, asset=quote, steem_instance=self.steem) - self["base"] = Amount(amount=frac.numerator, asset=base, steem_instance=self.steem) + self["quote"] = Amount(amount=frac.denominator, asset=quote, hive_instance=self.hive) + self["base"] = Amount(amount=frac.numerator, asset=base, hive_instance=self.hive) elif (price is not None and isinstance(price, dict) and "base" in price and "quote" in price): if "price" in price: raise AssertionError("You cannot provide a 'price' this way") - # Regular 'price' objects according to steem-core + # Regular 'price' objects according to hive-core # base_id = price["base"]["asset_id"] # if price["base"]["asset_id"] == base_id: - self["base"] = Amount(price["base"], steem_instance=self.steem) - self["quote"] = Amount(price["quote"], steem_instance=self.steem) + self["base"] = Amount(price["base"], hive_instance=self.hive) + self["quote"] = Amount(price["quote"], hive_instance=self.hive) # else: - # self["quote"] = Amount(price["base"], steem_instance=self.steem) - # self["base"] = Amount(price["quote"], steem_instance=self.steem) + # self["quote"] = Amount(price["base"], hive_instance=self.hive) + # self["base"] = Amount(price["quote"], hive_instance=self.hive) elif (price is not None and isinstance(base, Asset) and isinstance(quote, Asset)): frac = Fraction(float(price)).limit_denominator(10 ** base["precision"]) - self["quote"] = Amount(amount=frac.denominator, asset=quote, steem_instance=self.steem) - self["base"] = Amount(amount=frac.numerator, asset=base, steem_instance=self.steem) + self["quote"] = Amount(amount=frac.denominator, asset=quote, hive_instance=self.hive) + self["base"] = Amount(amount=frac.numerator, asset=base, hive_instance=self.hive) elif (price is not None and isinstance(base, string_types) and isinstance(quote, string_types)): - base = Asset(base, steem_instance=self.steem) - quote = Asset(quote, steem_instance=self.steem) + base = Asset(base, hive_instance=self.hive) + quote = Asset(quote, hive_instance=self.hive) frac = Fraction(float(price)).limit_denominator(10 ** base["precision"]) - self["quote"] = Amount(amount=frac.denominator, asset=quote, steem_instance=self.steem) - self["base"] = Amount(amount=frac.numerator, asset=base, steem_instance=self.steem) + self["quote"] = Amount(amount=frac.denominator, asset=quote, hive_instance=self.hive) + self["base"] = Amount(amount=frac.numerator, asset=base, hive_instance=self.hive) elif (price is None and isinstance(base, string_types) and isinstance(quote, string_types)): - self["quote"] = Amount(quote, steem_instance=self.steem) - self["base"] = Amount(base, steem_instance=self.steem) + self["quote"] = Amount(quote, hive_instance=self.hive) + self["base"] = Amount(base, hive_instance=self.hive) elif (price is not None and isinstance(price, string_types) and isinstance(base, string_types)): - self["quote"] = Amount(price, steem_instance=self.steem) - self["base"] = Amount(base, steem_instance=self.steem) + self["quote"] = Amount(price, hive_instance=self.hive) + self["base"] = Amount(base, hive_instance=self.hive) # len(args) > 1 elif isinstance(price, Amount) and isinstance(base, Amount): @@ -141,11 +141,11 @@ class Price(dict): isinstance(base, string_types)): import re base_symbol, quote_symbol = assets_from_string(base) - base = Asset(base_symbol, steem_instance=self.steem) - quote = Asset(quote_symbol, steem_instance=self.steem) + base = Asset(base_symbol, hive_instance=self.hive) + quote = Asset(quote_symbol, hive_instance=self.hive) frac = Fraction(float(price)).limit_denominator(10 ** base["precision"]) - self["quote"] = Amount(amount=frac.denominator, asset=quote, steem_instance=self.steem) - self["base"] = Amount(amount=frac.numerator, asset=base, steem_instance=self.steem) + self["quote"] = Amount(amount=frac.denominator, asset=quote, hive_instance=self.hive) + self["base"] = Amount(amount=frac.numerator, asset=base, hive_instance=self.hive) else: raise ValueError("Couldn't parse 'Price'.") @@ -164,7 +164,7 @@ class Price(dict): None, base=self["base"].copy(), quote=self["quote"].copy(), - steem_instance=self.steem) + hive_instance=self.hive) def _safedivide(self, a, b): if b != 0.0: @@ -183,8 +183,8 @@ class Price(dict): .. code-block:: python >>> from beem.price import Price - >>> Price("0.3314 SBD/STEEM").as_base("STEEM") - 3.017483 STEEM/SBD + >>> Price("0.3314 HBD/HIVE").as_base("HIVE") + 3.017483 HIVE/HBD """ if base == self["base"]["symbol"]: @@ -202,8 +202,8 @@ class Price(dict): .. code-block:: python >>> from beem.price import Price - >>> Price("0.3314 SBD/STEEM").as_quote("SBD") - 3.017483 STEEM/SBD + >>> Price("0.3314 HBD/HIVE").as_quote("HBD") + 3.017483 HIVE/HBD """ if quote == self["quote"]["symbol"]: @@ -214,13 +214,13 @@ class Price(dict): raise InvalidAssetException def invert(self): - """ Invert the price (e.g. go from ``SBD/STEEM`` into ``STEEM/SBD``) + """ Invert the price (e.g. go from ``HBD/HIVE`` into ``HIVE/HBD``) .. code-block:: python >>> from beem.price import Price - >>> Price("0.3314 SBD/STEEM").invert() - 3.017483 STEEM/SBD + >>> Price("0.3314 HBD/HIVE").invert() + 3.017483 HIVE/HBD """ tmp = self["quote"] @@ -270,21 +270,21 @@ class Price(dict): if self["quote"]["symbol"] == other["base"]["symbol"]: a["base"] = Amount( float(self["base"]) * float(other["base"]), self["base"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ) a["quote"] = Amount( float(self["quote"]) * float(other["quote"]), other["quote"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ) # a/b * c/a = c/b elif self["base"]["symbol"] == other["quote"]["symbol"]: a["base"] = Amount( float(self["base"]) * float(other["base"]), other["base"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ) a["quote"] = Amount( float(self["quote"]) * float(other["quote"]), self["quote"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ) else: raise ValueError("Wrong rotation of prices") @@ -321,11 +321,11 @@ class Price(dict): raise InvalidAssetException a["base"] = Amount( float(self["base"].amount / other["base"].amount), other["quote"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ) a["quote"] = Amount( float(self["quote"].amount / other["quote"].amount), self["quote"]["symbol"], - steem_instance=self.steem + hive_instance=self.hive ) elif isinstance(other, Amount): if not other["asset"] == self["quote"]["asset"]: @@ -409,7 +409,7 @@ class Price(dict): return Market( base=self["base"]["asset"], quote=self["quote"]["asset"], - steem_instance=self.steem + hive_instance=self.hive ) @@ -419,7 +419,7 @@ class Order(Price): ratio of base and quote) but instead has those amounts represent the amounts of an actual order! - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. note:: @@ -427,9 +427,9 @@ class Order(Price): 'deleted' key which is set to ``True`` and all other data be ``None``. """ - def __init__(self, base, quote=None, steem_instance=None, **kwargs): + def __init__(self, base, quote=None, hive_instance=None, **kwargs): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if ( isinstance(base, dict) and @@ -443,8 +443,8 @@ class Order(Price): "amount_to_sell" in base ): super(Order, self).__init__( - Amount(base["min_to_receive"], steem_instance=self.steem), - Amount(base["amount_to_sell"], steem_instance=self.steem), + Amount(base["min_to_receive"], hive_instance=self.hive), + Amount(base["amount_to_sell"], hive_instance=self.hive), ) self["id"] = base.get("id") elif isinstance(base, Amount) and isinstance(quote, Amount): @@ -476,23 +476,23 @@ class FilledOrder(Price): ratio of base and quote) but instead has those amounts represent the amounts of an actually filled order! - :param Steem steem_instance: Steem instance + :param Hive hive_instance: Hive instance .. note:: Instances of this class come with an additional ``date`` key that shows when the order has been filled! """ - def __init__(self, order, steem_instance=None, **kwargs): + def __init__(self, order, hive_instance=None, **kwargs): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if isinstance(order, dict) and "current_pays" in order and "open_pays" in order: # filled orders from account history if "op" in order: order = order["op"] super(FilledOrder, self).__init__( - Amount(order["open_pays"], steem_instance=self.steem), - Amount(order["current_pays"], steem_instance=self.steem), + Amount(order["open_pays"], hive_instance=self.hive), + Amount(order["current_pays"], hive_instance=self.hive), ) if "date" in order: self["date"] = formatTimeString(order["date"]) diff --git a/beem/rc.py b/beem/rc.py index fa6df9334365686424711a7d443599c16a78e57a..ef41c2503f73131b0cc1cba3b2cb184d90020aa5 100644 --- a/beem/rc.py +++ b/beem/rc.py @@ -5,7 +5,7 @@ from __future__ import print_function from __future__ import unicode_literals import logging import json -from .instance import shared_steem_instance +from .instance import shared_hive_instance from beem.constants import state_object_size_info, resource_execution_time, EXEC_FOLLOW_CUSTOM_OP_SCALE import hashlib from binascii import hexlify, unhexlify @@ -21,14 +21,14 @@ from beemgraphenebase.py23 import py23_bytes, bytes_types class RC(object): def __init__( self, - steem_instance=None, + hive_instance=None, ): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() def get_tx_size(self, op): """Returns the tx size of an operation""" ops = [Operation(op)] - prefix = u"STEEM" + prefix = u"HIVE" wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" ref_block_num = 34294 ref_block_prefix = 3707022213 @@ -86,7 +86,7 @@ class RC(object): state_bytes_count += state_object_size_info["comment_object_parent_permlink_char_size"] * parent_permlink_length execution_time_count = resource_execution_time["comment_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, state_bytes_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def vote_dict(self, vote_dict): """Calc RC costs for a vote @@ -114,7 +114,7 @@ class RC(object): state_bytes_count = state_object_size_info["comment_vote_object_base_size"] execution_time_count = resource_execution_time["vote_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, state_bytes_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def transfer_dict(self, transfer_dict): """Calc RC costs for a transfer dict object @@ -127,7 +127,7 @@ class RC(object): from beem.amount import Amount transfer_dict = { "from": "foo", "to": "baar", - "amount": Amount("111.110 STEEM"), + "amount": Amount("111.110 HIVE"), "memo": "Fooo" } @@ -144,7 +144,7 @@ class RC(object): """Calc RC of a transfer""" execution_time_count = resource_execution_time["transfer_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, market_op_count=market_op_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def custom_json_dict(self, custom_json_dict): """Calc RC costs for a custom_json @@ -180,7 +180,7 @@ class RC(object): if follow_id: execution_time_count *= EXEC_FOLLOW_CUSTOM_OP_SCALE resource_count = self.get_resource_count(tx_size, execution_time_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def account_update_dict(self, account_update_dict): """Calc RC costs for account update""" @@ -188,13 +188,13 @@ class RC(object): tx_size = self.get_tx_size(op) execution_time_count = resource_execution_time["account_update_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def claim_account(self, tx_size=300): """Claim account""" execution_time_count = resource_execution_time["claim_account_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, new_account_op_count=1) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def get_authority_byte_count(self, auth): return (state_object_size_info["authority_base_size"] @@ -212,7 +212,7 @@ class RC(object): tx_size = self.get_tx_size(op) execution_time_count = resource_execution_time["account_update_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, state_bytes_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) def create_claimed_account_dict(self, create_claimed_account_dict): """Calc RC costs for claimed account create""" @@ -225,4 +225,4 @@ class RC(object): tx_size = self.get_tx_size(op) execution_time_count = resource_execution_time["account_update_operation_exec_time"] resource_count = self.get_resource_count(tx_size, execution_time_count, state_bytes_count) - return self.steem.get_rc_cost(resource_count) + return self.hive.get_rc_cost(resource_count) diff --git a/beem/snapshot.py b/beem/snapshot.py index 269a29b7fd3489f29b674769071449dadd9aabd5..7b75349a513673c5952931dbad7e3f3b3eeed8e3 100644 --- a/beem/snapshot.py +++ b/beem/snapshot.py @@ -16,8 +16,8 @@ from beem.utils import formatTimeString, formatTimedelta, remove_from_dict, repu from beem.amount import Amount from beem.account import Account from beem.vote import Vote -from beem.instance import shared_steem_instance -from beem.constants import STEEM_VOTE_REGENERATION_SECONDS, STEEM_1_PERCENT, STEEM_100_PERCENT +from beem.instance import shared_hive_instance +from beem.constants import HIVE_VOTE_REGENERATION_SECONDS, HIVE_1_PERCENT, HIVE_100_PERCENT log = logging.getLogger(__name__) @@ -26,21 +26,21 @@ class AccountSnapshot(list): """ This class allows to easily access Account history :param str account_name: Name of the account - :param Steem steem_instance: Steem + :param Hive hive_instance: Hive instance """ - def __init__(self, account, account_history=[], steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.account = Account(account, steem_instance=self.steem) + def __init__(self, account, account_history=[], hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.account = Account(account, hive_instance=self.hive) self.reset() super(AccountSnapshot, self).__init__(account_history) def reset(self): """ Resets the arrays not the stored account history """ - self.own_vests = [Amount(0, self.steem.vests_symbol, steem_instance=self.steem)] - self.own_steem = [Amount(0, self.steem.steem_symbol, steem_instance=self.steem)] - self.own_sbd = [Amount(0, self.steem.sbd_symbol, steem_instance=self.steem)] + self.own_vests = [Amount(0, self.hive.vests_symbol, hive_instance=self.hive)] + self.own_hive = [Amount(0, self.hive.hive_symbol, hive_instance=self.hive)] + self.own_hbd = [Amount(0, self.hive.hbd_symbol, hive_instance=self.hive)] self.delegated_vests_in = [{}] self.delegated_vests_out = [{}] self.timestamps = [addTzInfo(datetime(1970, 1, 1, 0, 0, 0, 0))] @@ -140,16 +140,16 @@ class AccountSnapshot(list): own = self.own_vests[index] din = self.delegated_vests_in[index] dout = self.delegated_vests_out[index] - steem = self.own_steem[index] - sbd = self.own_sbd[index] + hive = self.own_hive[index] + hbd = self.own_hbd[index] sum_in = sum([din[key].amount for key in din]) sum_out = sum([dout[key].amount for key in dout]) - sp_in = self.steem.vests_to_sp(sum_in, timestamp=ts) - sp_out = self.steem.vests_to_sp(sum_out, timestamp=ts) - sp_own = self.steem.vests_to_sp(own, timestamp=ts) - sp_eff = sp_own + sp_in - sp_out + hp_in = self.hive.vests_to_hp(sum_in, timestamp=ts) + hp_out = self.hive.vests_to_hp(sum_out, timestamp=ts) + hp_own = self.hive.vests_to_hp(own, timestamp=ts) + hp_eff = hp_own + hp_in - hp_out return {"timestamp": ts, "vests": own, "delegated_vests_in": din, "delegated_vests_out": dout, - "sp_own": sp_own, "sp_eff": sp_eff, "steem": steem, "sbd": sbd, "index": index} + "hp_own": hp_own, "hp_eff": hp_eff, "hive": hive, "hbd": hbd, "index": index} def get_account_history(self, start=None, stop=None, use_block_num=True): """ Uses account history to fetch all related ops @@ -171,10 +171,10 @@ class AccountSnapshot(list): ] ) - def update_rewards(self, timestamp, curation_reward, author_vests, author_steem, author_sbd): + def update_rewards(self, timestamp, curation_reward, author_vests, author_hive, author_hbd): self.reward_timestamps.append(timestamp) self.curation_rewards.append(curation_reward) - self.author_rewards.append({"vests": author_vests, "steem": author_steem, "sbd": author_sbd}) + self.author_rewards.append({"vests": author_vests, "hive": author_hive, "hbd": author_hbd}) def update_out_vote(self, timestamp, weight): self.out_vote_timestamp.append(timestamp) @@ -192,7 +192,7 @@ class AccountSnapshot(list): print("Could not found: %s" % v) return - def update(self, timestamp, own, delegated_in=None, delegated_out=None, steem=0, sbd=0): + def update(self, timestamp, own, delegated_in=None, delegated_out=None, hive=0, hbd=0): """ Updates the internal state arrays :param datetime timestamp: datetime of the update @@ -200,23 +200,23 @@ class AccountSnapshot(list): :type own: amount.Amount, float :param dict delegated_in: Incoming delegation :param dict delegated_out: Outgoing delegation - :param steem: steem - :type steem: amount.Amount, float - :param sbd: sbd - :type sbd: amount.Amount, float + :param hive: hive + :type hive: amount.Amount, float + :param hbd: hbd + :type hbd: amount.Amount, float """ self.timestamps.append(timestamp - timedelta(seconds=1)) self.own_vests.append(self.own_vests[-1]) - self.own_steem.append(self.own_steem[-1]) - self.own_sbd.append(self.own_sbd[-1]) + self.own_hive.append(self.own_hive[-1]) + self.own_hbd.append(self.own_hbd[-1]) self.delegated_vests_in.append(self.delegated_vests_in[-1]) self.delegated_vests_out.append(self.delegated_vests_out[-1]) self.timestamps.append(timestamp) self.own_vests.append(self.own_vests[-1] + own) - self.own_steem.append(self.own_steem[-1] + steem) - self.own_sbd.append(self.own_sbd[-1] + sbd) + self.own_hive.append(self.own_hive[-1] + hive) + self.own_hbd.append(self.own_hbd[-1] + hbd) new_deleg = dict(self.delegated_vests_in[-1]) if delegated_in is not None and delegated_in: @@ -274,23 +274,23 @@ class AccountSnapshot(list): ts = parse_time(op['timestamp']) if op['type'] == "account_create": - fee_steem = Amount(op['fee'], steem_instance=self.steem).amount - fee_vests = self.steem.sp_to_vests(Amount(op['fee'], steem_instance=self.steem).amount, timestamp=ts) + fee_hive = Amount(op['fee'], hive_instance=self.hive).amount + fee_vests = self.hive.hp_to_vests(Amount(op['fee'], hive_instance=self.hive).amount, timestamp=ts) # print(fee_vests) if op['new_account_name'] == self.account["name"]: self.update(ts, fee_vests, 0, 0) return if op['creator'] == self.account["name"]: - self.update(ts, 0, 0, 0, fee_steem * (-1), 0) + self.update(ts, 0, 0, 0, fee_hive * (-1), 0) return elif op['type'] == "account_create_with_delegation": - fee_steem = Amount(op['fee'], steem_instance=self.steem).amount - fee_vests = self.steem.sp_to_vests(Amount(op['fee'], steem_instance=self.steem).amount, timestamp=ts) + fee_hive = Amount(op['fee'], hive_instance=self.hive).amount + fee_vests = self.hive.hp_to_vests(Amount(op['fee'], hive_instance=self.hive).amount, timestamp=ts) if op['new_account_name'] == self.account["name"]: - if Amount(op['delegation'], steem_instance=self.steem).amount > 0: + if Amount(op['delegation'], hive_instance=self.hive).amount > 0: delegation = {'account': op['creator'], 'amount': - Amount(op['delegation'], steem_instance=self.steem)} + Amount(op['delegation'], hive_instance=self.hive)} else: delegation = None self.update(ts, fee_vests, delegation, 0) @@ -298,12 +298,12 @@ class AccountSnapshot(list): if op['creator'] == self.account["name"]: delegation = {'account': op['new_account_name'], 'amount': - Amount(op['delegation'], steem_instance=self.steem)} - self.update(ts, 0, 0, delegation, fee_steem * (-1), 0) + Amount(op['delegation'], hive_instance=self.hive)} + self.update(ts, 0, 0, delegation, fee_hive * (-1), 0) return elif op['type'] == "delegate_vesting_shares": - vests = Amount(op['vesting_shares'], steem_instance=self.steem) + vests = Amount(op['vesting_shares'], hive_instance=self.hive) # print(op) if op['delegator'] == self.account["name"]: delegation = {'account': op['delegatee'], 'amount': vests} @@ -315,71 +315,71 @@ class AccountSnapshot(list): return elif op['type'] == "transfer": - amount = Amount(op['amount'], steem_instance=self.steem) + amount = Amount(op['amount'], hive_instance=self.hive) # print(op) if op['from'] == self.account["name"]: - if amount.symbol == self.steem.steem_symbol: + if amount.symbol == self.hive.hive_symbol: self.update(ts, 0, 0, 0, amount * (-1), 0) - elif amount.symbol == self.steem.sbd_symbol: + elif amount.symbol == self.hive.hbd_symbol: self.update(ts, 0, 0, 0, 0, amount * (-1)) if op['to'] == self.account["name"]: - if amount.symbol == self.steem.steem_symbol: + if amount.symbol == self.hive.hive_symbol: self.update(ts, 0, 0, 0, amount, 0) - elif amount.symbol == self.steem.sbd_symbol: + elif amount.symbol == self.hive.hbd_symbol: self.update(ts, 0, 0, 0, 0, amount) # print(op, vests) # self.update(ts, vests, 0, 0) return elif op['type'] == "fill_order": - current_pays = Amount(op["current_pays"], steem_instance=self.steem) - open_pays = Amount(op["open_pays"], steem_instance=self.steem) + current_pays = Amount(op["current_pays"], hive_instance=self.hive) + open_pays = Amount(op["open_pays"], hive_instance=self.hive) if op["current_owner"] == self.account["name"]: - if current_pays.symbol == self.steem.steem_symbol: + if current_pays.symbol == self.hive.hive_symbol: self.update(ts, 0, 0, 0, current_pays * (-1), open_pays) - elif current_pays.symbol == self.steem.sbd_symbol: + elif current_pays.symbol == self.hive.hbd_symbol: self.update(ts, 0, 0, 0, open_pays, current_pays * (-1)) if op["open_owner"] == self.account["name"]: - if current_pays.symbol == self.steem.steem_symbol: + if current_pays.symbol == self.hive.hive_symbol: self.update(ts, 0, 0, 0, current_pays, open_pays * (-1)) - elif current_pays.symbol == self.steem.sbd_symbol: + elif current_pays.symbol == self.hive.hbd_symbol: self.update(ts, 0, 0, 0, open_pays * (-1), current_pays) # print(op) return elif op['type'] == "transfer_to_vesting": - steem = Amount(op['amount'], steem_instance=self.steem) - vests = self.steem.sp_to_vests(steem.amount, timestamp=ts) + hive = Amount(op['amount'], hive_instance=self.hive) + vests = self.hive.hp_to_vests(hive.amount, timestamp=ts) if op['from'] == self.account["name"] and op['to'] == self.account["name"]: - self.update(ts, vests, 0, 0, steem * (-1), 0) # power up from and to given account + self.update(ts, vests, 0, 0, hive * (-1), 0) # power up from and to given account elif op['from'] != self.account["name"] and op['to'] == self.account["name"]: self.update(ts, vests, 0, 0, 0, 0) # power up from another account else: # op['from'] == self.account["name"] and op['to'] != self.account["name"] - self.update(ts, 0, 0, 0, steem * (-1), 0) # power up to another account + self.update(ts, 0, 0, 0, hive * (-1), 0) # power up to another account return elif op['type'] == "fill_vesting_withdraw": # print(op) - vests = Amount(op['withdrawn'], steem_instance=self.steem) + vests = Amount(op['withdrawn'], hive_instance=self.hive) self.update(ts, vests * (-1), 0, 0) return elif op['type'] == "return_vesting_delegation": delegation = {'account': None, 'amount': - Amount(op['vesting_shares'], steem_instance=self.steem)} + Amount(op['vesting_shares'], hive_instance=self.hive)} self.update(ts, 0, 0, delegation) return elif op['type'] == "claim_reward_balance": - vests = Amount(op['reward_vests'], steem_instance=self.steem) - steem = Amount(op['reward_steem'], steem_instance=self.steem) - sbd = Amount(op['reward_sbd'], steem_instance=self.steem) - self.update(ts, vests, 0, 0, steem, sbd) + vests = Amount(op['reward_vests'], hive_instance=self.hive) + hive = Amount(op['reward_hive'], hive_instance=self.hive) + hbd = Amount(op['reward_hbd'], hive_instance=self.hive) + self.update(ts, vests, 0, 0, hive, hbd) return elif op['type'] == "curation_reward": if "curation_reward" in only_ops or enable_rewards: - vests = Amount(op['reward'], steem_instance=self.steem) + vests = Amount(op['reward'], hive_instance=self.hive) if "curation_reward" in only_ops: self.update(ts, vests, 0, 0) if enable_rewards: @@ -389,43 +389,43 @@ class AccountSnapshot(list): elif op['type'] == "author_reward": if "author_reward" in only_ops or enable_rewards: # print(op) - vests = Amount(op['vesting_payout'], steem_instance=self.steem) - steem = Amount(op['steem_payout'], steem_instance=self.steem) - sbd = Amount(op['sbd_payout'], steem_instance=self.steem) + vests = Amount(op['vesting_payout'], hive_instance=self.hive) + hive = Amount(op['hive_payout'], hive_instance=self.hive) + hbd = Amount(op['hbd_payout'], hive_instance=self.hive) if "author_reward" in only_ops: - self.update(ts, vests, 0, 0, steem, sbd) + self.update(ts, vests, 0, 0, hive, hbd) if enable_rewards: - self.update_rewards(ts, 0, vests, steem, sbd) + self.update_rewards(ts, 0, vests, hive, hbd) return elif op['type'] == "producer_reward": - vests = Amount(op['vesting_shares'], steem_instance=self.steem) + vests = Amount(op['vesting_shares'], hive_instance=self.hive) self.update(ts, vests, 0, 0) return elif op['type'] == "comment_benefactor_reward": if op['benefactor'] == self.account["name"]: if "reward" in op: - vests = Amount(op['reward'], steem_instance=self.steem) + vests = Amount(op['reward'], hive_instance=self.hive) self.update(ts, vests, 0, 0) else: - vests = Amount(op['vesting_payout'], steem_instance=self.steem) - steem = Amount(op['steem_payout'], steem_instance=self.steem) - sbd = Amount(op['sbd_payout'], steem_instance=self.steem) - self.update(ts, vests, 0, 0, steem, sbd) + vests = Amount(op['vesting_payout'], hive_instance=self.hive) + hive = Amount(op['hive_payout'], hive_instance=self.hive) + hbd = Amount(op['hbd_payout'], hive_instance=self.hive) + self.update(ts, vests, 0, 0, hive, hbd) return else: return elif op['type'] == "fill_convert_request": - amount_in = Amount(op["amount_in"], steem_instance=self.steem) - amount_out = Amount(op["amount_out"], steem_instance=self.steem) + amount_in = Amount(op["amount_in"], hive_instance=self.hive) + amount_out = Amount(op["amount_out"], hive_instance=self.hive) if op["owner"] == self.account["name"]: self.update(ts, 0, 0, 0, amount_out, amount_in * (-1)) return elif op['type'] == "interest": - interest = Amount(op["interest"], steem_instance=self.steem) + interest = Amount(op["interest"], hive_instance=self.hive) self.update(ts, 0, 0, 0, 0, interest) return @@ -452,21 +452,21 @@ class AccountSnapshot(list): # else: # print(op) - def build_sp_arrays(self): - """ Builds the own_sp and eff_sp array""" - self.own_sp = [] - self.eff_sp = [] + def build_hp_arrays(self): + """ Builds the own_hp and eff_hp array""" + self.own_hp = [] + self.eff_hp = [] for (ts, own, din, dout) in zip(self.timestamps, self.own_vests, self.delegated_vests_in, self.delegated_vests_out): sum_in = sum([din[key].amount for key in din]) sum_out = sum([dout[key].amount for key in dout]) - sp_in = self.steem.vests_to_sp(sum_in, timestamp=ts) - sp_out = self.steem.vests_to_sp(sum_out, timestamp=ts) - sp_own = self.steem.vests_to_sp(own, timestamp=ts) - sp_eff = sp_own + sp_in - sp_out - self.own_sp.append(sp_own) - self.eff_sp.append(sp_eff) + hp_in = self.hive.vests_to_hp(sum_in, timestamp=ts) + hp_out = self.hive.vests_to_hp(sum_out, timestamp=ts) + hp_own = self.hive.vests_to_hp(own, timestamp=ts) + hp_eff = hp_own + hp_in - hp_out + self.own_hp.append(hp_own) + self.eff_hp.append(hp_eff) def build_rep_arrays(self): """ Build reputation arrays """ @@ -483,17 +483,17 @@ class AccountSnapshot(list): def build_vp_arrays(self): """ Build vote power arrays""" self.vp_timestamp = [self.timestamps[1]] - self.vp = [STEEM_100_PERCENT] + self.vp = [HIVE_100_PERCENT] for (ts, weight) in zip(self.out_vote_timestamp, self.out_vote_weight): self.vp.append(self.vp[-1]) - if self.vp[-1] < STEEM_100_PERCENT: - regenerated_vp = ((ts - self.vp_timestamp[-1]).total_seconds()) * STEEM_100_PERCENT / STEEM_VOTE_REGENERATION_SECONDS + if self.vp[-1] < HIVE_100_PERCENT: + regenerated_vp = ((ts - self.vp_timestamp[-1]).total_seconds()) * HIVE_100_PERCENT / HIVE_VOTE_REGENERATION_SECONDS self.vp[-1] += int(regenerated_vp) - if self.vp[-1] > STEEM_100_PERCENT: - self.vp[-1] = STEEM_100_PERCENT - self.vp[-1] -= self.steem._calc_resulting_vote(self.vp[-1], weight) + if self.vp[-1] > HIVE_100_PERCENT: + self.vp[-1] = HIVE_100_PERCENT + self.vp[-1] -= self.hive._calc_resulting_vote(self.vp[-1], weight) if self.vp[-1] < 0: self.vp[-1] = 0 @@ -513,15 +513,15 @@ class AccountSnapshot(list): for (ts, vests) in zip(self.reward_timestamps, self.curation_rewards): if vests == 0: continue - sp = self.steem.vests_to_sp(vests, timestamp=ts) + hp = self.hive.vests_to_hp(vests, timestamp=ts) data = self.get_data(timestamp=ts, index=index) index = data["index"] - if "sp_eff" in data and data["sp_eff"] > 0: - curation_1k_sp = sp / data["sp_eff"] * 1000 / sum_days * 7 + if "hp_eff" in data and data["hp_eff"] > 0: + curation_1k_hp = hp / data["hp_eff"] * 1000 / sum_days * 7 else: - curation_1k_sp = 0 + curation_1k_hp = 0 if ts < end_date: - curation_sum += curation_1k_sp + curation_sum += curation_1k_hp else: self.curation_per_1000_SP_timestamp.append(end_date) self.curation_per_1000_SP.append(curation_sum) diff --git a/beem/storage.py b/beem/storage.py index bc099811367f565d338385a555e0852298372a4a..3dc48da13afba15d99f8de6feccbf79c22fe0904 100644 --- a/beem/storage.py +++ b/beem/storage.py @@ -410,8 +410,8 @@ class Configuration(DataDir): "order-expiration": 7 * 24 * 60 * 60, "client_id": "", "hot_sign_redirect_uri": None, - "sc2_api_url": "https://steemconnect.com/api/", - "oauth_base_url": "https://steemconnect.com/oauth2/"} + "sc2_api_url": "https://hiveconnect.com/api/", + "oauth_base_url": "https://hiveconnect.com/oauth2/"} def __init__(self): super(Configuration, self).__init__() diff --git a/beem/transactionbuilder.py b/beem/transactionbuilder.py index 84b5ed48ee41c6c6f031d1d1cec4de0b89c20e1a..ae1849b598af81bc5ab5885c4182ca87e0f0a7cf 100644 --- a/beem/transactionbuilder.py +++ b/beem/transactionbuilder.py @@ -9,7 +9,7 @@ import logging from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from .account import Account from .utils import formatTimeFromNow -from .steemconnect import SteemConnect +from .hiveconnect import HiveConnect from beembase.objects import Operation from beemgraphenebase.account import PrivateKey, PublicKey from beembase.signedtransactions import Signed_Transaction @@ -21,7 +21,7 @@ from .exceptions import ( WalletLocked, OfflineHasNoRPCException ) -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance log = logging.getLogger(__name__) @@ -34,17 +34,17 @@ class TransactionBuilder(dict): :param dict tx: transaction (Optional). If not set, the new transaction is created. :param int expiration: Delay in seconds until transactions are supposed to expire *(optional)* (default is 30) - :param Steem steem_instance: If not set, shared_steem_instance() is used + :param Hive hive_instance: If not set, shared_hive_instance() is used .. testcode:: from beem.transactionbuilder import TransactionBuilder from beembase.operations import Transfer - from beem import Steem + from beem import Hive wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" - stm = Steem(nobroadcast=True, keys={'active': wif}) - tx = TransactionBuilder(steem_instance=stm) - transfer = {"from": "test", "to": "test1", "amount": "1 STEEM", "memo": ""} + stm = Hive(nobroadcast=True, keys={'active': wif}) + tx = TransactionBuilder(hive_instance=stm) + transfer = {"from": "test", "to": "test1", "amount": "1 HIVE", "memo": ""} tx.appendOps(Transfer(transfer)) tx.appendSigner("test", "active") # or tx.appendWif(wif) signed_tx = tx.sign() @@ -55,10 +55,10 @@ class TransactionBuilder(dict): self, tx={}, use_condenser_api=True, - steem_instance=None, + hive_instance=None, **kwargs ): - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() self.clear() if tx and isinstance(tx, dict): super(TransactionBuilder, self).__init__(tx) @@ -68,7 +68,7 @@ class TransactionBuilder(dict): else: self._require_reconstruction = True self._use_condenser_api = use_condenser_api - self.set_expiration(kwargs.get("expiration", self.steem.expiration)) + self.set_expiration(kwargs.get("expiration", self.hive.expiration)) def set_expiration(self, p): """Set expiration date""" @@ -80,12 +80,12 @@ class TransactionBuilder(dict): def list_operations(self): """List all ops""" - if self.steem.is_connected() and self.steem.rpc.get_use_appbase(): + if self.hive.is_connected() and self.hive.rpc.get_use_appbase(): # appbase disabled by now appbase = not self._use_condenser_api else: appbase = False - return [Operation(o, appbase=appbase, prefix=self.steem.prefix) for o in self.ops] + return [Operation(o, appbase=appbase, prefix=self.hive.prefix) for o in self.ops] def _is_signed(self): """Check if signatures exists""" @@ -127,7 +127,7 @@ class TransactionBuilder(dict): self.constructTx() json_dict = dict(self) if with_prefix: - json_dict["prefix"] = self.steem.prefix + json_dict["prefix"] = self.hive.prefix return json_dict def appendOps(self, ops, append_to=None): @@ -146,25 +146,25 @@ class TransactionBuilder(dict): and permission is supposed to sign the transaction It is possible to add more than one signer. """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): return if permission not in ["active", "owner", "posting"]: raise AssertionError("Invalid permission") - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if permission not in account: - account = Account(account, steem_instance=self.steem, lazy=False, full=True) + account = Account(account, hive_instance=self.hive, lazy=False, full=True) account.clear_cache() account.refresh() if permission not in account: - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if permission not in account: raise AssertionError("Could not access permission") required_treshold = account[permission]["weight_threshold"] - if self.steem.wallet.locked(): + if self.hive.wallet.locked(): raise WalletLocked() - if self.steem.use_sc2 and self.steem.steemconnect is not None: - self.steem.steemconnect.set_username(account["name"], permission) + if self.hive.use_sc2 and self.hive.hiveconnect is not None: + self.hive.hiveconnect.set_username(account["name"], permission) return def fetchkeys(account, perm, level=0): @@ -173,7 +173,7 @@ class TransactionBuilder(dict): r = [] for authority in account[perm]["key_auths"]: try: - wif = self.steem.wallet.getPrivateKeyForPublicKey( + wif = self.hive.wallet.getPrivateKeyForPublicKey( authority[0]) if wif: r.append([wif, authority[1]]) @@ -186,7 +186,7 @@ class TransactionBuilder(dict): # go one level deeper for authority in account[perm]["account_auths"]: auth_account = Account( - authority[0], steem_instance=self.steem) + authority[0], hive_instance=self.hive) r.extend(fetchkeys(auth_account, perm, level + 1)) return r @@ -195,7 +195,7 @@ class TransactionBuilder(dict): # is the account an instance of public key? if isinstance(account, PublicKey): self.wifs.add( - self.steem.wallet.getPrivateKeyForPublicKey( + self.hive.wallet.getPrivateKeyForPublicKey( str(account) ) ) @@ -225,7 +225,7 @@ class TransactionBuilder(dict): """ if wif: try: - PrivateKey(wif, prefix=self.steem.prefix) + PrivateKey(wif, prefix=self.hive.prefix) self.wifs.add(wif) except: raise InvalidWifError @@ -240,7 +240,7 @@ class TransactionBuilder(dict): """ ops = list() - if self.steem.is_connected() and self.steem.rpc.get_use_appbase(): + if self.hive.is_connected() and self.hive.rpc.get_use_appbase(): # appbase disabled by now # broadcasting does not work at the moment appbase = not self._use_condenser_api @@ -248,22 +248,22 @@ class TransactionBuilder(dict): appbase = False for op in self.ops: # otherwise, we simply wrap ops into Operations - ops.extend([Operation(op, appbase=appbase, prefix=self.steem.prefix)]) + ops.extend([Operation(op, appbase=appbase, prefix=self.hive.prefix)]) # We no wrap everything into an actual transaction expiration = formatTimeFromNow( - self.expiration or self.steem.expiration + self.expiration or self.hive.expiration ) if ref_block_num is None or ref_block_prefix is None: ref_block_num, ref_block_prefix = transactions.getBlockParams( - self.steem.rpc) + self.hive.rpc) self.tx = Signed_Transaction( ref_block_prefix=ref_block_prefix, expiration=expiration, operations=ops, ref_block_num=ref_block_num, - custom_chains=self.steem.custom_chains, - prefix=self.steem.prefix + custom_chains=self.hive.custom_chains, + prefix=self.hive.prefix ) super(TransactionBuilder, self).update(self.tx.json()) @@ -286,26 +286,26 @@ class TransactionBuilder(dict): self.constructTx() if "operations" not in self or not self["operations"]: return - if self.steem.use_sc2: + if self.hive.use_sc2: return # We need to set the default prefix, otherwise pubkeys are # presented wrongly! - if self.steem.rpc is not None: + if self.hive.rpc is not None: operations.default_prefix = ( - self.steem.chain_params["prefix"]) + self.hive.chain_params["prefix"]) elif "blockchain" in self: operations.default_prefix = self["blockchain"]["prefix"] try: signedtx = Signed_Transaction(**self.json(with_prefix=True)) - signedtx.add_custom_chains(self.steem.custom_chains) + signedtx.add_custom_chains(self.hive.custom_chains) except: raise ValueError("Invalid TransactionBuilder Format") if not any(self.wifs): raise MissingKeyError - signedtx.sign(self.wifs, chain=self.steem.chain_params) + signedtx.sign(self.wifs, chain=self.hive.chain_params) self["signatures"].extend(signedtx.json().get("signatures")) return signedtx @@ -313,12 +313,12 @@ class TransactionBuilder(dict): """ Verify the authority of the signed transaction """ try: - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): args = {'trx': self.json()} else: args = self.json() - ret = self.steem.rpc.verify_authority(args, api="database") + ret = self.hive.rpc.verify_authority(args, api="database") if not ret: raise InsufficientAuthorityError elif isinstance(ret, dict) and "valid" in ret and not ret["valid"]: @@ -329,14 +329,14 @@ class TransactionBuilder(dict): def get_potential_signatures(self): """ Returns public key from signature """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): args = {'trx': self.json()} else: args = self.json() - ret = self.steem.rpc.get_potential_signatures(args, api="database") + ret = self.hive.rpc.get_potential_signatures(args, api="database") if 'keys' in ret: ret = ret["keys"] return ret @@ -344,14 +344,14 @@ class TransactionBuilder(dict): def get_transaction_hex(self): """ Returns a hex value of the transaction """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): args = {'trx': self.json()} else: args = self.json() - ret = self.steem.rpc.get_transaction_hex(args, api="database") + ret = self.hive.rpc.get_transaction_hex(args, api="database") if 'hex' in ret: ret = ret["hex"] return ret @@ -359,19 +359,19 @@ class TransactionBuilder(dict): def get_required_signatures(self, available_keys=list()): """ Returns public key from signature """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): args = {'trx': self.json(), 'available_keys': available_keys} - ret = self.steem.rpc.get_required_signatures(args, api="database") + ret = self.hive.rpc.get_required_signatures(args, api="database") else: - ret = self.steem.rpc.get_required_signatures(self.json(), available_keys, api="database") + ret = self.hive.rpc.get_required_signatures(self.json(), available_keys, api="database") return ret def broadcast(self, max_block_age=-1): - """ Broadcast a transaction to the steem network + """ Broadcast a transaction to the hive network Returns the signed transaction and clears itself after broadast @@ -388,7 +388,7 @@ class TransactionBuilder(dict): if "operations" not in self or not self["operations"]: return ret = self.json() - if self.steem.is_connected() and self.steem.rpc.get_use_appbase(): + if self.hive.is_connected() and self.hive.rpc.get_use_appbase(): # Returns an internal Error at the moment if not self._use_condenser_api: args = {'trx': self.json(), 'max_block_age': max_block_age} @@ -400,22 +400,22 @@ class TransactionBuilder(dict): args = self.json() broadcast_api = "network_broadcast" - if self.steem.nobroadcast: + if self.hive.nobroadcast: log.info("Not broadcasting anything!") self.clear() return ret # Broadcast try: - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.use_sc2: - ret = self.steem.steemconnect.broadcast(self["operations"]) - elif self.steem.blocking: - ret = self.steem.rpc.broadcast_transaction_synchronous( + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.use_sc2: + ret = self.hive.hiveconnect.broadcast(self["operations"]) + elif self.hive.blocking: + ret = self.hive.rpc.broadcast_transaction_synchronous( args, api=broadcast_api) if "trx" in ret: ret.update(**ret.get("trx")) else: - self.steem.rpc.broadcast_transaction( + self.hive.rpc.broadcast_transaction( args, api=broadcast_api) except Exception as e: # log.error("Could Not broadcasting anything!") @@ -451,14 +451,14 @@ class TransactionBuilder(dict): """ if not self._is_constructed() or (self._is_constructed() and reconstruct_tx): self.constructTx() - self["blockchain"] = self.steem.chain_params + self["blockchain"] = self.hive.chain_params if isinstance(account, PublicKey): self["missing_signatures"] = [ str(account) ] else: - accountObj = Account(account, steem_instance=self.steem) + accountObj = Account(account, hive_instance=self.hive) authority = accountObj[permission] # We add a required_authorities to be able to identify # how to sign later. This is an array, because we @@ -467,7 +467,7 @@ class TransactionBuilder(dict): accountObj["name"]: authority }}) for account_auth in authority["account_auths"]: - account_auth_account = Account(account_auth[0], steem_instance=self.steem) + account_auth_account = Account(account_auth[0], hive_instance=self.hive) self["required_authorities"].update({ account_auth[0]: account_auth_account.get(permission) }) @@ -478,7 +478,7 @@ class TransactionBuilder(dict): ] # Add one recursion of keys from account_auths: for account_auth in authority["account_auths"]: - account_auth_account = Account(account_auth[0], steem_instance=self.steem) + account_auth_account = Account(account_auth[0], hive_instance=self.hive) self["missing_signatures"].extend( [x[0] for x in account_auth_account[permission]["key_auths"]] ) @@ -491,7 +491,7 @@ class TransactionBuilder(dict): missing_signatures = self.get("missing_signatures", []) for pub in missing_signatures: try: - wif = self.steem.wallet.getPrivateKeyForPublicKey(pub) + wif = self.hive.wallet.getPrivateKeyForPublicKey(pub) if wif: self.appendWif(wif) except MissingKeyError: diff --git a/beem/utils.py b/beem/utils.py index 777c7216104df0fb9f784b209658f6d865fcde7f..f116af7e25d007baf65d7e928e7363d1d0cf9647 100644 --- a/beem/utils.py +++ b/beem/utils.py @@ -148,7 +148,7 @@ def resolve_authorperm(identifier): >>> from beem.utils import resolve_authorperm >>> author, permlink = resolve_authorperm('https://d.tube/#!/v/pottlund/m5cqkd1a') - >>> author, permlink = resolve_authorperm("https://steemit.com/witness-category/@gtg/24lfrm-gtg-witness-log") + >>> author, permlink = resolve_authorperm("https://hiveit.com/witness-category/@gtg/24lfrm-gtg-witness-log") >>> author, permlink = resolve_authorperm("@gtg/24lfrm-gtg-witness-log") >>> author, permlink = resolve_authorperm("https://busy.org/@gtg/24lfrm-gtg-witness-log") diff --git a/beem/vote.py b/beem/vote.py index 1950fb0d224b549dd939b0192a6e391e4f40e15a..02a3508d41e227a1fef685fd1c4d7d23d2be8235 100644 --- a/beem/vote.py +++ b/beem/vote.py @@ -11,7 +11,7 @@ import logging from prettytable import PrettyTable from datetime import datetime, date from beemgraphenebase.py23 import integer_types, string_types, text_type -from .instance import shared_steem_instance +from .instance import shared_hive_instance from .account import Account from .exceptions import VoteDoesNotExistsException from .utils import resolve_authorperm, resolve_authorpermvoter, construct_authorpermvoter, construct_authorperm, formatTimeString, addTzInfo, reputation_to_score @@ -26,14 +26,14 @@ class Vote(BlockchainObject): """ Read data about a Vote in the chain :param str authorperm: perm link to post/comment - :param Steem steem_instance: Steem() instance to use when accesing a RPC + :param Hive hive_instance: Hive() instance to use when accesing a RPC .. code-block:: python >>> from beem.vote import Vote - >>> from beem import Steem - >>> stm = Steem() - >>> v = Vote("@gtg/steem-pressure-4-need-for-speed|gandalf", steem_instance=stm) + >>> from beem import Hive + >>> stm = Hive() + >>> v = Vote("@gtg/hive-pressure-4-need-for-speed|gandalf", hive_instance=stm) """ type_id = 11 @@ -44,11 +44,11 @@ class Vote(BlockchainObject): authorperm=None, full=False, lazy=False, - steem_instance=None + hive_instance=None ): self.full = full self.lazy = lazy - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if isinstance(voter, string_types) and authorperm is not None: [author, permlink] = resolve_authorperm(authorperm) self["voter"] = voter @@ -86,24 +86,24 @@ class Vote(BlockchainObject): id_item="authorpermvoter", lazy=lazy, full=full, - steem_instance=steem_instance + hive_instance=hive_instance ) def refresh(self): if self.identifier is None: return - if not self.steem.is_connected(): + if not self.hive.is_connected(): return [author, permlink, voter] = resolve_authorpermvoter(self.identifier) try: - self.steem.rpc.set_next_node_on_empty_reply(True) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(True) + if self.hive.rpc.get_use_appbase(): try: - votes = self.steem.rpc.get_active_votes({'author': author, 'permlink': permlink}, api="tags")['votes'] + votes = self.hive.rpc.get_active_votes({'author': author, 'permlink': permlink}, api="tags")['votes'] except: - votes = self.steem.rpc.get_active_votes(author, permlink, api="database_api") + votes = self.hive.rpc.get_active_votes(author, permlink, api="database_api") else: - votes = self.steem.rpc.get_active_votes(author, permlink, api="database_api") + votes = self.hive.rpc.get_active_votes(author, permlink, api="database_api") except UnkownKey: raise VoteDoesNotExistsException(self.identifier) @@ -115,7 +115,7 @@ class Vote(BlockchainObject): raise VoteDoesNotExistsException(self.identifier) vote = self._parse_json_data(vote) vote["authorpermvoter"] = construct_authorpermvoter(author, permlink, voter) - super(Vote, self).__init__(vote, id_item="authorpermvoter", lazy=self.lazy, full=self.full, steem_instance=self.steem) + super(Vote, self).__init__(vote, id_item="authorpermvoter", lazy=self.lazy, full=self.full, hive_instance=self.hive) def _parse_json_data(self, vote): parse_int = [ @@ -189,8 +189,8 @@ class Vote(BlockchainObject): return self["weight"] @property - def sbd(self): - return self.steem.rshares_to_sbd(int(self.get("rshares", 0))) + def hbd(self): + return self.hive.rshares_to_hbd(int(self.get("rshares", 0))) @property def rshares(self): @@ -217,7 +217,7 @@ class VotesObject(list): def get_sorted_list(self, sort_key="time", reverse=True): utc = pytz.timezone('UTC') - if sort_key == 'sbd': + if sort_key == 'hbd': sortedList = sorted(self, key=lambda self: self.rshares, reverse=reverse) elif sort_key == 'time': sortedList = sorted(self, key=lambda self: (utc.localize(datetime.utcnow()) - self.time).total_seconds(), reverse=reverse) @@ -231,7 +231,7 @@ class VotesObject(list): def printAsTable(self, voter=None, votee=None, start=None, stop=None, start_percent=None, stop_percent=None, sort_key="time", reverse=True, allow_refresh=True, return_str=False, **kwargs): utc = pytz.timezone('UTC') - table_header = ["Voter", "Votee", "SBD", "Time", "Rshares", "Percent", "Weight"] + table_header = ["Voter", "Votee", "HBD", "Time", "Rshares", "Percent", "Weight"] t = PrettyTable(table_header) t.align = "l" start = addTzInfo(start) @@ -258,7 +258,7 @@ class VotesObject(list): (voter is None or vote["voter"] == voter) and (votee is None or vote.votee == votee): t.add_row([vote['voter'], vote.votee, - str(round(vote.sbd, 2)).ljust(5) + "$", + str(round(vote.hbd, 2)).ljust(5) + "$", timestr, vote.get("rshares", ""), str(vote.get('percent', '')), @@ -290,8 +290,8 @@ class VotesObject(list): v = vote["voter"] elif var == "votee": v = vote.votee - elif var == "sbd": - v = vote.sbd + elif var == "hbd": + v = vote.hbd elif var == "time": v = d_time elif var == "rshares": @@ -305,7 +305,7 @@ class VotesObject(list): def print_stats(self, return_str=False, **kwargs): # utc = pytz.timezone('UTC') - table_header = ["voter", "votee", "sbd", "time", "rshares", "percent", "weight"] + table_header = ["voter", "votee", "hbd", "time", "rshares", "percent", "weight"] t = PrettyTable(table_header) t.align = "l" @@ -338,38 +338,38 @@ class ActiveVotes(VotesObject): """ Obtain a list of votes for a post :param str authorperm: authorperm link - :param Steem steem_instance: Steem() instance to use when accesing a RPC + :param Hive hive_instance: Hive() instance to use when accesing a RPC """ - def __init__(self, authorperm, lazy=False, full=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, authorperm, lazy=False, full=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() votes = None - if not self.steem.is_connected(): + if not self.hive.is_connected(): return None - self.steem.rpc.set_next_node_on_empty_reply(False) + self.hive.rpc.set_next_node_on_empty_reply(False) if isinstance(authorperm, Comment): if 'active_votes' in authorperm and len(authorperm["active_votes"]) > 0: votes = authorperm["active_votes"] - elif self.steem.rpc.get_use_appbase(): - self.steem.rpc.set_next_node_on_empty_reply(True) + elif self.hive.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(True) try: - votes = self.steem.rpc.get_active_votes({'author': authorperm["author"], + votes = self.hive.rpc.get_active_votes({'author': authorperm["author"], 'permlink': authorperm["permlink"]}, api="tags")['votes'] except: - votes = self.steem.rpc.get_active_votes(authorperm["author"], authorperm["permlink"]) + votes = self.hive.rpc.get_active_votes(authorperm["author"], authorperm["permlink"]) else: - votes = self.steem.rpc.get_active_votes(authorperm["author"], authorperm["permlink"]) + votes = self.hive.rpc.get_active_votes(authorperm["author"], authorperm["permlink"]) authorperm = authorperm["authorperm"] elif isinstance(authorperm, string_types): [author, permlink] = resolve_authorperm(authorperm) - if self.steem.rpc.get_use_appbase(): - self.steem.rpc.set_next_node_on_empty_reply(True) - votes = self.steem.rpc.get_active_votes({'author': author, + if self.hive.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(True) + votes = self.hive.rpc.get_active_votes({'author': author, 'permlink': permlink}, api="tags")['votes'] else: - votes = self.steem.rpc.get_active_votes(author, permlink) + votes = self.hive.rpc.get_active_votes(author, permlink) elif isinstance(authorperm, list): votes = authorperm authorperm = None @@ -381,7 +381,7 @@ class ActiveVotes(VotesObject): self.identifier = authorperm super(ActiveVotes, self).__init__( [ - Vote(x, authorperm=authorperm, lazy=lazy, full=full, steem_instance=self.steem) + Vote(x, authorperm=authorperm, lazy=lazy, full=full, hive_instance=self.hive) for x in votes ] ) @@ -392,13 +392,13 @@ class AccountVotes(VotesObject): Lists the last 100+ votes on the given account. :param str account: Account name - :param Steem steem_instance: Steem() instance to use when accesing a RPC + :param Hive hive_instance: Hive() instance to use when accesing a RPC """ - def __init__(self, account, start=None, stop=None, lazy=False, full=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, account, start=None, stop=None, lazy=False, full=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() start = addTzInfo(start) stop = addTzInfo(stop) - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) votes = account.get_account_votes() self.identifier = account["name"] vote_list = [] @@ -413,6 +413,6 @@ class AccountVotes(VotesObject): else: d_time = addTzInfo(datetime(1970, 1, 1, 0, 0, 0)) if (start is None or d_time >= start) and (stop is None or d_time <= stop): - vote_list.append(Vote(x, authorperm=account["name"], lazy=lazy, full=full, steem_instance=self.steem)) + vote_list.append(Vote(x, authorperm=account["name"], lazy=lazy, full=full, hive_instance=self.hive)) super(AccountVotes, self).__init__(vote_list) diff --git a/beem/wallet.py b/beem/wallet.py index ca62df908769d21c360166ac699b5ae0d2d431bf..6a835d32155f5911f5d36f9acd5615314187589d 100644 --- a/beem/wallet.py +++ b/beem/wallet.py @@ -9,7 +9,7 @@ import os import hashlib from beemgraphenebase import bip38 from beemgraphenebase.account import PrivateKey -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from .account import Account from .aes import AESCipher from .exceptions import ( @@ -42,7 +42,7 @@ class Wallet(object): your accounts. It either uses manually provided private keys or uses a SQLite database managed by storage.py. - :param SteemNodeRPC rpc: RPC connection to a Steem node + :param HiveNodeRPC rpc: RPC connection to a Hive node :param keys: Predefine the wif keys to shortcut the wallet database :type keys: array, dict, str @@ -51,12 +51,12 @@ class Wallet(object): * **Wallet Database**: Here, beem loads the keys from the locally stored wallet SQLite database (see ``storage.py``). - To use this mode, simply call :class:`beem.steem.Steem` without the + To use this mode, simply call :class:`beem.hive.Hive` without the ``keys`` parameter * **Providing Keys**: Here, you can provide the keys for your accounts manually. All you need to do is add the wif keys for the accounts you want to use as a simple array - using the ``keys`` parameter to :class:`beem.steem.Steem`. + using the ``keys`` parameter to :class:`beem.hive.Hive`. * **Force keys**: This more is for advanced users and requires that you know what you are doing. Here, the ``keys`` parameter is a dictionary that overwrite the @@ -68,10 +68,10 @@ class Wallet(object): .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.wipe(True) - steem.wallet.create("supersecret-passphrase") + from beem import Hive + hive = Hive() + hive.wallet.wipe(True) + hive.wallet.create("supersecret-passphrase") This will raise :class:`beem.exceptions.WalletExists` if you already have a wallet installed. @@ -80,9 +80,9 @@ class Wallet(object): .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("supersecret-passphrase") + from beem import Hive + hive = Hive() + hive.wallet.unlock("supersecret-passphrase") A private key can be added by using the :func:`addPrivateKey` method that is available @@ -90,10 +90,10 @@ class Wallet(object): .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("supersecret-passphrase") - steem.wallet.addPrivateKey("5xxxxxxxxxxxxxxxxxxxx") + from beem import Hive + hive = Hive() + hive.wallet.unlock("supersecret-passphrase") + hive.wallet.addPrivateKey("5xxxxxxxxxxxxxxxxxxxx") .. note:: The private key has to be either in hexadecimal or in wallet import format (wif) (starting with a ``5``). @@ -112,8 +112,8 @@ class Wallet(object): token = {} keyMap = {} # wif pairs to force certain keys - def __init__(self, steem_instance=None, *args, **kwargs): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, hive_instance=None, *args, **kwargs): + self.hive = hive_instance or shared_hive_instance() # Compatibility after name change from wif->keys if "wif" in kwargs and "keys" not in kwargs: @@ -145,8 +145,8 @@ class Wallet(object): @property def prefix(self): - if self.steem.is_connected(): - prefix = self.steem.prefix + if self.hive.is_connected(): + prefix = self.hive.prefix else: # If not connected, load prefix from config prefix = config["prefix"] @@ -154,13 +154,13 @@ class Wallet(object): @property def rpc(self): - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - return self.steem.rpc + return self.hive.rpc def setKeys(self, loadkeys): """ This method is strictly only for in memory keys that are - passed to Wallet/Steem with the ``keys`` argument + passed to Wallet/Hive with the ``keys`` argument """ log.debug( "Force setting of private keys. Not using the wallet database!") @@ -184,7 +184,7 @@ class Wallet(object): def setToken(self, loadtoken): """ This method is strictly only for in memory token that are - passed to Wallet/Steem with the ``token`` argument + passed to Wallet/Hive with the ``token`` argument """ log.debug( "Force setting of private token. Not using the wallet database!") @@ -210,7 +210,7 @@ class Wallet(object): def tryUnlockFromEnv(self): """ Try to fetch the unlock password from UNLOCK environment variable and keyring when no password is given. """ - password_storage = self.steem.config["password_storage"] + password_storage = self.hive.config["password_storage"] if password_storage == "environment" and "UNLOCK" in os.environ: log.debug("Trying to use environmental variable to unlock wallet") pwd = os.environ.get("UNLOCK") @@ -363,7 +363,7 @@ class Wallet(object): def _get_pub_from_wif(self, wif): """ Get the pubkey as string, from the wif key as string """ - # it could be either graphenebase or steem so we can't check + # it could be either graphenebase or hive so we can't check # the type directly if isinstance(wif, PrivateKey): wif = str(wif) @@ -595,13 +595,13 @@ class Wallet(object): :param str pub: Public key """ - if not self.steem.is_connected(): + if not self.hive.is_connected(): raise OfflineHasNoRPCException("No RPC available in offline mode!") - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - names = self.steem.rpc.get_key_references({'keys': [pub]}, api="account_by_key")["accounts"] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + names = self.hive.rpc.get_key_references({'keys': [pub]}, api="account_by_key")["accounts"] else: - names = self.steem.rpc.get_key_references([pub], api="account_by_key") + names = self.hive.rpc.get_key_references([pub], api="account_by_key") for name in names: for i in name: yield i @@ -629,7 +629,7 @@ class Wallet(object): """ for name in self.getAccountsFromPublicKey(pub): try: - account = Account(name, steem_instance=self.steem) + account = Account(name, hive_instance=self.hive) except AccountDoesNotExistsException: continue yield {"name": account["name"], @@ -648,7 +648,7 @@ class Wallet(object): return {"name": None, "type": None, "pubkey": pub} else: try: - account = Account(name, steem_instance=self.steem) + account = Account(name, hive_instance=self.hive) except: return return {"name": account["name"], @@ -687,7 +687,7 @@ class Wallet(object): """ Return all installed public keys """ if self.keyStorage: - return self.keyStorage.getPublicKeys(prefix=self.steem.prefix) + return self.keyStorage.getPublicKeys(prefix=self.hive.prefix) else: return list(Wallet.keys.keys()) diff --git a/beem/witness.py b/beem/witness.py index f813bb9b40df23bf3945faa2f8ad0a5243117406..2c82894a2c2ab3b13d66e4301a05815bcc6aea0d 100644 --- a/beem/witness.py +++ b/beem/witness.py @@ -5,7 +5,7 @@ from __future__ import print_function from __future__ import unicode_literals from builtins import str import json -from beem.instance import shared_steem_instance +from beem.instance import shared_hive_instance from beemgraphenebase.py23 import bytes_types, integer_types, string_types, text_type from .account import Account from .amount import Amount @@ -23,7 +23,7 @@ class Witness(BlockchainObject): """ Read data about a witness in the chain :param str account_name: Name of the witness - :param Steem steem_instance: Steem instance to use when + :param Hive hive_instance: Hive instance to use when accesing a RPC .. code-block:: python @@ -40,11 +40,11 @@ class Witness(BlockchainObject): owner, full=False, lazy=False, - steem_instance=None + hive_instance=None ): self.full = full self.lazy = lazy - self.steem = steem_instance or shared_steem_instance() + self.hive = hive_instance or shared_hive_instance() if isinstance(owner, dict): owner = self._parse_json_data(owner) super(Witness, self).__init__( @@ -52,29 +52,29 @@ class Witness(BlockchainObject): lazy=lazy, full=full, id_item="owner", - steem_instance=steem_instance + hive_instance=hive_instance ) def refresh(self): if not self.identifier: return - if not self.steem.is_connected(): + if not self.hive.is_connected(): return - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - witness = self.steem.rpc.find_witnesses({'owners': [self.identifier]}, api="database")['witnesses'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + witness = self.hive.rpc.find_witnesses({'owners': [self.identifier]}, api="database")['witnesses'] if len(witness) > 0: witness = witness[0] else: - witness = self.steem.rpc.get_witness_by_account(self.identifier) + witness = self.hive.rpc.get_witness_by_account(self.identifier) if not witness: raise WitnessDoesNotExistsException(self.identifier) witness = self._parse_json_data(witness) - super(Witness, self).__init__(witness, id_item="owner", lazy=self.lazy, full=self.full, steem_instance=self.steem) + super(Witness, self).__init__(witness, id_item="owner", lazy=self.lazy, full=self.full, hive_instance=self.hive) def _parse_json_data(self, witness): parse_times = [ - "created", "last_sbd_exchange_update", "hardfork_time_vote", + "created", "last_hbd_exchange_update", "hardfork_time_vote", ] for p in parse_times: if p in witness and isinstance(witness.get(p), string_types): @@ -90,7 +90,7 @@ class Witness(BlockchainObject): def json(self): output = self.copy() parse_times = [ - "created", "last_sbd_exchange_update", "hardfork_time_vote", + "created", "last_hbd_exchange_update", "hardfork_time_vote", ] for p in parse_times: if p in output: @@ -109,7 +109,7 @@ class Witness(BlockchainObject): @property def account(self): - return Account(self["owner"], steem_instance=self.steem) + return Account(self["owner"], hive_instance=self.hive) @property def is_active(self): @@ -121,36 +121,36 @@ class Witness(BlockchainObject): account=None): """ Publish a feed price as a witness. - :param float base: USD Price of STEEM in SBD (implied price) + :param float base: USD Price of HIVE in HBD (implied price) :param float quote: (optional) Quote Price. Should be 1.000 (default), unless we are adjusting the feed to support the peg. :param str account: (optional) the source account for the transfer if not self["owner"] """ - quote = quote if quote is not None else "1.000 %s" % (self.steem.steem_symbol) + quote = quote if quote is not None else "1.000 %s" % (self.hive.hive_symbol) if not account: account = self["owner"] if not account: raise ValueError("You need to provide an account") - account = Account(account, steem_instance=self.steem) + account = Account(account, hive_instance=self.hive) if isinstance(base, Amount): - base = Amount(base, steem_instance=self.steem) + base = Amount(base, hive_instance=self.hive) elif isinstance(base, string_types): - base = Amount(base, steem_instance=self.steem) + base = Amount(base, hive_instance=self.hive) else: - base = Amount(base, self.steem.sbd_symbol, steem_instance=self.steem) + base = Amount(base, self.hive.hbd_symbol, hive_instance=self.hive) if isinstance(quote, Amount): - quote = Amount(quote, steem_instance=self.steem) + quote = Amount(quote, hive_instance=self.hive) elif isinstance(quote, string_types): - quote = Amount(quote, steem_instance=self.steem) + quote = Amount(quote, hive_instance=self.hive) else: - quote = Amount(quote, self.steem.steem_symbol, steem_instance=self.steem) + quote = Amount(quote, self.hive.hive_symbol, hive_instance=self.hive) - if not base.symbol == self.steem.sbd_symbol: + if not base.symbol == self.hive.hbd_symbol: raise AssertionError() - if not quote.symbol == self.steem.steem_symbol: + if not quote.symbol == self.hive.hive_symbol: raise AssertionError() op = operations.Feed_publish( @@ -160,9 +160,9 @@ class Witness(BlockchainObject): "base": base, "quote": quote, }, - "prefix": self.steem.prefix, + "prefix": self.hive.prefix, }) - return self.steem.finalizeOp(op, account, "active") + return self.hive.finalizeOp(op, account, "active") def update(self, signing_key, url, props, account=None): """ Update witness @@ -177,20 +177,20 @@ class Witness(BlockchainObject): { "account_creation_fee": x, "maximum_block_size": x, - "sbd_interest_rate": x, + "hbd_interest_rate": x, } """ if not account: account = self["owner"] - return self.steem.witness_update(signing_key, url, props, account=account) + return self.hive.witness_update(signing_key, url, props, account=account) class WitnessesObject(list): def printAsTable(self, sort_key="votes", reverse=True, return_str=False, **kwargs): utc = pytz.timezone('UTC') no_feed = False - if len(self) > 0 and "sbd_exchange_rate" not in self[0]: + if len(self) > 0 and "hbd_exchange_rate" not in self[0]: table_header = ["Name", "Votes [PV]", "Disabled", "Missed", "Fee", "Size", "Version"] no_feed = True else: @@ -198,15 +198,15 @@ class WitnessesObject(list): t = PrettyTable(table_header) t.align = "l" if sort_key == 'base': - sortedList = sorted(self, key=lambda self: self['sbd_exchange_rate']['base'], reverse=reverse) + sortedList = sorted(self, key=lambda self: self['hbd_exchange_rate']['base'], reverse=reverse) elif sort_key == 'quote': - sortedList = sorted(self, key=lambda self: self['sbd_exchange_rate']['quote'], reverse=reverse) - elif sort_key == 'last_sbd_exchange_update': - sortedList = sorted(self, key=lambda self: (utc.localize(datetime.utcnow()) - self['last_sbd_exchange_update']).total_seconds(), reverse=reverse) + sortedList = sorted(self, key=lambda self: self['hbd_exchange_rate']['quote'], reverse=reverse) + elif sort_key == 'last_hbd_exchange_update': + sortedList = sorted(self, key=lambda self: (utc.localize(datetime.utcnow()) - self['last_hbd_exchange_update']).total_seconds(), reverse=reverse) elif sort_key == 'account_creation_fee': sortedList = sorted(self, key=lambda self: self['props']['account_creation_fee'], reverse=reverse) - elif sort_key == 'sbd_interest_rate': - sortedList = sorted(self, key=lambda self: self['props']['sbd_interest_rate'], reverse=reverse) + elif sort_key == 'hbd_interest_rate': + sortedList = sorted(self, key=lambda self: self['props']['hbd_interest_rate'], reverse=reverse) elif sort_key == 'maximum_block_size': sortedList = sorted(self, key=lambda self: self['props']['maximum_block_size'], reverse=reverse) elif sort_key == 'votes': @@ -227,17 +227,17 @@ class WitnessesObject(list): str(witness['props']['maximum_block_size']), witness['running_version']]) else: - td = utc.localize(datetime.utcnow()) - witness['last_sbd_exchange_update'] + td = utc.localize(datetime.utcnow()) - witness['last_hbd_exchange_update'] t.add_row([witness['owner'], str(round(int(witness['votes']) / 1e15, 2)), disabled, str(witness['total_missed']), - str(Amount(witness['sbd_exchange_rate']['base'], steem_instance=self.steem)), - str(Amount(witness['sbd_exchange_rate']['quote'], steem_instance=self.steem)), + str(Amount(witness['hbd_exchange_rate']['base'], hive_instance=self.hive)), + str(Amount(witness['hbd_exchange_rate']['quote'], hive_instance=self.hive)), str(td.days) + " days " + str(td.seconds // 3600) + ":" + str((td.seconds // 60) % 60), str(witness['props']['account_creation_fee']), str(witness['props']['maximum_block_size']), - str(witness['props']['sbd_interest_rate'] / 100) + " %", + str(witness['props']['hbd_interest_rate'] / 100) + " %", witness['running_version']]) if return_str: return t.get_string(**kwargs) @@ -254,8 +254,8 @@ class WitnessesObject(list): from .account import Account if isinstance(item, Account): name = item["name"] - elif self.steem: - account = Account(item, steem_instance=self.steem) + elif self.hive: + account = Account(item, hive_instance=self.hive) name = account["name"] return ( @@ -276,8 +276,8 @@ class GetWitnesses(WitnessesObject): :param list name_list: list of witneses to fetch :param int batch_limit: (optional) maximum number of witnesses to fetch per call, defaults to 100 - :param Steem steem_instance: Steem() instance to use when - accessing a RPCcreator = Witness(creator, steem_instance=self) + :param Hive hive_instance: Hive() instance to use when + accessing a RPCcreator = Witness(creator, hive_instance=self) .. code-block:: python @@ -287,24 +287,24 @@ class GetWitnesses(WitnessesObject): print(w[1].json()) """ - def __init__(self, name_list, batch_limit=100, lazy=False, full=True, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - if not self.steem.is_connected(): + def __init__(self, name_list, batch_limit=100, lazy=False, full=True, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + if not self.hive.is_connected(): return witnesses = [] name_cnt = 0 - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): while name_cnt < len(name_list): - self.steem.rpc.set_next_node_on_empty_reply(False) - witnesses += self.steem.rpc.find_witnesses({'owners': name_list[name_cnt:batch_limit + name_cnt]}, api="database")["witnesses"] + self.hive.rpc.set_next_node_on_empty_reply(False) + witnesses += self.hive.rpc.find_witnesses({'owners': name_list[name_cnt:batch_limit + name_cnt]}, api="database")["witnesses"] name_cnt += batch_limit else: for witness in name_list: - witnesses.append(self.steem.rpc.get_witness_by_account(witness)) + witnesses.append(self.hive.rpc.get_witness_by_account(witness)) self.identifier = "" super(GetWitnesses, self).__init__( [ - Witness(x, lazy=lazy, full=full, steem_instance=self.steem) + Witness(x, lazy=lazy, full=full, hive_instance=self.hive) for x in witnesses ] ) @@ -313,7 +313,7 @@ class GetWitnesses(WitnessesObject): class Witnesses(WitnessesObject): """ Obtain a list of **active** witnesses and the current schedule - :param Steem steem_instance: Steem instance to use when + :param Hive hive_instance: Hive instance to use when accesing a RPC .. code-block:: python @@ -323,27 +323,27 @@ class Witnesses(WitnessesObject): <Witnesses > """ - def __init__(self, lazy=False, full=True, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, lazy=False, full=True, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() self.lazy = lazy self.full = full self.refresh() def refresh(self): - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - self.active_witnessess = self.steem.rpc.get_active_witnesses(api="database")['witnesses'] - self.schedule = self.steem.rpc.get_witness_schedule(api="database") - self.witness_count = self.steem.rpc.get_witness_count(api="condenser") + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + self.active_witnessess = self.hive.rpc.get_active_witnesses(api="database")['witnesses'] + self.schedule = self.hive.rpc.get_witness_schedule(api="database") + self.witness_count = self.hive.rpc.get_witness_count(api="condenser") else: - self.active_witnessess = self.steem.rpc.get_active_witnesses() - self.schedule = self.steem.rpc.get_witness_schedule() - self.witness_count = self.steem.rpc.get_witness_count() - self.current_witness = self.steem.get_dynamic_global_properties(use_stored_data=False)["current_witness"] + self.active_witnessess = self.hive.rpc.get_active_witnesses() + self.schedule = self.hive.rpc.get_witness_schedule() + self.witness_count = self.hive.rpc.get_witness_count() + self.current_witness = self.hive.get_dynamic_global_properties(use_stored_data=False)["current_witness"] self.identifier = "" super(Witnesses, self).__init__( [ - Witness(x, lazy=self.lazy, full=self.full, steem_instance=self.steem) + Witness(x, lazy=self.lazy, full=self.full, hive_instance=self.hive) for x in self.active_witnessess ] ) @@ -353,7 +353,7 @@ class WitnessesVotedByAccount(WitnessesObject): """ Obtain a list of witnesses which have been voted by an account :param str account: Account name - :param Steem steem_instance: Steem instance to use when + :param Hive hive_instance: Hive instance to use when accesing a RPC .. code-block:: python @@ -363,17 +363,17 @@ class WitnessesVotedByAccount(WitnessesObject): <WitnessesVotedByAccount gtg> """ - def __init__(self, account, lazy=False, full=True, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() - self.account = Account(account, full=True, steem_instance=self.steem) + def __init__(self, account, lazy=False, full=True, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() + self.account = Account(account, full=True, hive_instance=self.hive) account_name = self.account["name"] self.identifier = account_name - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): if "witnesses_voted_for" not in self.account: return limit = self.account["witnesses_voted_for"] - witnessess_dict = self.steem.rpc.list_witness_votes({'start': [account_name], 'limit': limit, 'order': 'by_account_witness'}, api="database")['votes'] + witnessess_dict = self.hive.rpc.list_witness_votes({'start': [account_name], 'limit': limit, 'order': 'by_account_witness'}, api="database")['votes'] witnessess = [] for w in witnessess_dict: witnessess.append(w["witness"]) @@ -384,7 +384,7 @@ class WitnessesVotedByAccount(WitnessesObject): super(WitnessesVotedByAccount, self).__init__( [ - Witness(x, lazy=lazy, full=full, steem_instance=self.steem) + Witness(x, lazy=lazy, full=full, hive_instance=self.hive) for x in witnessess ] ) @@ -395,7 +395,7 @@ class WitnessesRankedByVote(WitnessesObject): :param str from_account: Witness name from which the lists starts (default = "") :param int limit: Limits the number of shown witnesses (default = 100) - :param Steem steem_instance: Steem instance to use when + :param Hive hive_instance: Hive instance to use when accesing a RPC .. code-block:: python @@ -405,21 +405,21 @@ class WitnessesRankedByVote(WitnessesObject): <WitnessesRankedByVote > """ - def __init__(self, from_account="", limit=100, lazy=False, full=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, from_account="", limit=100, lazy=False, full=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() witnessList = [] last_limit = limit self.identifier = "" use_condenser = True - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase() and not use_condenser: + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase() and not use_condenser: query_limit = 1000 else: query_limit = 100 - if self.steem.rpc.get_use_appbase() and not use_condenser and from_account == "": + if self.hive.rpc.get_use_appbase() and not use_condenser and from_account == "": last_account = None - elif self.steem.rpc.get_use_appbase() and not use_condenser: - last_account = Witness(from_account, steem_instance=self.steem)["votes"] + elif self.hive.rpc.get_use_appbase() and not use_condenser: + last_account = Witness(from_account, hive_instance=self.hive)["votes"] else: last_account = from_account if limit > query_limit: @@ -431,24 +431,24 @@ class WitnessesRankedByVote(WitnessesObject): else: witnessList.extend(tmpList) last_limit -= query_limit - if self.steem.rpc.get_use_appbase(): + if self.hive.rpc.get_use_appbase(): last_account = witnessList[-1]["votes"] else: last_account = witnessList[-1]["owner"] if (last_limit < limit): last_limit += 1 - if self.steem.rpc.get_use_appbase() and not use_condenser: - witnessess = self.steem.rpc.list_witnesses({'start': [last_account], 'limit': last_limit, 'order': 'by_vote_name'}, api="database")['witnesses'] - elif self.steem.rpc.get_use_appbase() and use_condenser: - witnessess = self.steem.rpc.get_witnesses_by_vote(last_account, last_limit, api="condenser") + if self.hive.rpc.get_use_appbase() and not use_condenser: + witnessess = self.hive.rpc.list_witnesses({'start': [last_account], 'limit': last_limit, 'order': 'by_vote_name'}, api="database")['witnesses'] + elif self.hive.rpc.get_use_appbase() and use_condenser: + witnessess = self.hive.rpc.get_witnesses_by_vote(last_account, last_limit, api="condenser") else: - witnessess = self.steem.rpc.get_witnesses_by_vote(last_account, last_limit) + witnessess = self.hive.rpc.get_witnesses_by_vote(last_account, last_limit) # self.witness_count = len(self.voted_witnessess) if (last_limit < limit): witnessess = witnessess[1:] if len(witnessess) > 0: for x in witnessess: - witnessList.append(Witness(x, lazy=lazy, full=full, steem_instance=self.steem)) + witnessList.append(Witness(x, lazy=lazy, full=full, hive_instance=self.hive)) if len(witnessList) == 0: return super(WitnessesRankedByVote, self).__init__(witnessList) @@ -459,7 +459,7 @@ class ListWitnesses(WitnessesObject): :param str from_account: Witness name from which the lists starts (default = "") :param int limit: Limits the number of shown witnesses (default = 100) - :param Steem steem_instance: Steem instance to use when + :param Hive hive_instance: Hive instance to use when accesing a RPC .. code-block:: python @@ -469,19 +469,19 @@ class ListWitnesses(WitnessesObject): <ListWitnesses gtg> """ - def __init__(self, from_account="", limit=100, lazy=False, full=False, steem_instance=None): - self.steem = steem_instance or shared_steem_instance() + def __init__(self, from_account="", limit=100, lazy=False, full=False, hive_instance=None): + self.hive = hive_instance or shared_hive_instance() self.identifier = from_account - self.steem.rpc.set_next_node_on_empty_reply(False) - if self.steem.rpc.get_use_appbase(): - witnessess = self.steem.rpc.list_witnesses({'start': from_account, 'limit': limit, 'order': 'by_name'}, api="database")['witnesses'] + self.hive.rpc.set_next_node_on_empty_reply(False) + if self.hive.rpc.get_use_appbase(): + witnessess = self.hive.rpc.list_witnesses({'start': from_account, 'limit': limit, 'order': 'by_name'}, api="database")['witnesses'] else: - witnessess = self.steem.rpc.lookup_witness_accounts(from_account, limit) + witnessess = self.hive.rpc.lookup_witness_accounts(from_account, limit) if len(witnessess) == 0: return super(ListWitnesses, self).__init__( [ - Witness(x, lazy=lazy, full=full, steem_instance=self.steem) + Witness(x, lazy=lazy, full=full, hive_instance=self.hive) for x in witnessess ] ) diff --git a/beemapi/__init__.py b/beemapi/__init__.py index d96158f435ffc7936e08099ff0c05139695a7367..7ceab74ccdf93f20c9f90218b0a472478c9677e2 100644 --- a/beemapi/__init__.py +++ b/beemapi/__init__.py @@ -1,7 +1,7 @@ """ beemapi.""" from .version import version as __version__ __all__ = [ - "steemnoderpc", + "hivenoderpc", "exceptions", "websocket", "rpcutils", diff --git a/beemapi/graphenerpc.py b/beemapi/graphenerpc.py index e80c3d302d51cbbef3c46fac26c94bbfc0ebe33f..2fb108f57f69b70ca1b3d2e6f02b26e87511bf6a 100644 --- a/beemapi/graphenerpc.py +++ b/beemapi/graphenerpc.py @@ -112,10 +112,10 @@ class GrapheneRPC(object): .. code-block:: python from beemapi.graphenerpc import GrapheneRPC - ws = GrapheneRPC("wss://steemd.pevo.science","","") + ws = GrapheneRPC("wss://hived.pevo.science","","") print(ws.get_account_count()) - ws = GrapheneRPC("https://api.steemit.com","","") + ws = GrapheneRPC("https://api.hiveit.com","","") print(ws.get_account_count()) .. note:: This class allows to call methods available via diff --git a/beemapi/steemnoderpc.py b/beemapi/hivenoderpc.py similarity index 97% rename from beemapi/steemnoderpc.py rename to beemapi/hivenoderpc.py index 597aceccf18342a2a7c19484980f9cb293d8cb49..58ce7500c87b948f6e6633ae663e981fa3749a04 100644 --- a/beemapi/steemnoderpc.py +++ b/beemapi/hivenoderpc.py @@ -11,7 +11,7 @@ import logging log = logging.getLogger(__name__) -class SteemNodeRPC(GrapheneRPC): +class HiveNodeRPC(GrapheneRPC): """ This class allows to call API methods exposed by the witness node via websockets / rpc-json. @@ -27,7 +27,7 @@ class SteemNodeRPC(GrapheneRPC): """ def __init__(self, *args, **kwargs): - """ Init SteemNodeRPC + """ Init HiveNodeRPC :param str urls: Either a single Websocket/Http URL, or a list of URLs :param str user: Username for Authentication @@ -37,7 +37,7 @@ class SteemNodeRPC(GrapheneRPC): :param int timeout: Timeout setting for https nodes (default is 60) """ - super(SteemNodeRPC, self).__init__(*args, **kwargs) + super(HiveNodeRPC, self).__init__(*args, **kwargs) self.next_node_on_empty_reply = False def set_next_node_on_empty_reply(self, next_node_on_empty_reply=True): @@ -47,7 +47,7 @@ class SteemNodeRPC(GrapheneRPC): def rpcexec(self, payload): """ Execute a call by sending the payload. It makes use of the GrapheneRPC library. - In here, we mostly deal with Steem specific error handling + In here, we mostly deal with Hive specific error handling :param json payload: Payload data :raises ValueError: if the server does not respond in proper JSON format @@ -61,7 +61,7 @@ class SteemNodeRPC(GrapheneRPC): doRetry = False try: # Forward call to GrapheneWebsocketRPC and catch+evaluate errors - reply = super(SteemNodeRPC, self).rpcexec(payload) + reply = super(HiveNodeRPC, self).rpcexec(payload) if self.next_node_on_empty_reply and not bool(reply) and self.nodes.working_nodes_count > 1: self._retry_on_next_node("Empty Reply") doRetry = True diff --git a/beemapi/rpcutils.py b/beemapi/rpcutils.py index a104b12b70ba7059c8c46fd243a25949e8ec64ac..c169b52bc2ef3fa324d0811d7c3943a2bcf25a2e 100644 --- a/beemapi/rpcutils.py +++ b/beemapi/rpcutils.py @@ -16,9 +16,9 @@ log = logging.getLogger(__name__) def is_network_appbase_ready(props): """Checks if the network is appbase ready""" - if "STEEMIT_BLOCKCHAIN_VERSION" in props: + if "HIVEIT_BLOCKCHAIN_VERSION" in props: return False - elif "STEEM_BLOCKCHAIN_VERSION" in props: + elif "HIVE_BLOCKCHAIN_VERSION" in props: return True diff --git a/beemapi/websocket.py b/beemapi/websocket.py index 29a0fe775667521526d66d34442c0144ec57bf70..8794cae3885a4cf0d0ca30af5286eccf8628a575 100644 --- a/beemapi/websocket.py +++ b/beemapi/websocket.py @@ -25,7 +25,7 @@ log = logging.getLogger(__name__) # logging.basicConfig(level=logging.DEBUG) -class SteemWebsocket(Events): +class HiveWebsocket(Events): """ Create a websocket connection and request push notifications :param str urls: Either a single Websocket URL, or a list of URLs @@ -38,11 +38,11 @@ class SteemWebsocket(Events): * ``on_block`` which will be called accordingly with the notification - message received from the Steem node: + message received from the Hive node: .. code-block:: python - ws = SteemWebsocket( + ws = HiveWebsocket( "wss://gtg.steem.house:8090", ) ws.on_block += print diff --git a/beembase/objects.py b/beembase/objects.py index 8fa88c36fe4607aab66e25aa68a0881082dba71a..0cb922ca4c33f7558995208db52e2239065eaf5b 100644 --- a/beembase/objects.py +++ b/beembase/objects.py @@ -168,11 +168,11 @@ class WitnessProps(GrapheneObject): if len(args) == 1 and len(kwargs) == 0: kwargs = args[0] prefix = kwargs.get("prefix", default_prefix) - if "sbd_interest_rate" in kwargs: + if "hbd_interest_rate" in kwargs: super(WitnessProps, self).__init__(OrderedDict([ ('account_creation_fee', Amount(kwargs["account_creation_fee"], prefix=prefix)), ('maximum_block_size', Uint32(kwargs["maximum_block_size"])), - ('sbd_interest_rate', Uint16(kwargs["sbd_interest_rate"])), + ('hbd_interest_rate', Uint16(kwargs["hbd_interest_rate"])), ])) else: super(WitnessProps, self).__init__(OrderedDict([ diff --git a/beembase/operationids.py b/beembase/operationids.py index b3700bdeb277741be5def077fbc2d854088ab71a..9d45b6c59a57c626f0c2a1bd97c0a81759b9fd32 100644 --- a/beembase/operationids.py +++ b/beembase/operationids.py @@ -71,7 +71,7 @@ ops = [ 'producer_reward', 'clear_null_account_balance', 'proposal_pay', - 'sps_fund' + 'hps_fund' ] operations = {o: ops.index(o) for o in ops} diff --git a/beembase/operations.py b/beembase/operations.py index 775e74d9ac0a0f5d3e3bb2deda70261e28e54553..b0b42edfe55455fd8f8288e3abe1515c3cbbbf95 100644 --- a/beembase/operations.py +++ b/beembase/operations.py @@ -421,13 +421,13 @@ class Witness_set_properties(GrapheneObject): is_hex = False if isinstance(k[1], int) and k[0] in ["account_subsidy_budget", "account_subsidy_decay", "maximum_block_size"]: props[k[0]] = (hexlify(Uint32(k[1]).__bytes__())).decode() - elif isinstance(k[1], int) and k[0] in ["sbd_interest_rate"]: + elif isinstance(k[1], int) and k[0] in ["hbd_interest_rate"]: props[k[0]] = (hexlify(Uint16(k[1]).__bytes__())).decode() elif not isinstance(k[1], str) and k[0] in ["account_creation_fee"]: props[k[0]] = (hexlify(Amount(k[1], prefix=prefix).__bytes__())).decode() elif not is_hex and isinstance(k[1], str) and k[0] in ["account_creation_fee"]: props[k[0]] = (hexlify(Amount(k[1], prefix=prefix).__bytes__())).decode() - elif not isinstance(k[1], str) and k[0] in ["sbd_exchange_rate"]: + elif not isinstance(k[1], str) and k[0] in ["hbd_exchange_rate"]: if 'prefix' not in k[1]: k[1]['prefix'] = prefix props[k[0]] = (hexlify(ExchangeRate(k[1]).__bytes__())).decode() @@ -552,8 +552,8 @@ class Comment_options(GrapheneObject): ('permlink', String(kwargs["permlink"])), ('max_accepted_payout', Amount(kwargs["max_accepted_payout"], prefix=prefix)), - ('percent_steem_dollars', - Uint16(int(kwargs["percent_steem_dollars"]))), + ('percent_hive_dollars', + Uint16(int(kwargs["percent_hive_dollars"]))), ('allow_votes', Bool(bool(kwargs["allow_votes"]))), ('allow_curation_rewards', Bool(bool(kwargs["allow_curation_rewards"]))), @@ -786,19 +786,19 @@ class Claim_reward_balance(GrapheneObject): if len(args) == 1 and len(kwargs) == 0: kwargs = args[0] prefix = kwargs.get("prefix", default_prefix) - if "reward_sbd" in kwargs: + if "reward_hbd" in kwargs: super(Claim_reward_balance, self).__init__( OrderedDict([ ('account', String(kwargs["account"])), - ('reward_steem', Amount(kwargs["reward_steem"], prefix=prefix)), - ('reward_sbd', Amount(kwargs["reward_sbd"], prefix=prefix)), + ('reward_hive', Amount(kwargs["reward_hive"], prefix=prefix)), + ('reward_hbd', Amount(kwargs["reward_hbd"], prefix=prefix)), ('reward_vests', Amount(kwargs["reward_vests"], prefix=prefix)), ])) else: super(Claim_reward_balance, self).__init__( OrderedDict([ ('account', String(kwargs["account"])), - ('reward_steem', Amount(kwargs["reward_steem"], prefix=prefix)), + ('reward_hive', Amount(kwargs["reward_hive"], prefix=prefix)), ('reward_vests', Amount(kwargs["reward_vests"], prefix=prefix)), ])) @@ -875,8 +875,8 @@ class Escrow_transfer(GrapheneObject): ('to', String(kwargs["to"])), ('agent', String(kwargs["agent"])), ('escrow_id', Uint32(kwargs["escrow_id"])), - ('sbd_amount', Amount(kwargs["sbd_amount"], prefix=prefix)), - ('steem_amount', Amount(kwargs["steem_amount"], prefix=prefix)), + ('hbd_amount', Amount(kwargs["hbd_amount"], prefix=prefix)), + ('hive_amount', Amount(kwargs["hive_amount"], prefix=prefix)), ('fee', Amount(kwargs["fee"], prefix=prefix)), ('ratification_deadline', PointInTime(kwargs["ratification_deadline"])), ('escrow_expiration', PointInTime(kwargs["escrow_expiration"])), @@ -912,8 +912,8 @@ class Escrow_release(GrapheneObject): ('to', String(kwargs["to"])), ('who', String(kwargs["who"])), ('escrow_id', Uint32(kwargs["escrow_id"])), - ('sbd_amount', Amount(kwargs["sbd_amount"], prefix=prefix)), - ('steem_amount', Amount(kwargs["steem_amount"], prefix=prefix)), + ('hbd_amount', Amount(kwargs["hbd_amount"], prefix=prefix)), + ('hive_amount', Amount(kwargs["hive_amount"], prefix=prefix)), ])) diff --git a/beembase/signedtransactions.py b/beembase/signedtransactions.py index 963882e7ee693c90fad6b48abc697b76526f5095..d645bd4cf0734e8a1230e245ea7b5b056c2691f4 100644 --- a/beembase/signedtransactions.py +++ b/beembase/signedtransactions.py @@ -35,10 +35,10 @@ class Signed_Transaction(GrapheneSigned_Transaction): if c not in self.known_chains: self.known_chains[c] = custom_chain[c] - def sign(self, wifkeys, chain=u"STEEM"): + def sign(self, wifkeys, chain=u"HIVE"): return super(Signed_Transaction, self).sign(wifkeys, chain) - def verify(self, pubkeys=[], chain=u"STEEM", recover_parameter=False): + def verify(self, pubkeys=[], chain=u"HIVE", recover_parameter=False): return super(Signed_Transaction, self).verify(pubkeys, chain, recover_parameter) def getOperationKlass(self): diff --git a/beemgraphenebase/chains.py b/beemgraphenebase/chains.py index 2509787d0ef598492341d849ea9ef5511224cdae..0ed83e9cbec7b23f345c7e33335f953dccb55962 100644 --- a/beemgraphenebase/chains.py +++ b/beemgraphenebase/chains.py @@ -4,33 +4,33 @@ from __future__ import print_function from __future__ import unicode_literals default_prefix = "STM" known_chains = { - "STEEMAPPBASE": { + "HIVEAPPBASE": { "chain_id": "0" * int(256 / 4), "min_version": '0.19.10', "prefix": "STM", "chain_assets": [ - {"asset": "@@000000013", "symbol": "SBD", "precision": 3, "id": 0}, - {"asset": "@@000000021", "symbol": "STEEM", "precision": 3, "id": 1}, + {"asset": "@@000000013", "symbol": "HBD", "precision": 3, "id": 0}, + {"asset": "@@000000021", "symbol": "HIVE", "precision": 3, "id": 1}, {"asset": "@@000000037", "symbol": "VESTS", "precision": 6, "id": 2} ], }, - "STEEM": { + "HIVE": { "chain_id": "0" * int(256 / 4), "min_version": '0.19.5', "prefix": "STM", "chain_assets": [ - {"asset": "SBD", "symbol": "SBD", "precision": 3, "id": 0}, - {"asset": "STEEM", "symbol": "STEEM", "precision": 3, "id": 1}, + {"asset": "HBD", "symbol": "HBD", "precision": 3, "id": 0}, + {"asset": "HIVE", "symbol": "HIVE", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "VESTS", "precision": 6, "id": 2} ], }, - "STEEMZERO": { + "HIVEZERO": { "chain_id": "0" * int(256 / 4), "min_version": '0.0.0', "prefix": "STM", "chain_assets": [ - {"asset": "SBD", "symbol": "SBD", "precision": 3, "id": 0}, - {"asset": "STEEM", "symbol": "STEEM", "precision": 3, "id": 1}, + {"asset": "HBD", "symbol": "HBD", "precision": 3, "id": 0}, + {"asset": "HIVE", "symbol": "HIVE", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "VESTS", "precision": 6, "id": 2} ], }, @@ -39,8 +39,8 @@ known_chains = { "min_version": '0.20.0', "prefix": "STX", "chain_assets": [ - {"asset": "@@000000013", "symbol": "SBD", "precision": 3, "id": 0}, - {"asset": "@@000000021", "symbol": "STEEM", "precision": 3, "id": 1}, + {"asset": "@@000000013", "symbol": "HBD", "precision": 3, "id": 0}, + {"asset": "@@000000021", "symbol": "HIVE", "precision": 3, "id": 1}, {"asset": "@@000000037", "symbol": "VESTS", "precision": 6, "id": 2} ], }, @@ -60,8 +60,8 @@ known_chains = { "min_version": '0.0.0', "prefix": "GLS", "chain_assets": [ - {"asset": "SBD", "symbol": "GBG", "precision": 3, "id": 0}, - {"asset": "STEEM", "symbol": "GOLOS", "precision": 3, "id": 1}, + {"asset": "HBD", "symbol": "GBG", "precision": 3, "id": 0}, + {"asset": "HIVE", "symbol": "GOLOS", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "GESTS", "precision": 6, "id": 2} ], }, @@ -70,7 +70,7 @@ known_chains = { "min_version": "0.0.0", "prefix": "VIT", "chain_assets": [ - {"asset": "STEEM", "symbol": "VIT", "precision": 3, "id": 1}, + {"asset": "HIVE", "symbol": "VIT", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "VESTS", "precision": 6, "id": 2} ], }, @@ -79,8 +79,8 @@ known_chains = { "min_version": "0.19.3", "prefix": "WKA", "chain_assets": [ - {"asset": "SBD", "symbol": "WKD", "precision": 3, "id": 0}, - {"asset": "STEEM", "symbol": "WEKU", "precision": 3, "id": 1}, + {"asset": "HBD", "symbol": "WKD", "precision": 3, "id": 0}, + {"asset": "HIVE", "symbol": "WEKU", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "VESTS", "precision": 6, "id": 2} ], }, @@ -99,8 +99,8 @@ known_chains = { "min_version": "0.19.6", "prefix": "EUR", "chain_assets": [ - {"asset": "SBD", "symbol": "EUR", "precision": 3, "id": 0}, - {"asset": "STEEM", "symbol": "EFTG", "precision": 3, "id": 1}, + {"asset": "HBD", "symbol": "EUR", "precision": 3, "id": 0}, + {"asset": "HIVE", "symbol": "EFTG", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "VESTS", "precision": 6, "id": 2} ], }, @@ -119,7 +119,7 @@ known_chains = { "min_version": "0.0.0", "prefix": "WLS", "chain_assets": [ - {"asset": "STEEM", "symbol": "WLS", "precision": 3, "id": 1}, + {"asset": "HIVE", "symbol": "WLS", "precision": 3, "id": 1}, {"asset": "VESTS", "symbol": "VESTS", "precision": 6, "id": 2} ], }, diff --git a/beemgraphenebase/dictionary.py b/beemgraphenebase/dictionary.py index f2c9df61881ed6f672701f585209f52112b27bab..40cac3e8858254d34e34d8427b75b97682870f2a 100644 --- a/beemgraphenebase/dictionary.py +++ b/beemgraphenebase/dictionary.py @@ -1,2 +1,2 @@ # This Python file uses the following encoding: utf-8 -words = "a,aa,aal,aalii,aam,aba,abac,abaca,abacate,abacay,abacist,aback,abactor,abacus,abaff,abaft,abaiser,abalone,abandon,abas,abase,abased,abaser,abash,abashed,abasia,abasic,abask,abate,abater,abatis,abaton,abator,abature,abave,abaxial,abaxile,abaze,abb,abbacy,abbas,abbasi,abbassi,abbess,abbey,abbot,abbotcy,abdal,abdat,abdest,abdomen,abduce,abduct,abeam,abear,abed,abeigh,abele,abelite,abet,abettal,abettor,abey,abeyant,abfarad,abhenry,abhor,abidal,abide,abider,abidi,abiding,abietic,abietin,abigail,abigeat,abigeus,abilao,ability,abilla,abilo,abiosis,abiotic,abir,abiston,abiuret,abject,abjoint,abjudge,abjure,abjurer,abkar,abkari,ablach,ablare,ablate,ablator,ablaut,ablaze,able,ableeze,abler,ablest,ablins,abloom,ablow,ablude,abluent,ablush,ably,abmho,abnet,aboard,abode,abody,abohm,aboil,abolish,abolla,aboma,abomine,aboon,aborad,aboral,abord,abort,aborted,abortin,abortus,abound,about,abouts,above,abox,abrade,abrader,abraid,abrasax,abrase,abrash,abraum,abraxas,abreact,abreast,abret,abrico,abridge,abrim,abrin,abroach,abroad,abrook,abrupt,abscess,abscind,abscise,absciss,abscond,absence,absent,absit,absmho,absohm,absolve,absorb,absorpt,abstain,absume,absurd,absvolt,abthain,abu,abucco,abulia,abulic,abuna,abura,aburban,aburst,aburton,abuse,abusee,abuser,abusion,abusive,abut,abuttal,abutter,abuzz,abvolt,abwab,aby,abysm,abysmal,abyss,abyssal,acaciin,acacin,academe,academy,acajou,acaleph,acana,acanth,acantha,acapnia,acapu,acara,acardia,acari,acarian,acarid,acarine,acaroid,acarol,acate,acatery,acaudal,acca,accede,acceder,accend,accent,accept,accerse,access,accidia,accidie,accinge,accite,acclaim,accloy,accoast,accoil,accolle,accompt,accord,accost,account,accoy,accrete,accrual,accrue,accruer,accurse,accusal,accuse,accused,accuser,ace,acedia,acedy,acephal,acerate,acerb,acerbic,acerdol,acerin,acerose,acerous,acerra,aceship,acetal,acetate,acetic,acetify,acetin,acetize,acetoin,acetol,acetone,acetose,acetous,acetum,acetyl,ach,achage,achar,achate,ache,achene,acher,achete,achieve,achigan,achill,achime,aching,achira,acholia,acholic,achor,achree,achroma,achtel,achy,achylia,achymia,acicula,acid,acider,acidic,acidify,acidite,acidity,acidize,acidly,acidoid,acidyl,acier,aciform,acinar,acinary,acinic,acinose,acinous,acinus,aciurgy,acker,ackey,ackman,acknow,acle,aclinal,aclinic,acloud,aclys,acmatic,acme,acmic,acmite,acne,acnemia,acnodal,acnode,acock,acocotl,acoin,acoine,acold,acology,acolous,acolyte,acoma,acomia,acomous,acone,aconic,aconin,aconine,aconite,acopic,acopon,acor,acorea,acoria,acorn,acorned,acosmic,acouasm,acouchi,acouchy,acoupa,acquest,acquire,acquist,acquit,acracy,acraein,acrasia,acratia,acrawl,acraze,acre,acreage,acreak,acream,acred,acreman,acrid,acridan,acridic,acridly,acridyl,acrinyl,acrisia,acritan,acrite,acritol,acroama,acrobat,acrogen,acron,acronyc,acronym,acronyx,acrook,acrose,across,acrotic,acryl,acrylic,acrylyl,act,acta,actable,actify,actin,actinal,actine,acting,actinic,actinon,action,active,activin,actless,acton,actor,actress,actu,actual,actuary,acture,acuate,acuity,aculea,aculeus,acumen,acushla,acutate,acute,acutely,acutish,acyclic,acyesis,acyetic,acyl,acylate,acyloin,acyloxy,acystia,ad,adactyl,adad,adage,adagial,adagio,adamant,adamas,adamine,adamite,adance,adangle,adapid,adapt,adapter,adaptor,adarme,adat,adati,adatom,adaunt,adaw,adawe,adawlut,adawn,adaxial,aday,adays,adazzle,adcraft,add,adda,addable,addax,added,addedly,addend,addenda,adder,addible,addict,addle,addlins,address,addrest,adduce,adducer,adduct,ade,adead,adeem,adeep,adeling,adelite,adenase,adenia,adenine,adenoid,adenoma,adenose,adenyl,adept,adermia,adermin,adet,adevism,adfix,adhaka,adharma,adhere,adherer,adhibit,adiate,adicity,adieu,adieux,adinole,adion,adipate,adipic,adipoid,adipoma,adipose,adipous,adipsia,adipsic,adipsy,adipyl,adit,adital,aditus,adjag,adject,adjiger,adjoin,adjoint,adjourn,adjudge,adjunct,adjure,adjurer,adjust,adlay,adless,adlet,adman,admi,admiral,admire,admired,admirer,admit,admix,adnate,adnex,adnexal,adnexed,adnoun,ado,adobe,adonin,adonite,adonize,adopt,adopted,adoptee,adopter,adoral,adorant,adore,adorer,adorn,adorner,adossed,adoulie,adown,adoxy,adoze,adpao,adpress,adread,adream,adreamt,adrenal,adrenin,adrift,adrip,adroit,adroop,adrop,adrowse,adrue,adry,adsbud,adsmith,adsorb,adtevac,adular,adulate,adult,adulter,adunc,adusk,adust,advance,advene,adverb,adverse,advert,advice,advisal,advise,advised,advisee,adviser,advisor,advowee,ady,adynamy,adyta,adyton,adytum,adz,adze,adzer,adzooks,ae,aecial,aecium,aedile,aedilic,aefald,aefaldy,aefauld,aegis,aenach,aenean,aeneous,aeolid,aeolina,aeoline,aeon,aeonial,aeonian,aeonist,aer,aerage,aerate,aerator,aerial,aeric,aerical,aerie,aeried,aerify,aero,aerobe,aerobic,aerobus,aerogel,aerogen,aerogun,aeronat,aeronef,aerose,aerosol,aerugo,aery,aes,aevia,aface,afaint,afar,afara,afear,afeard,afeared,afernan,afetal,affa,affable,affably,affair,affaite,affect,affeer,affeir,affiant,affinal,affine,affined,affirm,affix,affixal,affixer,afflict,afflux,afforce,afford,affray,affront,affuse,affy,afghani,afield,afire,aflame,aflare,aflat,aflaunt,aflight,afloat,aflow,aflower,aflush,afoam,afoot,afore,afoul,afraid,afreet,afresh,afret,afront,afrown,aft,aftaba,after,aftergo,aftmost,aftosa,aftward,aga,again,against,agal,agalaxy,agalite,agallop,agalma,agama,agamete,agami,agamian,agamic,agamid,agamoid,agamont,agamous,agamy,agape,agapeti,agar,agaric,agarita,agarwal,agasp,agate,agathin,agatine,agatize,agatoid,agaty,agavose,agaze,agazed,age,aged,agedly,agee,ageless,agelong,agen,agency,agenda,agendum,agent,agentry,ager,ageusia,ageusic,agger,aggrade,aggrate,aggress,aggroup,aggry,aggur,agha,aghanee,aghast,agile,agilely,agility,aging,agio,agist,agistor,agitant,agitate,agla,aglance,aglare,agleaf,agleam,aglet,agley,aglint,aglow,aglucon,agnail,agname,agnamed,agnate,agnatic,agnel,agnize,agnomen,agnosia,agnosis,agnosy,agnus,ago,agog,agoge,agogic,agogics,agoho,agoing,agon,agonal,agone,agonic,agonied,agonist,agonium,agonize,agony,agora,agouara,agouta,agouti,agpaite,agrah,agral,agre,agree,agreed,agreer,agrege,agria,agrin,agrise,agrito,agroan,agrom,agroof,agrope,aground,agrufe,agruif,agsam,agua,ague,aguey,aguish,agunah,agush,agust,agy,agynary,agynous,agyrate,agyria,ah,aha,ahaaina,ahaunch,ahead,aheap,ahem,ahey,ahimsa,ahind,ahint,ahmadi,aho,ahong,ahorse,ahoy,ahsan,ahu,ahuatle,ahull,ahum,ahungry,ahunt,ahura,ahush,ahwal,ahypnia,ai,aid,aidable,aidance,aidant,aide,aider,aidful,aidless,aiel,aiglet,ail,ailanto,aile,aileron,ailette,ailing,aillt,ailment,ailsyte,ailuro,ailweed,aim,aimara,aimer,aimful,aiming,aimless,ainaleh,ainhum,ainoi,ainsell,aint,aion,aionial,air,airable,airampo,airan,aircrew,airdock,airdrop,aire,airer,airfoil,airhead,airily,airing,airish,airless,airlift,airlike,airmail,airman,airmark,airpark,airport,airship,airsick,airt,airward,airway,airy,aisle,aisled,aisling,ait,aitch,aitesis,aition,aiwan,aizle,ajaja,ajangle,ajar,ajari,ajava,ajhar,ajivika,ajog,ajoint,ajowan,ak,aka,akala,akaroa,akasa,akazga,akcheh,ake,akeake,akebi,akee,akeki,akeley,akepiro,akerite,akey,akhoond,akhrot,akhyana,akia,akimbo,akin,akindle,akinete,akmudar,aknee,ako,akoasm,akoasma,akonge,akov,akpek,akra,aku,akule,akund,al,ala,alacha,alack,alada,alaihi,alaite,alala,alalite,alalus,alameda,alamo,alamoth,alan,aland,alangin,alani,alanine,alannah,alantic,alantin,alantol,alanyl,alar,alares,alarm,alarmed,alarum,alary,alas,alate,alated,alatern,alation,alb,alba,alban,albarco,albata,albe,albedo,albee,albeit,albetad,albify,albinal,albinic,albino,albite,albitic,albugo,album,albumen,albumin,alburn,albus,alcaide,alcalde,alcanna,alcazar,alchemy,alchera,alchimy,alchymy,alcine,alclad,alco,alcoate,alcogel,alcohol,alcosol,alcove,alcyon,aldane,aldazin,aldehol,alder,aldern,aldim,aldime,aldine,aldol,aldose,ale,aleak,alec,alecize,alecost,alecup,alee,alef,aleft,alegar,alehoof,alem,alemana,alembic,alemite,alemmal,alen,aleph,alephs,alepole,alepot,alerce,alerse,alert,alertly,alesan,aletap,alette,alevin,alewife,alexia,alexic,alexin,aleyard,alf,alfa,alfaje,alfalfa,alfaqui,alfet,alfiona,alfonso,alforja,alga,algae,algal,algalia,algate,algebra,algedo,algesia,algesic,algesis,algetic,algic,algid,algific,algin,algine,alginic,algist,algoid,algor,algosis,algous,algum,alhenna,alias,alibi,alible,alichel,alidade,alien,aliency,alienee,aliener,alienor,alif,aliform,alight,align,aligner,aliipoe,alike,alima,aliment,alimony,alin,aliofar,alipata,aliped,aliptes,aliptic,aliquot,alish,alisier,alismad,alismal,aliso,alison,alisp,alist,alit,alite,aliunde,alive,aliyah,alizari,aljoba,alk,alkali,alkalic,alkamin,alkane,alkanet,alkene,alkenna,alkenyl,alkide,alkine,alkool,alkoxy,alkoxyl,alky,alkyd,alkyl,alkylic,alkyne,all,allan,allay,allayer,allbone,allege,alleger,allegro,allele,allelic,allene,aller,allergy,alley,alleyed,allgood,allheal,allice,allied,allies,allness,allonym,alloquy,allose,allot,allotee,allover,allow,allower,alloxan,alloy,allseed,alltud,allude,allure,allurer,alluvia,allwork,ally,allyl,allylic,alma,almadia,almadie,almagra,almanac,alme,almemar,almique,almirah,almoign,almon,almond,almondy,almoner,almonry,almost,almous,alms,almsful,almsman,almuce,almud,almude,almug,almuten,aln,alnage,alnager,alnein,alnico,alnoite,alnuin,alo,alochia,alod,alodial,alodian,alodium,alody,aloe,aloed,aloesol,aloetic,aloft,alogia,alogism,alogy,aloid,aloin,aloma,alone,along,alongst,aloof,aloofly,aloose,alop,alopeke,alose,aloud,alow,alowe,alp,alpaca,alpeen,alpha,alphol,alphorn,alphos,alphyl,alpieu,alpine,alpist,alquier,alraun,already,alright,alroot,alruna,also,alsoon,alt,altaite,altar,altared,alter,alterer,altern,alterne,althea,althein,altho,althorn,altilik,altin,alto,altoun,altrose,altun,aludel,alula,alular,alulet,alum,alumic,alumina,alumine,alumish,alumite,alumium,alumna,alumnae,alumnal,alumni,alumnus,alunite,alupag,alure,aluta,alvar,alveary,alveloz,alveola,alveole,alveoli,alveus,alvine,alvite,alvus,alway,always,aly,alypin,alysson,am,ama,amaas,amadou,amaga,amah,amain,amakebe,amala,amalaka,amalgam,amaltas,amamau,amandin,amang,amani,amania,amanori,amanous,amapa,amar,amarin,amarine,amarity,amaroid,amass,amasser,amastia,amasty,amateur,amative,amatol,amatory,amaze,amazed,amazia,amazing,amba,ambage,ambalam,amban,ambar,ambaree,ambary,ambash,ambassy,ambatch,ambay,ambeer,amber,ambery,ambiens,ambient,ambier,ambit,ambital,ambitty,ambitus,amble,ambler,ambling,ambo,ambon,ambos,ambrain,ambrein,ambrite,ambroid,ambrose,ambry,ambsace,ambury,ambush,amchoor,ame,ameed,ameen,amelia,amellus,amelu,amelus,amen,amend,amende,amender,amends,amene,amenia,amenity,ament,amental,amentia,amentum,amerce,amercer,amerism,amesite,ametria,amgarn,amhar,amhran,ami,amiable,amiably,amianth,amic,amical,amice,amiced,amicron,amid,amidase,amidate,amide,amidic,amidid,amidide,amidin,amidine,amido,amidol,amidon,amidoxy,amidst,amil,amimia,amimide,amin,aminate,amine,amini,aminic,aminity,aminize,amino,aminoid,amir,amiray,amiss,amity,amixia,amla,amli,amlikar,amlong,amma,amman,ammelin,ammer,ammeter,ammine,ammo,ammonal,ammonia,ammonic,ammono,ammu,amnesia,amnesic,amnesty,amnia,amniac,amnic,amnion,amniote,amober,amobyr,amoeba,amoebae,amoeban,amoebic,amoebid,amok,amoke,amole,amomal,amomum,among,amongst,amor,amorado,amoraic,amoraim,amoral,amoret,amorism,amorist,amoroso,amorous,amorphy,amort,amotion,amotus,amount,amour,amove,ampalea,amper,ampere,ampery,amphid,amphide,amphora,amphore,ample,amplify,amply,ampoule,ampul,ampulla,amputee,ampyx,amra,amreeta,amrita,amsath,amsel,amt,amtman,amuck,amuguis,amula,amulet,amulla,amunam,amurca,amuse,amused,amusee,amuser,amusia,amusing,amusive,amutter,amuyon,amuyong,amuze,amvis,amy,amyelia,amyelic,amygdal,amyl,amylan,amylase,amylate,amylene,amylic,amylin,amylo,amyloid,amylom,amylon,amylose,amylum,amyous,amyrin,amyrol,amyroot,an,ana,anabata,anabo,anabong,anacara,anacard,anacid,anadem,anadrom,anaemia,anaemic,anagap,anagep,anagoge,anagogy,anagram,anagua,anahau,anal,analav,analgen,analgia,analgic,anally,analogy,analyse,analyst,analyze,anam,anama,anamite,anan,anana,ananas,ananda,ananym,anaphia,anapnea,anapsid,anaqua,anarch,anarchy,anareta,anarya,anatase,anatifa,anatine,anatomy,anatox,anatron,anaudia,anaxial,anaxon,anaxone,anay,anba,anbury,anchor,anchovy,ancient,ancile,ancilla,ancon,anconad,anconal,ancone,ancony,ancora,ancoral,and,anda,andante,andirin,andiron,andric,android,androl,andron,anear,aneath,anele,anemia,anemic,anemone,anemony,anend,anenst,anent,anepia,anergia,anergic,anergy,anerly,aneroid,anes,anesis,aneuria,aneuric,aneurin,anew,angaria,angary,angekok,angel,angelet,angelic,angelin,angelot,anger,angerly,angeyok,angico,angild,angili,angina,anginal,angioid,angioma,angle,angled,angler,angling,angloid,ango,angolar,angor,angrily,angrite,angry,angst,angster,anguid,anguine,anguis,anguish,angula,angular,anguria,anhang,anhima,anhinga,ani,anicut,anidian,aniente,anigh,anight,anights,anil,anilao,anilau,anile,anilic,anilid,anilide,aniline,anility,anilla,anima,animal,animate,anime,animi,animism,animist,animize,animous,animus,anion,anionic,anis,anisal,anisate,anise,aniseed,anisic,anisil,anisoin,anisole,anisoyl,anisum,anisyl,anither,anjan,ankee,anker,ankh,ankle,anklet,anklong,ankus,ankusha,anlace,anlaut,ann,anna,annal,annale,annals,annat,annates,annatto,anneal,annelid,annet,annex,annexa,annexal,annexer,annite,annona,annoy,annoyer,annual,annuary,annuent,annuity,annul,annular,annulet,annulus,anoa,anodal,anode,anodic,anodize,anodos,anodyne,anoesia,anoesis,anoetic,anoil,anoine,anoint,anole,anoli,anolian,anolyte,anomaly,anomite,anomy,anon,anonang,anonol,anonym,anonyma,anopia,anopsia,anorak,anorexy,anormal,anorth,anosmia,anosmic,another,anotia,anotta,anotto,anotus,anounou,anoxia,anoxic,ansa,ansar,ansate,ansu,answer,ant,anta,antacid,antal,antapex,antdom,ante,anteact,anteal,antefix,antenna,antes,antewar,anthela,anthem,anthema,anthemy,anther,anthill,anthine,anthoid,anthood,anthrax,anthrol,anthryl,anti,antiae,antiar,antic,antical,anticly,anticor,anticum,antifat,antigen,antigod,antihum,antiqua,antique,antired,antirun,antisun,antitax,antiwar,antiwit,antler,antlia,antling,antoeci,antonym,antra,antral,antre,antrin,antrum,antship,antu,antwise,anubing,anuloma,anuran,anuria,anuric,anurous,anury,anus,anusim,anvil,anxiety,anxious,any,anybody,anyhow,anyone,anyway,anyways,anywhen,anywhy,anywise,aogiri,aonach,aorist,aorta,aortal,aortic,aortism,aosmic,aoudad,apa,apace,apache,apadana,apagoge,apaid,apalit,apandry,apar,aparejo,apart,apasote,apatan,apathic,apathy,apatite,ape,apeak,apedom,apehood,apeiron,apelet,apelike,apeling,apepsia,apepsy,apeptic,aper,aperch,aperea,apert,apertly,apery,apetaly,apex,apexed,aphagia,aphakia,aphakic,aphasia,aphasic,aphemia,aphemic,aphesis,apheta,aphetic,aphid,aphides,aphidid,aphodal,aphodus,aphonia,aphonic,aphony,aphoria,aphotic,aphrite,aphtha,aphthic,aphylly,aphyric,apian,apiary,apiator,apicad,apical,apices,apicula,apiece,apieces,apii,apiin,apilary,apinch,aping,apinoid,apio,apioid,apiole,apiolin,apionol,apiose,apish,apishly,apism,apitong,apitpat,aplanat,aplasia,aplenty,aplite,aplitic,aplomb,aplome,apnea,apneal,apneic,apocarp,apocha,apocope,apod,apodal,apodan,apodema,apodeme,apodia,apodous,apogamy,apogeal,apogean,apogee,apogeic,apogeny,apohyal,apoise,apojove,apokrea,apolar,apology,aponia,aponic,apoop,apoplex,apopyle,aporia,aporose,aport,aposia,aposoro,apostil,apostle,apothem,apotome,apotype,apout,apozem,apozema,appall,apparel,appay,appeal,appear,appease,append,appet,appete,applaud,apple,applied,applier,applot,apply,appoint,apport,appose,apposer,apprend,apprise,apprize,approof,approve,appulse,apraxia,apraxic,apricot,apriori,apron,apropos,apse,apsidal,apsides,apsis,apt,apteral,apteran,aptly,aptness,aptote,aptotic,apulse,apyonin,apyrene,apyrexy,apyrous,aqua,aquabib,aquage,aquaria,aquatic,aquavit,aqueous,aquifer,aquiver,aquo,aquose,ar,ara,araba,araban,arabana,arabin,arabit,arable,araca,aracari,arachic,arachin,arad,arado,arain,arake,araliad,aralie,aralkyl,aramina,araneid,aranein,aranga,arango,arar,arara,ararao,arariba,araroba,arati,aration,aratory,arba,arbacin,arbalo,arbiter,arbor,arboral,arbored,arboret,arbute,arbutin,arbutus,arc,arca,arcade,arcana,arcanal,arcane,arcanum,arcate,arch,archae,archaic,arche,archeal,arched,archer,archery,arches,archeus,archfoe,archgod,archil,arching,archive,archly,archon,archont,archsee,archsin,archspy,archwag,archway,archy,arcing,arcked,arcking,arctian,arctic,arctiid,arctoid,arcual,arcuale,arcuate,arcula,ardeb,ardella,ardency,ardent,ardish,ardoise,ardor,ardri,ardu,arduous,are,area,areach,aread,areal,arear,areaway,arecain,ared,areek,areel,arefact,areito,arena,arenae,arend,areng,arenoid,arenose,arent,areola,areolar,areole,areolet,arete,argal,argala,argali,argans,argasid,argeers,argel,argenol,argent,arghan,arghel,arghool,argil,argo,argol,argolet,argon,argosy,argot,argotic,argue,arguer,argufy,argute,argyria,argyric,arhar,arhat,aria,aribine,aricine,arid,aridge,aridian,aridity,aridly,ariel,arienzo,arietta,aright,arigue,aril,ariled,arillus,ariose,arioso,ariot,aripple,arisard,arise,arisen,arist,arista,arite,arjun,ark,arkite,arkose,arkosic,arles,arm,armada,armbone,armed,armer,armet,armful,armhole,armhoop,armied,armiger,armil,armilla,arming,armless,armlet,armload,armoire,armor,armored,armorer,armory,armpit,armrack,armrest,arms,armscye,armure,army,arn,arna,arnee,arni,arnica,arnotta,arnotto,arnut,aroar,aroast,arock,aroeira,aroid,aroint,arolium,arolla,aroma,aroon,arose,around,arousal,arouse,arouser,arow,aroxyl,arpen,arpent,arrack,arrah,arraign,arrame,arrange,arrant,arras,arrased,arratel,arrau,array,arrayal,arrayer,arrear,arrect,arrent,arrest,arriage,arriba,arride,arridge,arrie,arriere,arrimby,arris,arrish,arrival,arrive,arriver,arroba,arrope,arrow,arrowed,arrowy,arroyo,arse,arsenal,arsenic,arseno,arsenyl,arses,arsheen,arshin,arshine,arsine,arsinic,arsino,arsis,arsle,arsoite,arson,arsonic,arsono,arsyl,art,artaba,artabe,artal,artar,artel,arterin,artery,artful,artha,arthel,arthral,artiad,article,artisan,artist,artiste,artless,artlet,artlike,artware,arty,aru,arui,aruke,arumin,arupa,arusa,arusha,arustle,arval,arvel,arx,ary,aryl,arylate,arzan,arzun,as,asaddle,asak,asale,asana,asaphia,asaphid,asaprol,asarite,asaron,asarone,asbest,asbolin,ascan,ascare,ascarid,ascaron,ascend,ascent,ascetic,ascham,asci,ascian,ascii,ascites,ascitic,asclent,ascoma,ascon,ascot,ascribe,ascript,ascry,ascula,ascus,asdic,ase,asearch,aseethe,aseity,asem,asemia,asepsis,aseptic,aseptol,asexual,ash,ashake,ashame,ashamed,ashamnu,ashcake,ashen,asherah,ashery,ashes,ashet,ashily,ashine,ashiver,ashkoko,ashlar,ashless,ashling,ashman,ashore,ashpan,ashpit,ashraf,ashrafi,ashur,ashweed,ashwort,ashy,asialia,aside,asideu,asiento,asilid,asimen,asimmer,asinego,asinine,asitia,ask,askable,askance,askant,askar,askari,asker,askew,askip,asklent,askos,aslant,aslaver,asleep,aslop,aslope,asmack,asmalte,asmear,asmile,asmoke,asnort,asoak,asocial,asok,asoka,asonant,asonia,asop,asor,asouth,asp,aspace,aspect,aspen,asper,asperge,asperse,asphalt,asphyxy,aspic,aspire,aspirer,aspirin,aspish,asport,aspout,asprawl,aspread,aspring,asprout,asquare,asquat,asqueal,asquint,asquirm,ass,assacu,assagai,assai,assail,assapan,assart,assary,assate,assault,assaut,assay,assayer,assbaa,asse,assegai,asself,assent,assert,assess,asset,assets,assever,asshead,assi,assify,assign,assilag,assis,assise,assish,assist,assize,assizer,assizes,asslike,assman,assoil,assort,assuade,assuage,assume,assumed,assumer,assure,assured,assurer,assurge,ast,asta,astalk,astare,astart,astasia,astatic,astay,asteam,asteep,asteer,asteism,astelic,astely,aster,asteria,asterin,astern,astheny,asthma,asthore,astilbe,astint,astir,astite,astomia,astony,astoop,astor,astound,astrain,astral,astrand,astray,astream,astrer,astrict,astride,astrier,astrild,astroid,astrut,astute,astylar,asudden,asunder,aswail,aswarm,asway,asweat,aswell,aswim,aswing,aswirl,aswoon,asyla,asylum,at,atabal,atabeg,atabek,atactic,atafter,ataman,atangle,atap,ataraxy,ataunt,atavi,atavic,atavism,atavist,atavus,ataxia,ataxic,ataxite,ataxy,atazir,atbash,ate,atebrin,atechny,ateeter,atef,atelets,atelier,atelo,ates,ateuchi,athanor,athar,atheism,atheist,atheize,athelia,athenee,athenor,atheous,athing,athirst,athlete,athodyd,athort,athrill,athrive,athrob,athrong,athwart,athymia,athymic,athymy,athyria,athyrid,atilt,atimon,atinga,atingle,atinkle,atip,atis,atlas,atlatl,atle,atlee,atloid,atma,atman,atmid,atmo,atmos,atocha,atocia,atokal,atoke,atokous,atoll,atom,atomerg,atomic,atomics,atomism,atomist,atomity,atomize,atomy,atonal,atone,atoner,atonia,atonic,atony,atop,atophan,atopic,atopite,atopy,atour,atoxic,atoxyl,atrail,atrepsy,atresia,atresic,atresy,atretic,atria,atrial,atrip,atrium,atrocha,atropal,atrophy,atropia,atropic,atrous,atry,atta,attacco,attach,attache,attack,attacus,attagen,attain,attaint,attaleh,attar,attask,attempt,attend,attent,atter,attern,attery,attest,attic,attid,attinge,attire,attired,attirer,attorn,attract,attrap,attrist,attrite,attune,atule,atumble,atune,atwain,atweel,atween,atwin,atwirl,atwist,atwitch,atwixt,atwo,atypic,atypy,auantic,aube,aubrite,auburn,auca,auchlet,auction,aucuba,audible,audibly,audient,audile,audio,audion,audit,auditor,auge,augen,augend,auger,augerer,augh,aught,augite,augitic,augment,augur,augural,augury,august,auh,auhuhu,auk,auklet,aula,aulae,auld,auletai,aulete,auletes,auletic,aulic,auloi,aulos,aulu,aum,aumaga,aumail,aumbry,aumery,aumil,aumous,aumrie,auncel,aune,aunt,auntie,auntish,auntly,aupaka,aura,aurae,aural,aurally,aurar,aurate,aurated,aureate,aureity,aurelia,aureola,aureole,aureous,auresca,aureus,auric,auricle,auride,aurific,aurify,aurigal,aurin,aurir,aurist,aurite,aurochs,auronal,aurora,aurorae,auroral,aurore,aurous,aurum,aurure,auryl,auscult,auslaut,auspex,auspice,auspicy,austere,austral,ausu,ausubo,autarch,autarky,aute,autecy,autem,author,autism,autist,auto,autobus,autocab,autocar,autoecy,autoist,automa,automat,autonym,autopsy,autumn,auxesis,auxetic,auxin,auxinic,auxotox,ava,avadana,avahi,avail,aval,avalent,avania,avarice,avast,avaunt,ave,avellan,aveloz,avenage,avener,avenge,avenger,avenin,avenous,avens,avenue,aver,avera,average,averah,averil,averin,averral,averse,avert,averted,averter,avian,aviary,aviate,aviatic,aviator,avichi,avicide,avick,avid,avidity,avidly,avidous,avidya,avigate,avijja,avine,aviso,avital,avitic,avives,avo,avocado,avocate,avocet,avodire,avoid,avoider,avolate,avouch,avow,avowal,avowant,avowed,avower,avowry,avoyer,avulse,aw,awa,awabi,awaft,awag,await,awaiter,awake,awaken,awald,awalim,awalt,awane,awapuhi,award,awarder,aware,awash,awaste,awat,awatch,awater,awave,away,awber,awd,awe,aweary,aweband,awee,aweek,aweel,aweigh,awesome,awest,aweto,awfu,awful,awfully,awheel,awheft,awhet,awhile,awhir,awhirl,awide,awiggle,awin,awing,awink,awiwi,awkward,awl,awless,awlwort,awmous,awn,awned,awner,awning,awnless,awnlike,awny,awoke,awork,awreck,awrist,awrong,awry,ax,axal,axe,axed,axenic,axes,axfetch,axhead,axial,axially,axiate,axiform,axil,axile,axilla,axillae,axillar,axine,axinite,axiom,axion,axis,axised,axite,axle,axled,axmaker,axman,axogamy,axoid,axolotl,axon,axonal,axonost,axseed,axstone,axtree,axunge,axweed,axwise,axwort,ay,ayah,aye,ayelp,ayin,ayless,aylet,ayllu,ayond,ayont,ayous,ayu,azafrin,azalea,azarole,azelaic,azelate,azide,azilut,azimene,azimide,azimine,azimino,azimuth,azine,aziola,azo,azoch,azofier,azofy,azoic,azole,azon,azonal,azonic,azonium,azophen,azorite,azotate,azote,azoted,azoth,azotic,azotine,azotite,azotize,azotous,azox,azoxime,azoxine,azoxy,azteca,azulene,azulite,azulmic,azumbre,azure,azurean,azured,azurine,azurite,azurous,azury,azygos,azygous,azyme,azymite,azymous,b,ba,baa,baal,baar,baba,babai,babasco,babassu,babbitt,babble,babbler,babbly,babby,babe,babelet,babery,babiche,babied,babish,bablah,babloh,baboen,baboo,baboon,baboot,babroot,babu,babudom,babuina,babuism,babul,baby,babydom,babyish,babyism,bac,bacaba,bacach,bacalao,bacao,bacca,baccae,baccara,baccate,bacchar,bacchic,bacchii,bach,bache,bachel,bacilli,back,backage,backcap,backed,backen,backer,backet,backie,backing,backjaw,backlet,backlog,backrun,backsaw,backset,backup,backway,baclin,bacon,baconer,bacony,bacula,bacule,baculi,baculum,baculus,bacury,bad,badan,baddish,baddock,bade,badge,badger,badiaga,badian,badious,badland,badly,badness,bae,baetuli,baetyl,bafaro,baff,baffeta,baffle,baffler,baffy,baft,bafta,bag,baga,bagani,bagasse,bagel,bagful,baggage,baggala,bagged,bagger,baggie,baggily,bagging,baggit,baggy,baglike,bagman,bagnio,bagnut,bago,bagonet,bagpipe,bagre,bagreef,bagroom,bagwig,bagworm,bagwyn,bah,bahan,bahar,bahay,bahera,bahisti,bahnung,baho,bahoe,bahoo,baht,bahur,bahut,baignet,baikie,bail,bailage,bailee,bailer,bailey,bailie,bailiff,bailor,bain,bainie,baioc,baiocco,bairagi,bairn,bairnie,bairnly,baister,bait,baiter,baith,baittle,baize,bajada,bajan,bajra,bajree,bajri,bajury,baka,bakal,bake,baked,baken,bakepan,baker,bakerly,bakery,bakie,baking,bakli,baktun,baku,bakula,bal,balafo,balagan,balai,balance,balanic,balanid,balao,balas,balata,balboa,balcony,bald,balden,balder,baldish,baldly,baldrib,baldric,baldy,bale,baleen,baleful,balei,baleise,baler,balete,bali,baline,balita,balk,balker,balky,ball,ballad,ballade,ballam,ballan,ballant,ballast,ballata,ballate,balldom,balled,baller,ballet,balli,ballist,ballium,balloon,ballot,ballow,ballup,bally,balm,balmily,balmony,balmy,balneal,balonea,baloney,baloo,balow,balsa,balsam,balsamo,balsamy,baltei,balter,balteus,balu,balut,balza,bam,bamban,bambini,bambino,bamboo,bamoth,ban,banaba,banago,banak,banal,banally,banana,banat,banc,banca,bancal,banchi,banco,bancus,band,banda,bandage,bandaka,bandala,bandar,bandbox,bande,bandeau,banded,bander,bandhu,bandi,bandie,banding,bandit,bandle,bandlet,bandman,bando,bandog,bandore,bandrol,bandy,bane,baneful,bang,banga,bange,banger,banghy,banging,bangkok,bangle,bangled,bani,banian,banig,banilad,banish,baniwa,baniya,banjo,banjore,banjuke,bank,banked,banker,bankera,banket,banking,bankman,banky,banner,bannet,banning,bannock,banns,bannut,banquet,banshee,bant,bantam,bantay,banteng,banter,bantery,banty,banuyo,banya,banyan,banzai,baobab,bap,baptism,baptize,bar,bara,barad,barauna,barb,barbal,barbary,barbas,barbate,barbe,barbed,barbel,barber,barbet,barbion,barblet,barbone,barbudo,barbule,bard,bardane,bardash,bardel,bardess,bardic,bardie,bardily,barding,bardish,bardism,bardlet,bardo,bardy,bare,bareca,barefit,barely,barer,baresma,baretta,barff,barfish,barfly,barful,bargain,barge,bargee,bargeer,barger,bargh,bargham,bari,baria,baric,barid,barie,barile,barilla,baring,baris,barish,barit,barite,barium,bark,barken,barker,barkery,barkey,barkhan,barking,barkle,barky,barless,barley,barling,barlock,barlow,barm,barmaid,barman,barmkin,barmote,barmy,barn,barnard,barney,barnful,barnman,barny,baroi,barolo,baron,baronet,barong,baronry,barony,baroque,baroto,barpost,barra,barrack,barrad,barrage,barras,barred,barrel,barren,barrer,barret,barrico,barrier,barring,barrio,barroom,barrow,barruly,barry,barse,barsom,barter,barth,barton,baru,baruria,barvel,barwal,barway,barways,barwise,barwood,barye,baryta,barytes,barytic,baryton,bas,basal,basale,basalia,basally,basalt,basaree,bascule,base,based,basely,baseman,basenji,bases,bash,bashaw,bashful,bashlyk,basial,basiate,basic,basidia,basify,basil,basilar,basilic,basin,basined,basinet,basion,basis,bask,basker,basket,basoid,bason,basos,basote,basque,basqued,bass,bassan,bassara,basset,bassie,bassine,bassist,basso,bassoon,bassus,bast,basta,bastard,baste,basten,baster,bastide,basting,bastion,bastite,basto,baston,bat,bataan,batad,batakan,batara,batata,batch,batcher,bate,batea,bateau,bateaux,bated,batel,bateman,bater,batfish,batfowl,bath,bathe,bather,bathic,bathing,bathman,bathmic,bathos,bathtub,bathyal,batik,batiker,bating,batino,batiste,batlan,batlike,batling,batlon,batman,batoid,baton,batonne,bats,batsman,batster,batt,batta,battel,batten,batter,battery,battik,batting,battish,battle,battled,battler,battue,batty,batule,batwing,batz,batzen,bauble,bauch,bauchle,bauckie,baud,baul,bauleah,baun,bauno,bauson,bausond,bauta,bauxite,bavaroy,bavary,bavian,baviere,bavin,bavoso,baw,bawbee,bawcock,bawd,bawdily,bawdry,bawl,bawler,bawley,bawn,bawtie,baxter,baxtone,bay,baya,bayal,bayamo,bayard,baybolt,baybush,baycuru,bayed,bayeta,baygall,bayhead,bayish,baylet,baylike,bayman,bayness,bayok,bayonet,bayou,baywood,bazaar,baze,bazoo,bazooka,bazzite,bdellid,be,beach,beached,beachy,beacon,bead,beaded,beader,beadily,beading,beadle,beadlet,beadman,beadrow,beady,beagle,beak,beaked,beaker,beakful,beaky,beal,beala,bealing,beam,beamage,beamed,beamer,beamful,beamily,beaming,beamish,beamlet,beamman,beamy,bean,beanbag,beancod,beanery,beanie,beano,beant,beany,bear,beard,bearded,bearder,beardie,beardom,beardy,bearer,bearess,bearing,bearish,bearlet,bearm,beast,beastie,beastly,beat,beata,beatae,beatee,beaten,beater,beath,beatify,beating,beatus,beau,beaufin,beauish,beauism,beauti,beauty,beaux,beaver,beavery,beback,bebait,bebang,bebar,bebaron,bebaste,bebat,bebathe,bebay,bebeast,bebed,bebeeru,bebilya,bebite,beblain,beblear,bebled,bebless,beblood,bebloom,bebog,bebop,beboss,bebotch,bebrave,bebrine,bebrush,bebump,bebusy,becall,becalm,becap,becard,becarve,becater,because,becense,bechalk,becharm,bechase,becheck,becher,bechern,bechirp,becivet,beck,becker,becket,beckon,beclad,beclang,beclart,beclasp,beclaw,becloak,beclog,becloud,beclout,beclown,becolme,becolor,become,becomes,becomma,becoom,becost,becovet,becram,becramp,becrawl,becreep,becrime,becroak,becross,becrowd,becrown,becrush,becrust,becry,becuiba,becuna,becurl,becurry,becurse,becut,bed,bedad,bedamn,bedamp,bedare,bedark,bedash,bedaub,bedawn,beday,bedaze,bedbug,bedcap,bedcase,bedcord,bedded,bedder,bedding,bedead,bedeaf,bedebt,bedeck,bedel,beden,bedene,bedevil,bedew,bedewer,bedfast,bedfoot,bedgery,bedgoer,bedgown,bedight,bedikah,bedim,bedin,bedip,bedirt,bedirty,bedizen,bedkey,bedlam,bedlar,bedless,bedlids,bedman,bedmate,bedog,bedolt,bedot,bedote,bedouse,bedown,bedoyo,bedpan,bedpost,bedrail,bedral,bedrape,bedress,bedrid,bedrift,bedrip,bedrock,bedroll,bedroom,bedrop,bedrown,bedrug,bedsick,bedside,bedsite,bedsock,bedsore,bedtick,bedtime,bedub,beduck,beduke,bedull,bedumb,bedunce,bedunch,bedung,bedur,bedusk,bedust,bedwarf,bedway,bedways,bedwell,bedye,bee,beearn,beech,beechen,beechy,beedged,beedom,beef,beefer,beefily,beefin,beefish,beefy,beehead,beeherd,beehive,beeish,beek,beekite,beelbow,beelike,beeline,beelol,beeman,been,beennut,beer,beerage,beerily,beerish,beery,bees,beest,beeswax,beet,beeth,beetle,beetled,beetler,beety,beeve,beevish,beeware,beeway,beeweed,beewise,beewort,befall,befame,befan,befancy,befavor,befilch,befile,befilth,befire,befist,befit,beflag,beflap,beflea,befleck,beflour,beflout,beflum,befoam,befog,befool,befop,before,befoul,befret,befrill,befriz,befume,beg,begad,begall,begani,begar,begari,begash,begat,begaud,begaudy,begay,begaze,begeck,begem,beget,beggar,beggary,begging,begift,begild,begin,begird,beglad,beglare,beglic,beglide,begloom,begloze,begluc,beglue,begnaw,bego,begob,begobs,begohm,begone,begonia,begorra,begorry,begoud,begowk,begrace,begrain,begrave,begray,begreen,begrett,begrim,begrime,begroan,begrown,beguard,beguess,beguile,beguine,begulf,begum,begun,begunk,begut,behale,behalf,behap,behave,behead,behear,behears,behedge,beheld,behelp,behen,behenic,behest,behind,behint,behn,behold,behoney,behoof,behoot,behoove,behorn,behowl,behung,behymn,beice,beige,being,beinked,beira,beisa,bejade,bejan,bejant,bejazz,bejel,bejewel,bejig,bekah,bekick,beking,bekiss,bekko,beknave,beknit,beknow,beknown,bel,bela,belabor,belaced,beladle,belady,belage,belah,belam,belanda,belar,belard,belash,belate,belated,belaud,belay,belayer,belch,belcher,beld,beldam,beleaf,beleap,beleave,belee,belfry,belga,belibel,belick,belie,belief,belier,believe,belight,beliked,belion,belite,belive,bell,bellboy,belle,belled,bellhop,bellied,belling,bellite,bellman,bellote,bellow,bellows,belly,bellyer,beloam,beloid,belong,belonid,belord,belout,belove,beloved,below,belsire,belt,belted,belter,beltie,beltine,belting,beltman,belton,beluga,belute,belve,bely,belying,bema,bemad,bemadam,bemail,bemaim,beman,bemar,bemask,bemat,bemata,bemaul,bemazed,bemeal,bemean,bemercy,bemire,bemist,bemix,bemoan,bemoat,bemock,bemoil,bemole,bemolt,bemoon,bemotto,bemoult,bemouth,bemuck,bemud,bemuddy,bemuse,bemused,bemusk,ben,bena,benab,bename,benami,benasty,benben,bench,bencher,benchy,bencite,bend,benda,bended,bender,bending,bendlet,bendy,bene,beneath,benefic,benefit,benempt,benet,beng,beni,benight,benign,benison,benj,benjy,benmost,benn,benne,bennel,bennet,benny,beno,benorth,benote,bensel,bensh,benshea,benshee,benshi,bent,bentang,benthal,benthic,benthon,benthos,benting,benty,benumb,benward,benweed,benzal,benzein,benzene,benzil,benzine,benzo,benzoic,benzoid,benzoin,benzol,benzole,benzoxy,benzoyl,benzyl,beode,bepaid,bepale,bepaper,beparch,beparse,bepart,bepaste,bepat,bepaw,bepearl,bepelt,bepen,bepewed,bepiece,bepile,bepill,bepinch,bepity,beprank,bepray,bepress,bepride,beprose,bepuff,bepun,bequalm,bequest,bequote,ber,berain,berakah,berake,berapt,berat,berate,beray,bere,bereave,bereft,berend,beret,berg,berger,berglet,bergut,bergy,bergylt,berhyme,beride,berinse,berith,berley,berlin,berline,berm,berne,berobed,beroll,beround,berret,berri,berried,berrier,berry,berseem,berserk,berth,berthed,berther,bertram,bertrum,berust,bervie,berycid,beryl,bes,besa,besagne,besaiel,besaint,besan,besauce,bescab,bescarf,bescent,bescorn,bescour,bescurf,beseam,besee,beseech,beseem,beseen,beset,beshade,beshag,beshake,beshame,beshear,beshell,beshine,beshlik,beshod,beshout,beshow,beshrew,beside,besides,besiege,besigh,besin,besing,besiren,besit,beslab,beslap,beslash,beslave,beslime,beslow,beslur,besmear,besmell,besmile,besmoke,besmut,besnare,besneer,besnow,besnuff,besogne,besoil,besom,besomer,besoot,besot,besoul,besour,bespate,bespawl,bespeak,besped,bespeed,bespell,bespend,bespete,bespew,bespice,bespill,bespin,bespit,besplit,bespoke,bespot,bespout,bespray,bespy,besquib,besra,best,bestab,bestain,bestamp,bestar,bestare,bestay,bestead,besteer,bester,bestial,bestick,bestill,bestink,bestir,bestock,bestore,bestorm,bestove,bestow,bestraw,bestrew,bestuck,bestud,besugar,besuit,besully,beswarm,beswim,bet,beta,betag,betail,betaine,betalk,betask,betaxed,betear,beteela,beteem,betel,beth,bethel,bethink,bethumb,bethump,betide,betimes,betinge,betire,betis,betitle,betoil,betoken,betone,betony,betoss,betowel,betrace,betrail,betrap,betray,betread,betrend,betrim,betroth,betrunk,betso,betted,better,betters,betting,bettong,bettor,betty,betulin,betutor,between,betwine,betwit,betwixt,beveil,bevel,beveled,beveler,bevenom,bever,beverse,beveto,bevined,bevomit,bevue,bevy,bewail,bewall,beware,bewash,bewaste,bewater,beweary,beweep,bewept,bewest,bewet,bewhig,bewhite,bewidow,bewig,bewired,bewitch,bewith,bework,beworm,beworn,beworry,bewrap,bewray,bewreck,bewrite,bey,beydom,beylic,beyond,beyship,bezant,bezanty,bezel,bezetta,bezique,bezoar,bezzi,bezzle,bezzo,bhabar,bhakta,bhakti,bhalu,bhandar,bhang,bhangi,bhara,bharal,bhat,bhava,bheesty,bhikku,bhikshu,bhoosa,bhoy,bhungi,bhut,biabo,biacid,biacuru,bialate,biallyl,bianco,biarchy,bias,biaxal,biaxial,bib,bibasic,bibb,bibber,bibble,bibbler,bibbons,bibcock,bibi,bibiri,bibless,biblus,bice,biceps,bicetyl,bichir,bichord,bichy,bick,bicker,bickern,bicolor,bicone,biconic,bicorn,bicorne,bicron,bicycle,bicyclo,bid,bidar,bidarka,bidcock,bidder,bidding,biddy,bide,bident,bider,bidet,biding,bidri,biduous,bield,bieldy,bien,bienly,biennia,bier,bietle,bifara,bifer,biff,biffin,bifid,bifidly,bifilar,biflex,bifocal,bifoil,bifold,bifolia,biform,bifront,big,biga,bigamic,bigamy,bigener,bigeye,bigg,biggah,biggen,bigger,biggest,biggin,biggish,bigha,bighead,bighorn,bight,biglot,bigness,bignou,bigot,bigoted,bigotry,bigotty,bigroot,bigwig,bija,bijasal,bijou,bijoux,bike,bikh,bikini,bilabe,bilalo,bilbie,bilbo,bilby,bilch,bilcock,bildar,bilders,bile,bilge,bilgy,biliary,biliate,bilic,bilify,bilimbi,bilio,bilious,bilith,bilk,bilker,bill,billa,billbug,billed,biller,billet,billety,billian,billing,billion,billman,billon,billot,billow,billowy,billy,billyer,bilo,bilobe,bilobed,bilsh,bilsted,biltong,bimalar,bimanal,bimane,bimasty,bimbil,bimeby,bimodal,bin,binal,binary,binate,bind,binder,bindery,binding,bindle,bindlet,bindweb,bine,bing,binge,bingey,binghi,bingle,bingo,bingy,binh,bink,binman,binna,binning,binnite,bino,binocle,binodal,binode,binotic,binous,bint,binukau,biod,biodyne,biogen,biogeny,bioherm,biolith,biology,biome,bion,bionomy,biopsic,biopsy,bioral,biorgan,bios,biose,biosis,biota,biotaxy,biotic,biotics,biotin,biotite,biotome,biotomy,biotope,biotype,bioxide,bipack,biparty,biped,bipedal,biphase,biplane,bipod,bipolar,biprism,biprong,birch,birchen,bird,birddom,birdeen,birder,birdie,birding,birdlet,birdman,birdy,bireme,biretta,biri,biriba,birk,birken,birkie,birl,birle,birler,birlie,birlinn,birma,birn,birny,birr,birse,birsle,birsy,birth,birthy,bis,bisabol,bisalt,biscuit,bisect,bisexed,bisext,bishop,bismar,bismite,bismuth,bisnaga,bison,bispore,bisque,bissext,bisson,bistate,bister,bisti,bistort,bistro,bit,bitable,bitch,bite,biter,biti,biting,bitless,bito,bitolyl,bitt,bitted,bitten,bitter,bittern,bitters,bittie,bittock,bitty,bitume,bitumed,bitumen,bitwise,bityite,bitypic,biune,biunial,biunity,biurate,biurea,biuret,bivalve,bivinyl,bivious,bivocal,bivouac,biwa,bixin,biz,bizarre,bizet,bizonal,bizone,bizz,blab,blabber,black,blacken,blacker,blackey,blackie,blackit,blackly,blacky,blad,bladder,blade,bladed,blader,blading,bladish,blady,blae,blaff,blaflum,blah,blain,blair,blake,blame,blamed,blamer,blaming,blan,blanc,blanca,blanch,blanco,bland,blanda,blandly,blank,blanked,blanket,blankly,blanky,blanque,blare,blarney,blarnid,blarny,blart,blas,blase,blash,blashy,blast,blasted,blaster,blastid,blastie,blasty,blat,blatant,blate,blately,blather,blatta,blatter,blatti,blattid,blaubok,blaver,blaw,blawort,blay,blaze,blazer,blazing,blazon,blazy,bleach,bleak,bleakly,bleaky,blear,bleared,bleary,bleat,bleater,bleaty,bleb,blebby,bleck,blee,bleed,bleeder,bleery,bleeze,bleezy,blellum,blemish,blench,blend,blende,blended,blender,blendor,blenny,blent,bleo,blesbok,bless,blessed,blesser,blest,blet,blewits,blibe,blick,blickey,blight,blighty,blimp,blimy,blind,blinded,blinder,blindly,blink,blinked,blinker,blinks,blinky,blinter,blintze,blip,bliss,blissom,blister,blite,blithe,blithen,blither,blitter,blitz,blizz,blo,bloat,bloated,bloater,blob,blobbed,blobber,blobby,bloc,block,blocked,blocker,blocky,blodite,bloke,blolly,blonde,blood,blooded,bloody,blooey,bloom,bloomer,bloomy,bloop,blooper,blore,blosmy,blossom,blot,blotch,blotchy,blotter,blotto,blotty,blouse,bloused,blout,blow,blowen,blower,blowfly,blowgun,blowing,blown,blowoff,blowout,blowth,blowup,blowy,blowze,blowzed,blowzy,blub,blubber,blucher,blue,bluecap,bluecup,blueing,blueleg,bluely,bluer,blues,bluet,bluetop,bluey,bluff,bluffer,bluffly,bluffy,bluggy,bluing,bluish,bluism,blunder,blunge,blunger,blunk,blunker,blunks,blunnen,blunt,blunter,bluntie,bluntly,blup,blur,blurb,blurred,blurrer,blurry,blurt,blush,blusher,blushy,bluster,blype,bo,boa,boagane,boar,board,boarder,boardly,boardy,boarish,boast,boaster,boat,boatage,boater,boatful,boatie,boating,boatlip,boatly,boatman,bob,boba,bobac,bobbed,bobber,bobbery,bobbin,bobbing,bobbish,bobble,bobby,bobcat,bobcoat,bobeche,bobfly,bobo,bobotie,bobsled,bobstay,bobtail,bobwood,bocal,bocardo,bocca,boccale,boccaro,bocce,boce,bocher,bock,bocking,bocoy,bod,bodach,bode,bodeful,bodega,boden,boder,bodge,bodger,bodgery,bodhi,bodice,bodiced,bodied,bodier,bodikin,bodily,boding,bodkin,bodle,bodock,body,bog,boga,bogan,bogard,bogart,bogey,boggart,boggin,boggish,boggle,boggler,boggy,boghole,bogie,bogier,bogland,bogle,boglet,bogman,bogmire,bogo,bogong,bogtrot,bogue,bogum,bogus,bogway,bogwood,bogwort,bogy,bogydom,bogyism,bohawn,bohea,boho,bohor,bohunk,boid,boil,boiled,boiler,boilery,boiling,boily,boist,bojite,bojo,bokadam,bokard,bokark,boke,bokom,bola,bolar,bold,bolden,boldine,boldly,boldo,bole,boled,boleite,bolero,bolete,bolide,bolimba,bolis,bolivar,bolivia,bolk,boll,bollard,bolled,boller,bolling,bollock,bolly,bolo,boloman,boloney,bolson,bolster,bolt,boltage,boltant,boltel,bolter,bolti,bolting,bolus,bom,boma,bomb,bombard,bombast,bombed,bomber,bombo,bombola,bombous,bon,bonaci,bonagh,bonaght,bonair,bonally,bonang,bonanza,bonasus,bonbon,bonce,bond,bondage,bondar,bonded,bonder,bonding,bondman,bonduc,bone,boned,bonedog,bonelet,boner,boneset,bonfire,bong,bongo,boniata,bonify,bonito,bonk,bonnaz,bonnet,bonnily,bonny,bonsai,bonus,bonxie,bony,bonze,bonzer,bonzery,bonzian,boo,boob,boobery,boobily,boobook,booby,bood,boodie,boodle,boodler,boody,boof,booger,boohoo,boojum,book,bookdom,booked,booker,bookery,bookful,bookie,booking,bookish,bookism,booklet,bookman,booky,bool,booly,boolya,boom,boomage,boomah,boomdas,boomer,booming,boomlet,boomy,boon,boonk,boopis,boor,boorish,boort,boose,boost,booster,boosy,boot,bootboy,booted,bootee,booter,bootery,bootful,booth,boother,bootied,booting,bootleg,boots,booty,booze,boozed,boozer,boozily,boozy,bop,bopeep,boppist,bopyrid,bor,bora,borable,boracic,borage,borak,boral,borasca,borate,borax,bord,bordage,bordar,bordel,border,bordure,bore,boread,boreal,borean,boredom,boree,boreen,boregat,boreism,borele,borer,borg,borgh,borh,boric,boride,borine,boring,borish,borism,bority,borize,borlase,born,borne,borneol,borning,bornite,bornyl,boro,boron,boronic,borough,borrel,borrow,borsch,borscht,borsht,bort,bortsch,borty,bortz,borwort,boryl,borzoi,boscage,bosch,bose,boser,bosh,bosher,bosk,bosker,bosket,bosky,bosn,bosom,bosomed,bosomer,bosomy,boss,bossage,bossdom,bossed,bosser,bosset,bossing,bossism,bosslet,bossy,boston,bostryx,bosun,bot,bota,botanic,botany,botargo,botch,botched,botcher,botchka,botchy,bote,botella,boterol,botfly,both,bother,bothros,bothway,bothy,botonee,botong,bott,bottine,bottle,bottled,bottler,bottom,botulin,bouchal,bouche,boucher,boud,boudoir,bougar,bouge,bouget,bough,boughed,bought,boughy,bougie,bouk,boukit,boulder,boule,boultel,boulter,boun,bounce,bouncer,bound,bounded,bounden,bounder,boundly,bounty,bouquet,bourbon,bourd,bourder,bourdon,bourg,bourn,bourock,bourse,bouse,bouser,bousy,bout,boutade,bouto,bouw,bovate,bovid,bovine,bovoid,bow,bowable,bowback,bowbent,bowboy,bowed,bowel,boweled,bowels,bower,bowery,bowet,bowfin,bowhead,bowie,bowing,bowk,bowkail,bowker,bowknot,bowl,bowla,bowleg,bowler,bowless,bowlful,bowlike,bowline,bowling,bowls,bowly,bowman,bowpin,bowshot,bowwood,bowwort,bowwow,bowyer,boxbush,boxcar,boxen,boxer,boxfish,boxful,boxhaul,boxhead,boxing,boxlike,boxman,boxty,boxwood,boxwork,boxy,boy,boyang,boyar,boyard,boycott,boydom,boyer,boyhood,boyish,boyism,boyla,boylike,boyship,boza,bozal,bozo,bozze,bra,brab,brabant,brabble,braca,braccia,braccio,brace,braced,bracer,bracero,braces,brach,brachet,bracing,brack,bracken,bracker,bracket,bracky,bract,bractea,bracted,brad,bradawl,bradsot,brae,braeman,brag,braggat,bragger,bragget,bragite,braid,braided,braider,brail,brain,brainer,brainge,brains,brainy,braird,brairo,braise,brake,braker,brakie,braky,bramble,brambly,bran,branch,branchi,branchy,brand,branded,brander,brandy,brangle,branial,brank,brankie,branle,branner,branny,bransle,brant,brash,brashy,brasque,brass,brasse,brasser,brasset,brassic,brassie,brassy,brat,brattie,brattle,brauna,bravade,bravado,brave,bravely,braver,bravery,braving,bravish,bravo,bravura,braw,brawl,brawler,brawly,brawlys,brawn,brawned,brawner,brawny,braws,braxy,bray,brayer,brayera,braza,braze,brazen,brazer,brazera,brazier,brazil,breach,breachy,bread,breaden,breadth,breaghe,break,breakax,breaker,breakup,bream,breards,breast,breath,breathe,breathy,breba,breccia,brecham,breck,brecken,bred,brede,bredi,bree,breech,breed,breeder,breedy,breek,breeze,breezy,bregma,brehon,brei,brekkle,brelaw,breme,bremely,brent,brephic,bret,breth,brett,breva,breve,brevet,brevier,brevit,brevity,brew,brewage,brewer,brewery,brewing,brewis,brewst,brey,briar,bribe,bribee,briber,bribery,brichen,brick,brickel,bricken,brickle,brickly,bricky,bricole,bridal,bridale,bride,bridely,bridge,bridged,bridger,bridle,bridled,bridler,bridoon,brief,briefly,briefs,brier,briered,briery,brieve,brig,brigade,brigand,bright,brill,brills,brim,brimful,briming,brimmed,brimmer,brin,brine,briner,bring,bringal,bringer,brinish,brinjal,brink,briny,brioche,brique,brisk,brisken,brisket,briskly,brisque,briss,bristle,bristly,brisure,brit,brith,brither,britska,britten,brittle,brizz,broach,broad,broadax,broaden,broadly,brob,brocade,brocard,broch,brochan,broche,brocho,brock,brocked,brocket,brockle,brod,brodder,brog,brogan,brogger,broggle,brogue,broguer,broider,broigne,broil,broiler,brokage,broke,broken,broker,broking,brolga,broll,brolly,broma,bromal,bromate,brome,bromic,bromide,bromine,bromism,bromite,bromize,bromoil,bromol,bromous,bronc,bronchi,bronco,bronk,bronze,bronzed,bronzen,bronzer,bronzy,broo,brooch,brood,brooder,broody,brook,brooked,brookie,brooky,brool,broom,broomer,broomy,broon,broose,brose,brosot,brosy,brot,brotan,brotany,broth,brothel,brother,brothy,brough,brought,brow,browden,browed,browis,browman,brown,browner,brownie,brownly,browny,browse,browser,browst,bruang,brucia,brucina,brucine,brucite,bruckle,brugh,bruin,bruise,bruiser,bruit,bruiter,bruke,brulee,brulyie,brumal,brumby,brume,brumous,brunch,brunet,brunt,bruscus,brush,brushed,brusher,brushes,brushet,brushy,brusque,brustle,brut,brutage,brutal,brute,brutely,brutify,bruting,brutish,brutism,brutter,bruzz,bryonin,bryony,bu,bual,buaze,bub,buba,bubal,bubalis,bubble,bubbler,bubbly,bubby,bubinga,bubo,buboed,bubonic,bubukle,bucare,bucca,buccal,buccan,buccate,buccina,buccula,buchite,buchu,buck,bucked,buckeen,bucker,bucket,buckety,buckeye,buckie,bucking,buckish,buckle,buckled,buckler,bucklum,bucko,buckpot,buckra,buckram,bucksaw,bucky,bucolic,bucrane,bud,buda,buddage,budder,buddhi,budding,buddle,buddler,buddy,budge,budger,budget,budless,budlet,budlike,budmash,budtime,budwood,budworm,budzat,bufagin,buff,buffalo,buffed,buffer,buffet,buffing,buffle,buffont,buffoon,buffy,bufidin,bufo,bug,bugaboo,bugan,bugbane,bugbear,bugbite,bugdom,bugfish,bugger,buggery,buggy,bughead,bugle,bugled,bugler,buglet,bugloss,bugre,bugseed,bugweed,bugwort,buhl,buhr,build,builder,buildup,built,buirdly,buisson,buist,bukh,bukshi,bulak,bulb,bulbar,bulbed,bulbil,bulblet,bulbose,bulbous,bulbul,bulbule,bulby,bulchin,bulge,bulger,bulgy,bulimia,bulimic,bulimy,bulk,bulked,bulker,bulkily,bulkish,bulky,bull,bulla,bullace,bullan,bullary,bullate,bullbat,bulldog,buller,bullet,bullety,bulling,bullion,bullish,bullism,bullit,bullnut,bullock,bullous,bullule,bully,bulrush,bulse,bult,bulter,bultey,bultong,bultow,bulwand,bulwark,bum,bumbaze,bumbee,bumble,bumbler,bumbo,bumboat,bumicky,bummalo,bummed,bummer,bummie,bumming,bummler,bummock,bump,bumpee,bumper,bumpily,bumping,bumpkin,bumpy,bumtrap,bumwood,bun,buna,buncal,bunce,bunch,buncher,bunchy,bund,bunder,bundle,bundler,bundlet,bundook,bundy,bung,bungee,bungey,bungfu,bungle,bungler,bungo,bungy,bunion,bunk,bunker,bunkery,bunkie,bunko,bunkum,bunnell,bunny,bunt,buntal,bunted,bunter,bunting,bunton,bunty,bunya,bunyah,bunyip,buoy,buoyage,buoyant,bur,buran,burao,burbank,burbark,burble,burbler,burbly,burbot,burbush,burd,burden,burdie,burdock,burdon,bure,bureau,bureaux,burel,burele,buret,burette,burfish,burg,burgage,burgall,burgee,burgeon,burgess,burgh,burghal,burgher,burglar,burgle,burgoo,burgul,burgus,burhead,buri,burial,burian,buried,burier,burin,burion,buriti,burka,burke,burker,burl,burlap,burled,burler,burlet,burlily,burly,burmite,burn,burned,burner,burnet,burnie,burning,burnish,burnous,burnout,burnt,burnut,burny,buro,burp,burr,burrah,burred,burrel,burrer,burring,burrish,burrito,burro,burrow,burry,bursa,bursal,bursar,bursary,bursate,burse,burseed,burst,burster,burt,burton,burucha,burweed,bury,burying,bus,busby,buscarl,bush,bushed,bushel,busher,bushful,bushi,bushily,bushing,bushlet,bushwa,bushy,busied,busily,busine,busk,busked,busker,busket,buskin,buskle,busky,busman,buss,busser,bussock,bussu,bust,bustard,busted,bustee,buster,bustic,bustle,bustled,bustler,busy,busying,busyish,but,butanal,butane,butanol,butch,butcher,butein,butene,butenyl,butic,butine,butler,butlery,butment,butoxy,butoxyl,butt,butte,butter,buttery,butting,buttle,buttock,button,buttons,buttony,butty,butyl,butylic,butyne,butyr,butyral,butyric,butyrin,butyryl,buxerry,buxom,buxomly,buy,buyable,buyer,buzane,buzz,buzzard,buzzer,buzzies,buzzing,buzzle,buzzwig,buzzy,by,bycoket,bye,byee,byeman,byepath,byerite,bygane,bygo,bygoing,bygone,byhand,bylaw,byname,byon,byous,byously,bypass,bypast,bypath,byplay,byre,byreman,byrlaw,byrnie,byroad,byrrus,bysen,byspell,byssal,byssin,byssine,byssoid,byssus,byth,bytime,bywalk,byway,bywoner,byword,bywork,c,ca,caam,caama,caaming,caapeba,cab,caba,cabaan,caback,cabaho,cabal,cabala,cabalic,caban,cabana,cabaret,cabas,cabbage,cabbagy,cabber,cabble,cabbler,cabby,cabda,caber,cabezon,cabin,cabinet,cabio,cable,cabled,cabler,cablet,cabling,cabman,cabob,cabocle,cabook,caboose,cabot,cabree,cabrit,cabuya,cacam,cacao,cachaza,cache,cachet,cachexy,cachou,cachrys,cacique,cack,cackle,cackler,cacodyl,cacoepy,caconym,cacoon,cacti,cactoid,cacur,cad,cadamba,cadaver,cadbait,cadbit,cadbote,caddice,caddie,caddis,caddish,caddle,caddow,caddy,cade,cadelle,cadence,cadency,cadent,cadenza,cader,caderas,cadet,cadetcy,cadette,cadew,cadge,cadger,cadgily,cadgy,cadi,cadism,cadjan,cadlock,cadmia,cadmic,cadmide,cadmium,cados,cadrans,cadre,cadua,caduac,caduca,cadus,cadweed,caeca,caecal,caecum,caeoma,caesura,cafeneh,cafenet,caffa,caffeic,caffeol,caffiso,caffle,caffoy,cafh,cafiz,caftan,cag,cage,caged,cageful,cageman,cager,cagey,caggy,cagily,cagit,cagmag,cahiz,cahoot,cahot,cahow,caickle,caid,caiman,caimito,cain,caique,caird,cairn,cairned,cairny,caisson,caitiff,cajeput,cajole,cajoler,cajuela,cajun,cajuput,cake,cakebox,caker,cakette,cakey,caky,cal,calaba,calaber,calade,calais,calalu,calamus,calash,calcar,calced,calcic,calcify,calcine,calcite,calcium,calculi,calden,caldron,calean,calends,calepin,calf,calfish,caliber,calibre,calices,calicle,calico,calid,caliga,caligo,calinda,calinut,calipee,caliper,caliph,caliver,calix,calk,calkage,calker,calkin,calking,call,callant,callboy,caller,callet,calli,callid,calling,callo,callose,callous,callow,callus,calm,calmant,calmer,calmly,calmy,calomba,calomel,calool,calor,caloric,calorie,caloris,calotte,caloyer,calp,calpac,calpack,caltrap,caltrop,calumba,calumet,calumny,calve,calved,calver,calves,calvish,calvity,calvous,calx,calyces,calycle,calymma,calypso,calyx,cam,camaca,camagon,camail,caman,camansi,camara,camass,camata,camb,cambaye,camber,cambial,cambism,cambist,cambium,cambrel,cambuca,came,cameist,camel,camelry,cameo,camera,cameral,camilla,camion,camise,camisia,camlet,cammed,cammock,camoodi,camp,campana,campane,camper,campho,camphol,camphor,campion,cample,campo,campody,campoo,campus,camus,camused,camwood,can,canaba,canada,canadol,canal,canamo,canape,canard,canari,canarin,canary,canasta,canaut,cancan,cancel,cancer,canch,cancrum,cand,candela,candent,candid,candied,candier,candify,candiru,candle,candler,candock,candor,candroy,candy,candys,cane,canel,canella,canelo,caner,canette,canful,cangan,cangia,cangle,cangler,cangue,canhoop,canid,canille,caninal,canine,caninus,canions,canjac,cank,canker,cankery,canman,canna,cannach,canned,cannel,canner,cannery,cannet,cannily,canning,cannon,cannot,cannula,canny,canoe,canon,canonic,canonry,canopic,canopy,canroy,canso,cant,cantala,cantar,cantara,cantaro,cantata,canted,canteen,canter,canthal,canthus,cantic,cantico,cantily,cantina,canting,cantion,cantish,cantle,cantlet,canto,canton,cantoon,cantor,cantred,cantref,cantrip,cantus,canty,canun,canvas,canvass,cany,canyon,canzon,caoba,cap,capable,capably,capanna,capanne,capax,capcase,cape,caped,capel,capelet,capelin,caper,caperer,capes,capful,caph,caphar,caphite,capias,capicha,capital,capitan,capivi,capkin,capless,caplin,capman,capmint,capomo,capon,caporal,capot,capote,capped,capper,cappie,capping,capple,cappy,caprate,capreol,capric,caprice,caprid,caprin,caprine,caproic,caproin,caprone,caproyl,capryl,capsa,capsid,capsize,capstan,capsula,capsule,captain,caption,captive,captor,capture,capuche,capulet,capulin,car,carabao,carabid,carabin,carabus,caracal,caracol,caract,carafe,caraibe,caraipi,caramba,caramel,caranda,carane,caranna,carapax,carapo,carat,caratch,caravan,caravel,caraway,carbarn,carbeen,carbene,carbide,carbine,carbo,carbon,carbona,carbora,carboxy,carboy,carbro,carbure,carbyl,carcake,carcass,carceag,carcel,carcoon,card,cardecu,carded,cardel,carder,cardia,cardiac,cardial,cardin,carding,cardo,cardol,cardon,cardona,cardoon,care,careen,career,careful,carene,carer,caress,carest,caret,carfare,carfax,carful,carga,cargo,carhop,cariama,caribou,carid,caries,carina,carinal,cariole,carious,cark,carking,carkled,carl,carless,carlet,carlie,carlin,carline,carling,carlish,carload,carlot,carls,carman,carmele,carmine,carmot,carnage,carnal,carnate,carneol,carney,carnic,carnify,carnose,carnous,caroa,carob,caroba,caroche,carol,caroler,caroli,carolin,carolus,carom,carone,caronic,caroome,caroon,carotic,carotid,carotin,carouse,carp,carpal,carpale,carpel,carpent,carper,carpet,carpid,carping,carpium,carport,carpos,carpus,carr,carrack,carrel,carrick,carried,carrier,carrion,carrizo,carroch,carrot,carroty,carrow,carry,carse,carshop,carsick,cart,cartage,carte,cartel,carter,cartful,cartman,carton,cartoon,cartway,carty,carua,carucal,carval,carve,carvel,carven,carvene,carver,carving,carvol,carvone,carvyl,caryl,casaba,casabe,casal,casalty,casate,casaun,casava,casave,casavi,casbah,cascade,cascado,cascara,casco,cascol,case,casease,caseate,casebox,cased,caseful,casefy,caseic,casein,caseose,caseous,caser,casern,caseum,cash,casha,cashaw,cashbox,cashboy,cashel,cashew,cashier,casing,casino,casiri,cask,casket,casking,casque,casqued,casquet,cass,cassady,casse,cassena,cassia,cassie,cassina,cassine,cassino,cassis,cassock,casson,cassoon,cast,caste,caster,castice,casting,castle,castled,castlet,castock,castoff,castor,castory,castra,castral,castrum,castuli,casual,casuary,casuist,casula,cat,catalpa,catan,catapan,cataria,catarrh,catasta,catbird,catboat,catcall,catch,catcher,catchup,catchy,catclaw,catdom,cate,catechu,catella,catena,catenae,cater,cateran,caterer,caterva,cateye,catface,catfall,catfish,catfoot,catgut,cathead,cathect,catheti,cathin,cathine,cathion,cathode,cathole,cathood,cathop,cathro,cation,cativo,catjang,catkin,catlap,catlike,catlin,catling,catmint,catnip,catpipe,catskin,catstep,catsup,cattabu,cattail,cattalo,cattery,cattily,catting,cattish,cattle,catty,catvine,catwalk,catwise,catwood,catwort,caubeen,cauboge,cauch,caucho,caucus,cauda,caudad,caudae,caudal,caudata,caudate,caudex,caudle,caught,cauk,caul,cauld,caules,cauline,caulis,caulome,caulote,caum,cauma,caunch,caup,caupo,caurale,causal,causate,cause,causer,causey,causing,causse,causson,caustic,cautel,cauter,cautery,caution,cautivo,cava,cavae,caval,cavalla,cavalry,cavate,cave,caveat,cavel,cavelet,cavern,cavetto,caviar,cavie,cavil,caviler,caving,cavings,cavish,cavity,caviya,cavort,cavus,cavy,caw,cawk,cawky,cawney,cawquaw,caxiri,caxon,cay,cayenne,cayman,caza,cazimi,ce,cearin,cease,ceasmic,cebell,cebian,cebid,cebil,cebine,ceboid,cebur,cecils,cecity,cedar,cedared,cedarn,cedary,cede,cedent,ceder,cedilla,cedrat,cedrate,cedre,cedrene,cedrin,cedrine,cedrium,cedrol,cedron,cedry,cedula,cee,ceibo,ceil,ceile,ceiler,ceilidh,ceiling,celadon,celemin,celery,celesta,celeste,celiac,celite,cell,cella,cellae,cellar,celled,cellist,cello,celloid,cellose,cellule,celsian,celt,celtium,celtuce,cembalo,cement,cenacle,cendre,cenoby,cense,censer,censive,censor,censual,censure,census,cent,centage,cental,centare,centaur,centavo,centena,center,centiar,centile,centime,centimo,centner,cento,centrad,central,centric,centrum,centry,centum,century,ceorl,cep,cepa,cepe,cephid,ceps,ceptor,cequi,cerago,ceral,ceramal,ceramic,ceras,cerasin,cerata,cerate,cerated,cercal,cerci,cercus,cere,cereal,cerebra,cered,cereous,cerer,ceresin,cerevis,ceria,ceric,ceride,cerillo,ceriman,cerin,cerine,ceriops,cerise,cerite,cerium,cermet,cern,cero,ceroma,cerote,cerotic,cerotin,cerous,cerrero,cerrial,cerris,certain,certie,certify,certis,certy,cerule,cerumen,ceruse,cervid,cervine,cervix,cervoid,ceryl,cesious,cesium,cess,cesser,cession,cessor,cesspit,cest,cestode,cestoid,cestrum,cestus,cetane,cetene,ceti,cetic,cetin,cetyl,cetylic,cevine,cha,chaa,chab,chabot,chabouk,chabuk,chacate,chack,chacker,chackle,chacma,chacona,chacte,chad,chaeta,chafe,chafer,chafery,chaff,chaffer,chaffy,chaft,chafted,chagan,chagrin,chaguar,chagul,chahar,chai,chain,chained,chainer,chainon,chair,chairer,chais,chaise,chaitya,chaja,chaka,chakar,chakari,chakazi,chakdar,chakobu,chakra,chakram,chaksi,chal,chalaco,chalana,chalaza,chalaze,chalcid,chalcon,chalcus,chalder,chalet,chalice,chalk,chalker,chalky,challah,challie,challis,chalmer,chalon,chalone,chalque,chalta,chalutz,cham,chamal,chamar,chamber,chambul,chamfer,chamiso,chamite,chamma,chamois,champ,champac,champer,champy,chance,chancel,chancer,chanche,chanco,chancre,chancy,chandam,chandi,chandoo,chandu,chandul,chang,changa,changar,change,changer,chank,channel,channer,chanson,chanst,chant,chanter,chantey,chantry,chao,chaos,chaotic,chap,chapah,chape,chapeau,chaped,chapel,chapin,chaplet,chapman,chapped,chapper,chappie,chappin,chappow,chappy,chaps,chapt,chapter,char,charac,charade,charas,charbon,chard,chare,charer,charet,charge,chargee,charger,charier,charily,chariot,charism,charity,chark,charka,charkha,charm,charmel,charmer,charnel,charpit,charpoy,charqui,charr,charry,chart,charter,charuk,chary,chase,chaser,chasing,chasm,chasma,chasmal,chasmed,chasmic,chasmy,chasse,chassis,chaste,chasten,chat,chataka,chateau,chati,chatta,chattel,chatter,chatty,chauk,chaus,chaute,chauth,chavish,chaw,chawan,chawer,chawk,chawl,chay,chaya,chayote,chazan,che,cheap,cheapen,cheaply,cheat,cheatee,cheater,chebec,chebel,chebog,chebule,check,checked,checker,checkup,checky,cheder,chee,cheecha,cheek,cheeker,cheeky,cheep,cheeper,cheepy,cheer,cheered,cheerer,cheerio,cheerly,cheery,cheese,cheeser,cheesy,cheet,cheetah,cheeter,cheetie,chef,chegoe,chegre,cheir,chekan,cheke,cheki,chekmak,chela,chelate,chelem,chelide,chello,chelone,chelp,chelys,chemic,chemis,chemise,chemism,chemist,chena,chende,cheng,chenica,cheque,cherem,cherish,cheroot,cherry,chert,cherte,cherty,cherub,chervil,cheson,chess,chessel,chesser,chest,chester,chesty,cheth,chettik,chetty,chevage,cheval,cheve,cheven,chevin,chevise,chevon,chevron,chevy,chew,chewer,chewink,chewy,cheyney,chhatri,chi,chia,chiasm,chiasma,chiaus,chibouk,chibrit,chic,chicane,chichi,chick,chicken,chicker,chicky,chicle,chico,chicory,chicot,chicote,chid,chidden,chide,chider,chiding,chidra,chief,chiefly,chield,chien,chiffer,chiffon,chiggak,chigger,chignon,chigoe,chih,chihfu,chikara,chil,child,childe,childed,childly,chile,chili,chiliad,chill,chilla,chilled,chiller,chillo,chillum,chilly,chiloma,chilver,chimble,chime,chimer,chimera,chimney,chin,china,chinar,chinch,chincha,chinche,chine,chined,ching,chingma,chinik,chinin,chink,chinker,chinkle,chinks,chinky,chinnam,chinned,chinny,chino,chinoa,chinol,chinse,chint,chintz,chip,chiplet,chipped,chipper,chippy,chips,chiral,chirata,chiripa,chirk,chirm,chiro,chirp,chirper,chirpy,chirr,chirrup,chisel,chit,chitak,chital,chitin,chiton,chitose,chitra,chitter,chitty,chive,chivey,chkalik,chlamyd,chlamys,chlor,chloral,chlore,chloric,chloryl,cho,choana,choate,choaty,chob,choca,chocard,chocho,chock,chocker,choel,choenix,choffer,choga,chogak,chogset,choice,choicy,choil,choiler,choir,chokage,choke,choker,choking,chokra,choky,chol,chola,cholane,cholate,chold,choleic,choler,cholera,choli,cholic,choline,cholla,choller,cholum,chomp,chondre,chonta,choop,choose,chooser,choosy,chop,chopa,chopin,chopine,chopped,chopper,choppy,choragy,choral,chord,chorda,chordal,chorded,chore,chorea,choreal,choree,choregy,choreic,choreus,chorial,choric,chorine,chorion,chorism,chorist,chorogi,choroid,chorook,chort,chorten,chortle,chorus,choryos,chose,chosen,chott,chough,chouka,choup,chous,chouse,chouser,chow,chowder,chowk,chowry,choya,chria,chrism,chrisma,chrisom,chroma,chrome,chromic,chromid,chromo,chromy,chromyl,chronal,chronic,chrotta,chrysal,chrysid,chrysin,chub,chubbed,chubby,chuck,chucker,chuckle,chucky,chuddar,chufa,chuff,chuffy,chug,chugger,chuhra,chukar,chukker,chukor,chulan,chullpa,chum,chummer,chummy,chump,chumpy,chun,chunari,chunga,chunk,chunky,chunner,chunnia,chunter,chupak,chupon,church,churchy,churel,churl,churled,churly,churm,churn,churr,churrus,chut,chute,chuter,chutney,chyack,chyak,chyle,chylify,chyloid,chylous,chymase,chyme,chymia,chymic,chymify,chymous,chypre,chytra,chytrid,cibol,cibory,ciboule,cicad,cicada,cicadid,cicala,cicely,cicer,cichlid,cidarid,cidaris,cider,cig,cigala,cigar,cigua,cilia,ciliary,ciliate,cilice,cilium,cimbia,cimelia,cimex,cimicid,cimline,cinch,cincher,cinclis,cinct,cinder,cindery,cine,cinel,cinema,cinene,cineole,cinerea,cingle,cinnyl,cinque,cinter,cinuran,cion,cipher,cipo,cipolin,cippus,circa,circle,circled,circler,circlet,circuit,circus,circusy,cirque,cirrate,cirri,cirrose,cirrous,cirrus,cirsoid,ciruela,cisco,cise,cisele,cissing,cissoid,cist,cista,cistae,cisted,cistern,cistic,cit,citable,citadel,citator,cite,citee,citer,citess,cithara,cither,citied,citify,citizen,citole,citral,citrate,citrean,citrene,citric,citril,citrin,citrine,citron,citrous,citrus,cittern,citua,city,citydom,cityful,cityish,cive,civet,civic,civics,civil,civilly,civism,civvy,cixiid,clabber,clachan,clack,clacker,clacket,clad,cladine,cladode,cladose,cladus,clag,claggum,claggy,claim,claimer,clairce,claith,claiver,clam,clamant,clamb,clamber,clame,clamer,clammed,clammer,clammy,clamor,clamp,clamper,clan,clang,clangor,clank,clanned,clap,clapnet,clapped,clapper,clapt,claque,claquer,clarain,claret,clarify,clarin,clarion,clarity,clark,claro,clart,clarty,clary,clash,clasher,clashy,clasp,clasper,claspt,class,classed,classer,classes,classic,classis,classy,clastic,clat,clatch,clatter,clatty,claught,clausal,clause,claut,clava,claval,clavate,clave,clavel,claver,clavial,clavier,claviol,clavis,clavola,clavus,clavy,claw,clawed,clawer,clawk,clawker,clay,clayen,clayer,clayey,clayish,clayman,claypan,cleach,clead,cleaded,cleam,cleamer,clean,cleaner,cleanly,cleanse,cleanup,clear,clearer,clearly,cleat,cleave,cleaver,cleche,cleck,cled,cledge,cledgy,clee,cleek,cleeked,cleeky,clef,cleft,clefted,cleg,clem,clement,clench,cleoid,clep,clergy,cleric,clerid,clerisy,clerk,clerkly,cleruch,cletch,cleuch,cleve,clever,clevis,clew,cliack,cliche,click,clicker,clicket,clicky,cliency,client,cliff,cliffed,cliffy,clift,clifty,clima,climata,climate,climath,climax,climb,climber,clime,clinal,clinch,cline,cling,clinger,clingy,clinia,clinic,clinium,clink,clinker,clinkum,clinoid,clint,clinty,clip,clipei,clipeus,clipped,clipper,clips,clipse,clipt,clique,cliquy,clisere,clit,clitch,clite,clites,clithe,clitia,clition,clitter,clival,clive,clivers,clivis,clivus,cloaca,cloacal,cloak,cloaked,cloam,cloamen,cloamer,clobber,clochan,cloche,clocher,clock,clocked,clocker,clod,clodder,cloddy,clodlet,cloff,clog,clogger,cloggy,cloghad,clogwyn,cloit,clomb,clomben,clonal,clone,clonic,clonism,clonus,cloof,cloop,cloot,clootie,clop,close,closed,closely,closen,closer,closet,closh,closish,closter,closure,clot,clotbur,clote,cloth,clothe,clothes,clothy,clotter,clotty,cloture,cloud,clouded,cloudy,clough,clour,clout,clouted,clouter,clouty,clove,cloven,clovene,clover,clovery,clow,clown,cloy,cloyer,cloying,club,clubbed,clubber,clubby,clubdom,clubman,cluck,clue,cluff,clump,clumpy,clumse,clumsy,clunch,clung,clunk,clupeid,cluster,clutch,cluther,clutter,cly,clyer,clype,clypeal,clypeus,clysis,clysma,clysmic,clyster,cnemial,cnemis,cnicin,cnida,coabode,coach,coachee,coacher,coachy,coact,coactor,coadapt,coadmit,coadore,coaged,coagent,coagula,coaid,coaita,coak,coakum,coal,coalbag,coalbin,coalbox,coaler,coalify,coalize,coalpit,coaly,coaming,coannex,coapt,coarb,coarse,coarsen,coast,coastal,coaster,coat,coated,coatee,coater,coati,coatie,coating,coax,coaxal,coaxer,coaxial,coaxing,coaxy,cob,cobaea,cobalt,cobang,cobbed,cobber,cobbing,cobble,cobbler,cobbly,cobbra,cobby,cobcab,cobego,cobhead,cobia,cobiron,coble,cobless,cobloaf,cobnut,cobola,cobourg,cobra,coburg,cobweb,cobwork,coca,cocaine,cocash,cocause,coccal,cocci,coccid,cocco,coccoid,coccous,coccule,coccus,coccyx,cochal,cochief,cochlea,cock,cockade,cockal,cocked,cocker,cocket,cockeye,cockily,cocking,cockish,cockle,cockled,cockler,cocklet,cockly,cockney,cockpit,cockshy,cockup,cocky,coco,cocoa,cocoach,coconut,cocoon,cocotte,coctile,coction,cocuisa,cocullo,cocuyo,cod,coda,codbank,codder,codding,coddle,coddler,code,codeine,coder,codex,codfish,codger,codhead,codical,codices,codicil,codify,codilla,codille,codist,codling,codman,codo,codol,codon,codworm,coe,coecal,coecum,coed,coelar,coelder,coelect,coelho,coelia,coeliac,coelian,coelin,coeline,coelom,coeloma,coempt,coenact,coenjoy,coenobe,coequal,coerce,coercer,coetus,coeval,coexert,coexist,coff,coffee,coffer,coffin,coffle,coffret,coft,cog,cogence,cogency,cogener,cogent,cogged,cogger,coggie,cogging,coggle,coggly,coghle,cogman,cognac,cognate,cognize,cogon,cogonal,cograil,cogroad,cogue,cogway,cogwood,cohabit,coheir,cohere,coherer,cohibit,coho,cohoba,cohol,cohort,cohosh,cohune,coif,coifed,coign,coigue,coil,coiled,coiler,coiling,coin,coinage,coiner,coinfer,coining,cointer,coiny,coir,coital,coition,coiture,coitus,cojudge,cojuror,coke,cokeman,coker,cokery,coking,coky,col,cola,colane,colarin,colate,colauxe,colback,cold,colder,coldish,coldly,cole,coletit,coleur,coli,colibri,colic,colical,colicky,colima,colin,coling,colitic,colitis,colk,coll,collage,collar,collard,collare,collate,collaud,collect,colleen,college,collery,collet,colley,collide,collie,collied,collier,collin,colline,colling,collins,collock,colloid,collop,collude,collum,colly,collyba,colmar,colobin,colon,colonel,colonic,colony,color,colored,colorer,colorin,colors,colory,coloss,colossi,colove,colp,colpeo,colport,colpus,colt,colter,coltish,colugo,columbo,column,colunar,colure,coly,colyone,colytic,colyum,colza,coma,comaker,comal,comamie,comanic,comart,comate,comb,combat,combed,comber,combine,combing,comble,comboy,combure,combust,comby,come,comedic,comedo,comedy,comely,comenic,comer,comes,comet,cometic,comfit,comfort,comfrey,comfy,comic,comical,comicry,coming,comino,comism,comital,comitia,comity,comma,command,commend,comment,commie,commit,commix,commixt,commode,common,commons,commot,commove,communa,commune,commute,comoid,comose,comourn,comous,compact,company,compare,compart,compass,compear,compeer,compel,compend,compete,compile,complex,complin,complot,comply,compo,compoer,compole,compone,compony,comport,compos,compose,compost,compote,compreg,compter,compute,comrade,con,conacre,conal,conamed,conatus,concave,conceal,concede,conceit,concent,concept,concern,concert,conch,concha,conchal,conche,conched,concher,conchy,concile,concise,concoct,concord,concupy,concur,concuss,cond,condemn,condign,condite,condole,condone,condor,conduce,conduct,conduit,condyle,cone,coned,coneen,coneine,conelet,coner,cones,confab,confact,confect,confess,confide,confine,confirm,confix,conflow,conflux,conform,confuse,confute,conga,congeal,congee,conger,congest,congius,congou,conic,conical,conicle,conics,conidia,conifer,conima,conin,conine,conject,conjoin,conjure,conjury,conk,conker,conkers,conky,conn,connach,connate,connect,conner,connex,conning,connive,connote,conoid,conopid,conquer,conred,consent,consign,consist,consol,console,consort,conspue,constat,consul,consult,consume,consute,contact,contain,conte,contect,contemn,content,conter,contest,context,contise,conto,contort,contour,contra,control,contund,contuse,conure,conus,conusee,conusor,conuzee,conuzor,convect,convene,convent,convert,conveth,convex,convey,convict,convive,convoke,convoy,cony,coo,cooba,coodle,cooee,cooer,coof,cooing,cooja,cook,cookdom,cookee,cooker,cookery,cooking,cookish,cookout,cooky,cool,coolant,coolen,cooler,coolie,cooling,coolish,coolly,coolth,coolung,cooly,coom,coomb,coomy,coon,cooncan,coonily,coontie,coony,coop,cooper,coopery,cooree,coorie,cooser,coost,coot,cooter,coothay,cootie,cop,copa,copable,copaene,copaiba,copaiye,copal,copalm,copart,coparty,cope,copei,copeman,copen,copepod,coper,coperta,copied,copier,copilot,coping,copious,copis,copist,copita,copolar,copped,copper,coppery,coppet,coppice,coppin,copping,copple,coppled,coppy,copr,copra,coprose,copse,copsing,copsy,copter,copula,copular,copus,copy,copycat,copyism,copyist,copyman,coque,coquet,coquina,coquita,coquito,cor,cora,corach,coracle,corah,coraise,coral,coraled,coram,coranto,corban,corbeau,corbeil,corbel,corbie,corbula,corcass,corcir,cord,cordage,cordant,cordate,cordax,corded,cordel,corder,cordial,cordies,cording,cordite,cordoba,cordon,cordy,cordyl,core,corebel,cored,coreid,coreign,corella,corer,corf,corge,corgi,corial,coriin,coring,corinne,corium,cork,corkage,corke,corked,corker,corking,corkish,corkite,corky,corm,cormel,cormoid,cormous,cormus,corn,cornage,cornbin,corncob,cornea,corneal,cornein,cornel,corner,cornet,corneum,cornic,cornice,cornin,corning,cornu,cornual,cornule,cornute,cornuto,corny,coroa,corody,corol,corolla,corona,coronad,coronae,coronal,coroner,coronet,corozo,corp,corpora,corps,corpse,corpus,corrade,corral,correal,correct,corrie,corrige,corrode,corrupt,corsac,corsage,corsair,corse,corset,corsie,corsite,corta,cortege,cortex,cortez,cortin,cortina,coruco,coruler,corupay,corver,corvina,corvine,corvoid,coryl,corylin,corymb,coryza,cos,cosaque,coscet,coseat,cosec,cosech,coseism,coset,cosh,cosher,coshery,cosily,cosine,cosmic,cosmism,cosmist,cosmos,coss,cossas,cosse,cosset,cossid,cost,costa,costal,costar,costard,costate,costean,coster,costing,costive,costly,costrel,costula,costume,cosy,cot,cotch,cote,coteful,coterie,coth,cothe,cothish,cothon,cothurn,cothy,cotidal,cotise,cotland,cotman,coto,cotoin,cotoro,cotrine,cotset,cotta,cottage,cotte,cotted,cotter,cottid,cottier,cottoid,cotton,cottony,cotty,cotuit,cotula,cotutor,cotwin,cotwist,cotyla,cotylar,cotype,couac,coucal,couch,couched,couchee,coucher,couchy,coude,coudee,coue,cougar,cough,cougher,cougnar,coul,could,coulee,coulomb,coulure,couma,coumara,council,counite,counsel,count,counter,countor,country,county,coup,coupage,coupe,couped,coupee,couper,couple,coupled,coupler,couplet,coupon,coupure,courage,courant,courap,courb,courge,courida,courier,couril,courlan,course,coursed,courser,court,courter,courtin,courtly,cousin,cousiny,coutel,couter,couth,couthie,coutil,couvade,couxia,covado,cove,coved,covent,cover,covered,coverer,covert,covet,coveter,covey,covid,covin,coving,covisit,covite,cow,cowal,coward,cowardy,cowbane,cowbell,cowbind,cowbird,cowboy,cowdie,coween,cower,cowfish,cowgate,cowgram,cowhage,cowheel,cowherb,cowherd,cowhide,cowhorn,cowish,cowitch,cowl,cowle,cowled,cowlick,cowlike,cowling,cowman,cowpath,cowpea,cowpen,cowpock,cowpox,cowrie,cowroid,cowshed,cowskin,cowslip,cowtail,cowweed,cowy,cowyard,cox,coxa,coxal,coxcomb,coxite,coxitis,coxy,coy,coyan,coydog,coyish,coyly,coyness,coynye,coyo,coyol,coyote,coypu,coyure,coz,coze,cozen,cozener,cozier,cozily,cozy,crab,crabbed,crabber,crabby,craber,crablet,crabman,crack,cracked,cracker,crackle,crackly,cracky,craddy,cradge,cradle,cradler,craft,crafty,crag,craggan,cragged,craggy,craichy,crain,craisey,craizey,crajuru,crake,crakow,cram,crambe,crambid,cramble,crambly,crambo,crammer,cramp,cramped,cramper,crampet,crampon,crampy,cran,cranage,crance,crane,craner,craney,crania,craniad,cranial,cranian,cranic,cranium,crank,cranked,cranker,crankle,crankly,crankum,cranky,crannog,cranny,crants,crap,crapaud,crape,crappie,crappin,crapple,crappo,craps,crapy,crare,crash,crasher,crasis,crass,crassly,cratch,crate,crater,craunch,cravat,crave,craven,craver,craving,cravo,craw,crawdad,crawful,crawl,crawler,crawley,crawly,crawm,crawtae,crayer,crayon,craze,crazed,crazily,crazy,crea,creagh,creaght,creak,creaker,creaky,cream,creamer,creamy,creance,creant,crease,creaser,creasy,creat,create,creatic,creator,creche,credent,credit,cree,creed,creedal,creeded,creek,creeker,creeky,creel,creeler,creem,creen,creep,creeper,creepie,creepy,creese,creesh,creeshy,cremate,cremone,cremor,cremule,crena,crenate,crenel,crenele,crenic,crenula,creole,creosol,crepe,crepine,crepon,crept,crepy,cresol,cresoxy,cress,cressed,cresset,cresson,cressy,crest,crested,cresyl,creta,cretic,cretify,cretin,cretion,crevice,crew,crewel,crewer,crewman,crib,cribber,cribble,cribo,cribral,cric,crick,cricket,crickey,crickle,cricoid,cried,crier,criey,crig,crile,crime,crimine,crimp,crimper,crimple,crimpy,crimson,crin,crinal,crine,crined,crinet,cringe,cringer,cringle,crinite,crink,crinkle,crinkly,crinoid,crinose,crinula,cripes,cripple,cripply,crises,crisic,crisis,crisp,crisped,crisper,crisply,crispy,criss,crissal,crissum,crista,critch,crith,critic,crizzle,cro,croak,croaker,croaky,croc,crocard,croceic,crocein,croche,crochet,croci,crocin,crock,crocker,crocket,crocky,crocus,croft,crofter,crome,crone,cronet,cronish,cronk,crony,crood,croodle,crook,crooked,crooken,crookle,crool,croon,crooner,crop,cropman,croppa,cropper,croppie,croppy,croquet,crore,crosa,crosier,crosnes,cross,crosse,crossed,crosser,crossly,crotal,crotalo,crotch,crotchy,crotin,crottle,crotyl,crouch,croup,croupal,croupe,croupy,crouse,crout,croute,crouton,crow,crowbar,crowd,crowded,crowder,crowdy,crower,crowhop,crowing,crowl,crown,crowned,crowner,crowtoe,croy,croyden,croydon,croze,crozer,crozzle,crozzly,crubeen,cruce,cruces,cruche,crucial,crucian,crucify,crucily,cruck,crude,crudely,crudity,cruel,cruelly,cruels,cruelty,cruent,cruet,cruety,cruise,cruiser,cruive,cruller,crum,crumb,crumber,crumble,crumbly,crumby,crumen,crumlet,crummie,crummy,crump,crumper,crumpet,crumple,crumply,crumpy,crunch,crunchy,crunk,crunkle,crunode,crunt,cruor,crupper,crural,crureus,crus,crusade,crusado,cruse,crush,crushed,crusher,crusie,crusily,crust,crusta,crustal,crusted,cruster,crusty,crutch,cruth,crutter,crux,cry,cryable,crybaby,crying,cryogen,cryosel,crypt,crypta,cryptal,crypted,cryptic,crystal,crystic,csardas,ctene,ctenoid,cuadra,cuarta,cub,cubage,cubbing,cubbish,cubby,cubdom,cube,cubeb,cubelet,cuber,cubhood,cubi,cubic,cubica,cubical,cubicle,cubicly,cubism,cubist,cubit,cubital,cubited,cubito,cubitus,cuboid,cuck,cuckold,cuckoo,cuculla,cud,cudava,cudbear,cudden,cuddle,cuddly,cuddy,cudgel,cudweed,cue,cueball,cueca,cueist,cueman,cuerda,cuesta,cuff,cuffer,cuffin,cuffy,cuinage,cuir,cuirass,cuisine,cuisse,cuissen,cuisten,cuke,culbut,culebra,culet,culeus,culgee,culicid,cull,culla,cullage,culler,cullet,culling,cullion,cullis,cully,culm,culmen,culmy,culotte,culpa,culpose,culprit,cult,cultch,cultic,cultish,cultism,cultist,cultual,culture,cultus,culver,culvert,cum,cumal,cumay,cumbent,cumber,cumbha,cumbly,cumbre,cumbu,cumene,cumenyl,cumhal,cumic,cumidin,cumin,cuminal,cuminic,cuminol,cuminyl,cummer,cummin,cumol,cump,cumshaw,cumular,cumuli,cumulus,cumyl,cuneal,cuneate,cunette,cuneus,cunila,cunjah,cunjer,cunner,cunning,cunye,cuorin,cup,cupay,cupcake,cupel,cupeler,cupful,cuphead,cupidon,cupless,cupman,cupmate,cupola,cupolar,cupped,cupper,cupping,cuppy,cuprene,cupric,cupride,cuprite,cuproid,cuprose,cuprous,cuprum,cupseed,cupula,cupule,cur,curable,curably,curacao,curacy,curare,curate,curatel,curatic,curator,curb,curber,curbing,curby,curcas,curch,curd,curdle,curdler,curdly,curdy,cure,curer,curette,curfew,curial,curiate,curie,curin,curine,curing,curio,curiosa,curioso,curious,curite,curium,curl,curled,curler,curlew,curlike,curlily,curling,curly,curn,curney,curnock,curple,curr,currach,currack,curragh,currant,current,curried,currier,currish,curry,cursal,curse,cursed,curser,curship,cursive,cursor,cursory,curst,curstly,cursus,curt,curtail,curtain,curtal,curtate,curtesy,curtly,curtsy,curua,curuba,curule,cururo,curvant,curvate,curve,curved,curver,curvet,curvity,curvous,curvy,cuscus,cusec,cush,cushag,cushat,cushaw,cushion,cushy,cusie,cusk,cusp,cuspal,cuspate,cusped,cuspid,cuspule,cuss,cussed,cusser,cusso,custard,custody,custom,customs,cut,cutaway,cutback,cutch,cutcher,cute,cutely,cutheal,cuticle,cutie,cutin,cutis,cutitis,cutlass,cutler,cutlery,cutlet,cutling,cutlips,cutoff,cutout,cutover,cuttage,cuttail,cutted,cutter,cutting,cuttle,cuttler,cuttoo,cutty,cutup,cutweed,cutwork,cutworm,cuvette,cuvy,cuya,cwierc,cwm,cyan,cyanate,cyanean,cyanic,cyanide,cyanin,cyanine,cyanite,cyanize,cyanol,cyanole,cyanose,cyanus,cyath,cyathos,cyathus,cycad,cyclane,cyclar,cyclas,cycle,cyclene,cycler,cyclian,cyclic,cyclide,cycling,cyclism,cyclist,cyclize,cycloid,cyclone,cyclope,cyclopy,cyclose,cyclus,cyesis,cygnet,cygnine,cyke,cylix,cyma,cymar,cymba,cymbal,cymbalo,cymbate,cyme,cymelet,cymene,cymling,cymoid,cymose,cymous,cymule,cynebot,cynic,cynical,cynipid,cynism,cynoid,cyp,cypre,cypres,cypress,cyprine,cypsela,cyrus,cyst,cystal,cysted,cystic,cystid,cystine,cystis,cystoid,cystoma,cystose,cystous,cytase,cytasic,cytitis,cytode,cytoid,cytoma,cyton,cytost,cytula,czar,czardas,czardom,czarian,czaric,czarina,czarish,czarism,czarist,d,da,daalder,dab,dabb,dabba,dabber,dabble,dabbler,dabby,dablet,daboia,daboya,dabster,dace,dacite,dacitic,dacker,dacoit,dacoity,dacryon,dactyl,dad,dada,dadap,dadder,daddle,daddock,daddy,dade,dado,dae,daedal,daemon,daemony,daer,daff,daffery,daffing,daffish,daffle,daffy,daft,daftly,dag,dagaba,dagame,dagassa,dagesh,dagga,dagger,daggers,daggle,daggly,daggy,daghesh,daglock,dagoba,dags,dah,dahoon,daidle,daidly,daiker,daikon,daily,daimen,daimio,daimon,dain,daincha,dainty,daira,dairi,dairy,dais,daisied,daisy,daitya,daiva,dak,daker,dakir,dal,dalar,dale,daleman,daler,daleth,dali,dalk,dallack,dalle,dalles,dallier,dally,dalt,dalteen,dalton,dam,dama,damage,damager,damages,daman,damask,damasse,dambose,dambrod,dame,damiana,damie,damier,damine,damlike,dammar,damme,dammer,dammish,damn,damned,damner,damnify,damning,damnous,damp,dampang,damped,dampen,damper,damping,dampish,damply,dampy,damsel,damson,dan,danaid,danaide,danaine,danaite,dance,dancer,dancery,dancing,dand,danda,dander,dandify,dandily,dandle,dandler,dandy,dang,danger,dangle,dangler,danglin,danio,dank,dankish,dankly,danli,danner,dannock,dansant,danta,danton,dao,daoine,dap,daphnin,dapicho,dapico,dapifer,dapper,dapple,dappled,dar,darac,daraf,darat,darbha,darby,dardaol,dare,dareall,dareful,darer,daresay,darg,dargah,darger,dargue,dari,daribah,daric,daring,dariole,dark,darken,darkful,darkish,darkle,darkly,darky,darling,darn,darned,darnel,darner,darnex,darning,daroga,daroo,darr,darrein,darst,dart,dartars,darter,darting,dartle,dartman,dartoic,dartoid,dartos,dartre,darts,darzee,das,dash,dashed,dashee,dasheen,dasher,dashing,dashpot,dashy,dasi,dasnt,dassie,dassy,dastard,dastur,dasturi,dasyure,data,datable,datably,dataria,datary,datch,datcha,date,dater,datil,dating,dation,datival,dative,dattock,datum,daturic,daub,daube,dauber,daubery,daubing,dauby,daud,daunch,dauncy,daunt,daunter,daunton,dauphin,daut,dautie,dauw,davach,daven,daver,daverdy,davit,davoch,davy,davyne,daw,dawdle,dawdler,dawdy,dawish,dawkin,dawn,dawning,dawny,dawtet,dawtit,dawut,day,dayal,daybeam,daybook,daydawn,dayfly,dayless,daylit,daylong,dayman,daymare,daymark,dayroom,days,daysman,daystar,daytale,daytide,daytime,dayward,daywork,daywrit,daze,dazed,dazedly,dazy,dazzle,dazzler,de,deacon,dead,deaden,deader,deadeye,deading,deadish,deadly,deadman,deadpan,deadpay,deaf,deafen,deafish,deafly,deair,deal,dealate,dealer,dealing,dealt,dean,deaner,deanery,deaness,dear,dearie,dearly,dearth,deary,deash,deasil,death,deathin,deathly,deathy,deave,deavely,deb,debacle,debadge,debar,debark,debase,debaser,debate,debater,debauch,debby,debeige,deben,debile,debind,debit,debord,debosh,debouch,debride,debrief,debris,debt,debtee,debtful,debtor,debunk,debus,debut,decad,decadal,decade,decadic,decafid,decagon,decal,decamp,decan,decanal,decane,decani,decant,decap,decapod,decarch,decare,decart,decast,decate,decator,decatyl,decay,decayed,decayer,decease,deceit,deceive,decence,decency,decene,decent,decenyl,decern,decess,deciare,decibel,decide,decided,decider,decidua,decil,decile,decima,decimal,deck,decke,decked,deckel,decker,deckie,decking,deckle,declaim,declare,declass,decline,declive,decoat,decoct,decode,decoic,decoke,decolor,decorum,decoy,decoyer,decream,decree,decreer,decreet,decrete,decrew,decrial,decried,decrier,decrown,decry,decuman,decuple,decuria,decurve,decury,decus,decyl,decylic,decyne,dedimus,dedo,deduce,deduct,dee,deed,deedbox,deedeed,deedful,deedily,deedy,deem,deemer,deemie,deep,deepen,deeping,deepish,deeply,deer,deerdog,deerlet,deevey,deface,defacer,defalk,defame,defamed,defamer,defassa,defat,default,defease,defeat,defect,defence,defend,defense,defer,defial,defiant,defiber,deficit,defier,defile,defiled,defiler,define,defined,definer,deflate,deflect,deflesh,deflex,defog,deforce,deform,defoul,defraud,defray,defrock,defrost,deft,deftly,defunct,defuse,defy,deg,degas,degauss,degerm,degged,degger,deglaze,degorge,degrade,degrain,degree,degu,degum,degust,dehair,dehisce,dehorn,dehors,dehort,dehull,dehusk,deice,deicer,deicide,deictic,deific,deifier,deiform,deify,deign,deink,deinos,deiseal,deism,deist,deistic,deity,deject,dejecta,dejeune,dekko,dekle,delaine,delapse,delate,delater,delator,delawn,delay,delayer,dele,delead,delenda,delete,delf,delft,delible,delict,delight,delime,delimit,delint,deliver,dell,deloul,delouse,delta,deltaic,deltal,deltic,deltoid,delude,deluder,deluge,deluxe,delve,delver,demagog,demal,demand,demarch,demark,demast,deme,demean,demency,dement,demerit,demesne,demi,demibob,demidog,demigod,demihag,demiman,demiowl,demiox,demiram,demirep,demise,demiss,demit,demivol,demob,demoded,demoid,demon,demonic,demonry,demos,demote,demotic,demount,demulce,demure,demy,den,denaro,denary,denat,denda,dendral,dendric,dendron,dene,dengue,denial,denier,denim,denizen,dennet,denote,dense,densely,densen,densher,densify,density,dent,dental,dentale,dentary,dentata,dentate,dentel,denter,dentex,dentil,dentile,dentin,dentine,dentist,dentoid,denture,denty,denude,denuder,deny,deodand,deodara,deota,depa,depaint,depark,depart,depas,depass,depend,depeter,dephase,depict,deplane,deplete,deplore,deploy,deplume,deplump,depoh,depone,deport,deposal,depose,deposer,deposit,depot,deprave,depress,deprint,deprive,depside,depth,depthen,depute,deputy,dequeen,derah,deraign,derail,derange,derat,derate,derater,deray,derby,dere,dereism,deric,deride,derider,derival,derive,derived,deriver,derm,derma,dermad,dermal,dermic,dermis,dermoid,dermol,dern,dernier,derout,derrick,derride,derries,derry,dertrum,derust,dervish,desalt,desand,descale,descant,descend,descent,descort,descry,deseed,deseret,desert,deserve,desex,desi,desight,design,desire,desired,desirer,desist,desize,desk,deslime,desma,desman,desmic,desmid,desmine,desmoid,desmoma,desmon,despair,despect,despise,despite,despoil,despond,despot,dess,dessa,dessert,dessil,destain,destine,destiny,destour,destroy,desuete,desugar,desyl,detach,detail,detain,detar,detax,detect,detent,deter,deterge,detest,detin,detinet,detinue,detour,detract,detrain,detrude,detune,detur,deuce,deuced,deul,deuton,dev,deva,devall,devalue,devance,devast,devata,develin,develop,devest,deviant,deviate,device,devil,deviled,deviler,devilet,devilry,devily,devious,devisal,devise,devisee,deviser,devisor,devoice,devoid,devoir,devolve,devote,devoted,devotee,devoter,devour,devout,devow,devvel,dew,dewan,dewanee,dewater,dewax,dewbeam,dewclaw,dewcup,dewdamp,dewdrop,dewer,dewfall,dewily,dewlap,dewless,dewlike,dewool,deworm,dewret,dewtry,dewworm,dewy,dexter,dextrad,dextral,dextran,dextrin,dextro,dey,deyship,dezinc,dha,dhabb,dhai,dhak,dhamnoo,dhan,dhangar,dhanuk,dhanush,dharana,dharani,dharma,dharna,dhaura,dhauri,dhava,dhaw,dheri,dhobi,dhole,dhoni,dhoon,dhoti,dhoul,dhow,dhu,dhunchi,dhurra,dhyal,dhyana,di,diabase,diacid,diacle,diacope,diact,diactin,diadem,diaderm,diaene,diagram,dial,dialect,dialer,dialin,dialing,dialist,dialkyl,diallel,diallyl,dialyze,diamb,diambic,diamide,diamine,diamond,dian,diander,dianite,diapase,diapasm,diaper,diaplex,diapsid,diarch,diarchy,diarial,diarian,diarist,diarize,diary,diastem,diaster,diasyrm,diatom,diaulic,diaulos,diaxial,diaxon,diazide,diazine,diazoic,diazole,diazoma,dib,dibase,dibasic,dibatag,dibber,dibble,dibbler,dibbuk,dibhole,dibrach,dibrom,dibs,dicast,dice,dicebox,dicecup,diceman,dicer,dicetyl,dich,dichas,dichord,dicing,dick,dickens,dicker,dickey,dicky,dicolic,dicolon,dicot,dicotyl,dicta,dictate,dictic,diction,dictum,dicycle,did,didder,diddle,diddler,diddy,didelph,didie,didine,didle,didna,didnt,didromy,didst,didym,didymia,didymus,die,dieb,dieback,diedral,diedric,diehard,dielike,diem,diene,dier,diesel,diesis,diet,dietal,dietary,dieter,diethyl,dietic,dietics,dietine,dietist,diewise,diffame,differ,diffide,difform,diffuse,dig,digamma,digamy,digenic,digeny,digest,digger,digging,dight,dighter,digit,digital,digitus,diglot,diglyph,digmeat,dignify,dignity,digram,digraph,digress,digs,dihalo,diiamb,diiodo,dika,dikage,dike,diker,diketo,dikkop,dilate,dilated,dilater,dilator,dildo,dilemma,dilker,dill,dilli,dillier,dilling,dillue,dilluer,dilly,dilo,dilogy,diluent,dilute,diluted,dilutee,diluter,dilutor,diluvia,dim,dimber,dimble,dime,dimer,dimeran,dimeric,dimeter,dimiss,dimit,dimity,dimly,dimmed,dimmer,dimmest,dimmet,dimmish,dimness,dimoric,dimorph,dimple,dimply,dimps,dimpsy,din,dinar,dinder,dindle,dine,diner,dineric,dinero,dinette,ding,dingar,dingbat,dinge,dingee,dinghee,dinghy,dingily,dingle,dingly,dingo,dingus,dingy,dinic,dinical,dining,dinitro,dink,dinkey,dinkum,dinky,dinmont,dinner,dinnery,dinomic,dinsome,dint,dinus,diobely,diobol,diocese,diode,diodont,dioecy,diol,dionise,dionym,diopter,dioptra,dioptry,diorama,diorite,diose,diosmin,diota,diotic,dioxane,dioxide,dioxime,dioxy,dip,dipetto,diphase,diphead,diplex,diploe,diploic,diploid,diplois,diploma,diplont,diplopy,dipnoan,dipnoid,dipode,dipodic,dipody,dipolar,dipole,diporpa,dipped,dipper,dipping,dipsas,dipsey,dipter,diptote,diptych,dipware,dipygus,dipylon,dipyre,dird,dirdum,dire,direct,direful,direly,dirempt,dirge,dirgler,dirhem,dirk,dirl,dirndl,dirt,dirten,dirtily,dirty,dis,disable,disagio,disally,disarm,disavow,disawa,disazo,disband,disbar,disbark,disbody,disbud,disbury,disc,discage,discal,discard,discase,discept,discern,discerp,discoid,discord,discous,discus,discuss,disdain,disdub,disease,disedge,diseme,disemic,disfame,disfen,disgig,disglut,disgood,disgown,disgulf,disgust,dish,dished,dishelm,disher,dishful,dishome,dishorn,dishpan,dishrag,disject,disjoin,disjune,disk,disleaf,dislike,dislimn,dislink,dislip,disload,dislove,dismain,dismal,disman,dismark,dismask,dismast,dismay,disme,dismiss,disna,disnest,disnew,disobey,disodic,disomic,disomus,disorb,disown,dispark,dispart,dispel,dispend,display,dispone,dispope,disport,dispose,dispost,dispulp,dispute,disrank,disrate,disring,disrobe,disroof,disroot,disrump,disrupt,diss,disseat,dissect,dissent,dissert,dissoul,dissuit,distad,distaff,distain,distal,distale,distant,distend,distent,distich,distill,distome,distort,distune,disturb,disturn,disuse,diswood,disyoke,dit,dita,dital,ditch,ditcher,dite,diter,dither,dithery,dithion,ditolyl,ditone,dittamy,dittany,dittay,dittied,ditto,ditty,diurnal,diurne,div,diva,divan,divata,dive,divel,diver,diverge,divers,diverse,divert,divest,divide,divided,divider,divine,diviner,diving,divinyl,divisor,divorce,divot,divoto,divulge,divulse,divus,divvy,diwata,dixie,dixit,dixy,dizain,dizen,dizoic,dizzard,dizzily,dizzy,djave,djehad,djerib,djersa,do,doab,doable,doarium,doat,doated,doater,doating,doatish,dob,dobbed,dobber,dobbin,dobbing,dobby,dobe,dobla,doblon,dobra,dobrao,dobson,doby,doc,docent,docible,docile,docity,dock,dockage,docken,docker,docket,dockize,dockman,docmac,doctor,doctrix,dod,dodd,doddart,dodded,dodder,doddery,doddie,dodding,doddle,doddy,dodecyl,dodge,dodger,dodgery,dodgily,dodgy,dodkin,dodlet,dodman,dodo,dodoism,dodrans,doe,doebird,doeglic,doer,does,doeskin,doesnt,doest,doff,doffer,dog,dogal,dogate,dogbane,dogbite,dogblow,dogboat,dogbolt,dogbush,dogcart,dogdom,doge,dogedom,dogface,dogfall,dogfish,dogfoot,dogged,dogger,doggery,doggess,doggish,doggo,doggone,doggrel,doggy,doghead,doghole,doghood,dogie,dogless,doglike,dogly,dogma,dogman,dogmata,dogs,dogship,dogskin,dogtail,dogtie,dogtrot,dogvane,dogwood,dogy,doigt,doiled,doily,doina,doing,doings,doit,doited,doitkin,doke,dokhma,dola,dolabra,dolcan,dolcian,dolcino,doldrum,dole,doleful,dolent,doless,doli,dolia,dolina,doline,dolium,doll,dollar,dolldom,dollier,dollish,dollop,dolly,dolman,dolmen,dolor,dolose,dolous,dolphin,dolt,doltish,dom,domain,domal,domba,dome,doment,domer,domett,domic,domical,domine,dominie,domino,dominus,domite,domitic,domn,domnei,domoid,dompt,domy,don,donable,donary,donate,donated,donatee,donator,donax,done,donee,doney,dong,donga,dongon,donjon,donkey,donna,donnert,donnish,donnism,donnot,donor,donship,donsie,dont,donum,doob,doocot,doodab,doodad,doodle,doodler,dooja,dook,dooket,dookit,dool,doolee,dooley,dooli,doolie,dooly,doom,doomage,doomer,doomful,dooms,doon,door,doorba,doorboy,doored,doorman,doorway,dop,dopa,dopatta,dope,doper,dopey,dopper,doppia,dor,dorab,dorad,dorado,doree,dorhawk,doria,dorje,dorlach,dorlot,dorm,dormant,dormer,dormie,dormy,dorn,dorneck,dornic,dornick,dornock,dorp,dorsad,dorsal,dorsale,dorsel,dorser,dorsum,dorter,dorts,dorty,doruck,dory,dos,dosa,dosadh,dosage,dose,doser,dosis,doss,dossal,dossel,dosser,dossier,dossil,dossman,dot,dotage,dotal,dotard,dotardy,dotate,dotchin,dote,doted,doter,doting,dotish,dotkin,dotless,dotlike,dotted,dotter,dottily,dotting,dottle,dottler,dotty,doty,douar,double,doubled,doubler,doublet,doubly,doubt,doubter,douc,douce,doucely,doucet,douche,doucin,doucine,doudle,dough,dought,doughty,doughy,doum,doup,douping,dour,dourine,dourly,douse,douser,dout,douter,doutous,dove,dovecot,dovekey,dovekie,dovelet,dover,dovish,dow,dowable,dowager,dowcet,dowd,dowdily,dowdy,dowed,dowel,dower,doweral,dowery,dowf,dowie,dowily,dowitch,dowl,dowlas,dowless,down,downby,downcry,downcut,downer,downily,downlie,downset,downway,downy,dowp,dowry,dowse,dowser,dowset,doxa,doxy,doze,dozed,dozen,dozener,dozenth,dozer,dozily,dozy,dozzled,drab,drabbet,drabble,drabby,drably,drachm,drachma,dracma,draff,draffy,draft,draftee,drafter,drafty,drag,dragade,dragbar,dragged,dragger,draggle,draggly,draggy,dragman,dragnet,drago,dragon,dragoon,dragsaw,drail,drain,draine,drained,drainer,drake,dram,drama,dramm,dramme,drammed,drammer,drang,drank,drant,drape,draper,drapery,drassid,drastic,drat,drate,dratted,draught,dravya,draw,drawarm,drawbar,drawboy,drawcut,drawee,drawer,drawers,drawing,drawk,drawl,drawler,drawly,drawn,drawnet,drawoff,drawout,drawrod,dray,drayage,drayman,drazel,dread,dreader,dreadly,dream,dreamer,dreamsy,dreamt,dreamy,drear,drearly,dreary,dredge,dredger,dree,dreep,dreepy,dreg,dreggy,dregs,drench,dreng,dress,dressed,dresser,dressy,drest,drew,drewite,drias,drib,dribble,driblet,driddle,dried,drier,driest,drift,drifter,drifty,drill,driller,drillet,dringle,drink,drinker,drinn,drip,dripper,dripple,drippy,drisk,drivage,drive,drivel,driven,driver,driving,drizzle,drizzly,droddum,drogh,drogher,drogue,droit,droll,drolly,drome,dromic,dromond,dromos,drona,dronage,drone,droner,drongo,dronish,drony,drool,droop,drooper,droopt,droopy,drop,droplet,dropman,dropout,dropper,droppy,dropsy,dropt,droshky,drosky,dross,drossel,drosser,drossy,drostdy,droud,drought,drouk,drove,drover,drovy,drow,drown,drowner,drowse,drowsy,drub,drubber,drubbly,drucken,drudge,drudger,druery,drug,drugger,drugget,druggy,drugman,druid,druidic,druidry,druith,drum,drumble,drumlin,drumly,drummer,drummy,drung,drungar,drunk,drunken,drupal,drupe,drupel,druse,drusy,druxy,dry,dryad,dryadic,dryas,drycoal,dryfoot,drying,dryish,dryly,dryness,dryster,dryth,duad,duadic,dual,duali,dualin,dualism,dualist,duality,dualize,dually,duarch,duarchy,dub,dubash,dubb,dubba,dubbah,dubber,dubbing,dubby,dubiety,dubious,dubs,ducal,ducally,ducape,ducat,ducato,ducdame,duces,duchess,duchy,duck,ducker,duckery,duckie,ducking,duckpin,duct,ducted,ductile,duction,ductor,ductule,dud,dudaim,dudder,duddery,duddies,dude,dudeen,dudgeon,dudine,dudish,dudism,dudler,dudley,dudman,due,duel,dueler,dueling,duelist,duello,dueness,duenna,duer,duet,duff,duffel,duffer,duffing,dufoil,dufter,duftery,dug,dugal,dugdug,duggler,dugong,dugout,dugway,duhat,duiker,duim,duit,dujan,duke,dukedom,dukely,dukery,dukhn,dukker,dulbert,dulcet,dulcian,dulcify,dulcose,duledge,duler,dulia,dull,dullard,duller,dullery,dullify,dullish,dullity,dully,dulosis,dulotic,dulse,dult,dultie,duly,dum,duma,dumaist,dumb,dumba,dumbcow,dumbly,dumdum,dummel,dummy,dumose,dump,dumpage,dumper,dumpily,dumping,dumpish,dumple,dumpoke,dumpy,dumsola,dun,dunair,dunal,dunbird,dunce,duncery,dunch,duncify,duncish,dunder,dune,dunfish,dung,dungeon,dunger,dungol,dungon,dungy,dunite,dunk,dunker,dunlin,dunnage,dunne,dunner,dunness,dunnish,dunnite,dunnock,dunny,dunst,dunt,duntle,duny,duo,duodena,duodene,duole,duopod,duopoly,duotone,duotype,dup,dupable,dupe,dupedom,duper,dupery,dupion,dupla,duple,duplet,duplex,duplify,duplone,duppy,dura,durable,durably,durain,dural,duramen,durance,durant,durax,durbar,dure,durene,durenol,duress,durgan,durian,during,durity,durmast,durn,duro,durra,durrie,durrin,durry,durst,durwaun,duryl,dusack,duscle,dush,dusio,dusk,dusken,duskily,duskish,duskly,dusky,dust,dustbin,dustbox,dustee,duster,dustily,dusting,dustman,dustpan,dustuck,dusty,dutch,duteous,dutied,dutiful,dutra,duty,duumvir,duvet,duvetyn,dux,duyker,dvaita,dvandva,dwale,dwalm,dwang,dwarf,dwarfy,dwell,dwelled,dweller,dwelt,dwindle,dwine,dyad,dyadic,dyarchy,dyaster,dyce,dye,dyeable,dyeing,dyer,dyester,dyeware,dyeweed,dyewood,dying,dyingly,dyke,dyker,dynamic,dynamis,dynamo,dynast,dynasty,dyne,dyphone,dyslogy,dysnomy,dyspnea,dystome,dysuria,dysuric,dzeren,e,ea,each,eager,eagerly,eagle,eagless,eaglet,eagre,ean,ear,earache,earbob,earcap,eardrop,eardrum,eared,earful,earhole,earing,earl,earlap,earldom,earless,earlet,earlike,earlish,earlock,early,earmark,earn,earner,earnest,earnful,earning,earpick,earplug,earring,earshot,earsore,eartab,earth,earthed,earthen,earthly,earthy,earwax,earwig,earworm,earwort,ease,easeful,easel,easer,easier,easiest,easily,easing,east,easter,eastern,easting,easy,eat,eatable,eatage,eaten,eater,eatery,eating,eats,eave,eaved,eaver,eaves,ebb,ebbman,eboe,ebon,ebonist,ebonite,ebonize,ebony,ebriate,ebriety,ebrious,ebulus,eburine,ecad,ecanda,ecarte,ecbatic,ecbole,ecbolic,ecdemic,ecderon,ecdysis,ecesic,ecesis,eche,echea,echelon,echidna,echinal,echinid,echinus,echo,echoer,echoic,echoism,echoist,echoize,ecize,ecklein,eclair,eclat,eclegm,eclegma,eclipse,eclogue,ecoid,ecole,ecology,economy,ecotone,ecotype,ecphore,ecru,ecstasy,ectad,ectal,ectally,ectasia,ectasis,ectatic,ectene,ecthyma,ectiris,ectopia,ectopic,ectopy,ectozoa,ectypal,ectype,eczema,edacity,edaphic,edaphon,edder,eddish,eddo,eddy,edea,edeagra,edeitis,edema,edemic,edenite,edental,edestan,edestin,edge,edged,edgeman,edger,edging,edgrew,edgy,edh,edible,edict,edictal,edicule,edifice,edifier,edify,edit,edital,edition,editor,educand,educate,educe,educive,educt,eductor,eegrass,eel,eelboat,eelbob,eelcake,eeler,eelery,eelfare,eelfish,eellike,eelpot,eelpout,eelshop,eelskin,eelware,eelworm,eely,eer,eerie,eerily,effable,efface,effacer,effect,effects,effendi,effete,effigy,efflate,efflux,efform,effort,effulge,effund,effuse,eft,eftest,egad,egality,egence,egeran,egest,egesta,egg,eggcup,egger,eggfish,egghead,egghot,egging,eggler,eggless,egglike,eggnog,eggy,egilops,egipto,egma,ego,egohood,egoism,egoist,egoity,egoize,egoizer,egol,egomism,egotism,egotist,egotize,egress,egret,eh,eheu,ehlite,ehuawa,eident,eider,eidetic,eidolic,eidolon,eight,eighth,eighty,eigne,eimer,einkorn,eisodic,either,eject,ejecta,ejector,ejoo,ekaha,eke,eker,ekerite,eking,ekka,ekphore,ektene,ektenes,el,elaidic,elaidin,elain,elaine,elance,eland,elanet,elapid,elapine,elapoid,elapse,elastic,elastin,elatcha,elate,elated,elater,elation,elative,elator,elb,elbow,elbowed,elbower,elbowy,elcaja,elchee,eld,elder,elderly,eldest,eldin,elding,eldress,elect,electee,electly,elector,electro,elegant,elegiac,elegist,elegit,elegize,elegy,eleidin,element,elemi,elemin,elench,elenchi,elenge,elevate,eleven,elevon,elf,elfhood,elfic,elfin,elfish,elfkin,elfland,elflike,elflock,elfship,elfwife,elfwort,elicit,elide,elision,elisor,elite,elixir,elk,elkhorn,elkslip,elkwood,ell,ellagic,elle,elleck,ellfish,ellipse,ellops,ellwand,elm,elmy,elocute,elod,eloge,elogium,eloign,elope,eloper,elops,els,else,elsehow,elsin,elt,eluate,elude,eluder,elusion,elusive,elusory,elute,elution,elutor,eluvial,eluvium,elvan,elver,elves,elvet,elvish,elysia,elytral,elytrin,elytron,elytrum,em,emanant,emanate,emanium,emarcid,emball,embalm,embank,embar,embargo,embark,embassy,embathe,embay,embed,embelic,ember,embind,embira,emblaze,emblem,emblema,emblic,embody,embog,embole,embolic,embolo,embolum,embolus,emboly,embosom,emboss,embound,embow,embowed,embowel,embower,embox,embrace,embrail,embroil,embrown,embryo,embryon,embuia,embus,embusk,emcee,eme,emeer,emend,emender,emerald,emerge,emerize,emerse,emersed,emery,emesis,emetic,emetine,emgalla,emigree,eminent,emir,emirate,emit,emitter,emma,emmenic,emmer,emmet,emodin,emoloa,emote,emotion,emotive,empall,empanel,empaper,empark,empasm,empathy,emperor,empery,empire,empiric,emplace,emplane,employ,emplume,emporia,empower,empress,emprise,empt,emptier,emptily,emptins,emption,emptor,empty,empyema,emu,emulant,emulate,emulous,emulsin,emulsor,emyd,emydian,en,enable,enabler,enact,enactor,enaena,enage,enalid,enam,enamber,enamdar,enamel,enamor,enapt,enarbor,enarch,enarm,enarme,enate,enatic,enation,enbrave,encage,encake,encamp,encase,encash,encauma,encave,encell,enchain,enchair,enchant,enchase,enchest,encina,encinal,encist,enclasp,enclave,encloak,enclose,encloud,encoach,encode,encoil,encolor,encomia,encomic,encoop,encore,encowl,encraal,encraty,encreel,encrisp,encrown,encrust,encrypt,encup,encurl,encyst,end,endable,endarch,endaze,endear,ended,endemic,ender,endere,enderon,endevil,endew,endgate,ending,endite,endive,endless,endlong,endmost,endogen,endome,endopod,endoral,endore,endorse,endoss,endotys,endow,endower,endozoa,endue,endura,endure,endurer,endways,endwise,endyma,endymal,endysis,enema,enemy,energic,energid,energy,eneuch,eneugh,enface,enfelon,enfeoff,enfever,enfile,enfiled,enflesh,enfoil,enfold,enforce,enfork,enfoul,enframe,enfree,engage,engaged,engager,engaol,engarb,engaud,engaze,engem,engild,engine,engird,engirt,englad,englobe,engloom,englory,englut,englyn,engobe,engold,engore,engorge,engrace,engraff,engraft,engrail,engrain,engram,engrasp,engrave,engreen,engross,enguard,engulf,enhalo,enhance,enhat,enhaunt,enheart,enhedge,enhelm,enherit,enhusk,eniac,enigma,enisle,enjail,enjamb,enjelly,enjewel,enjoin,enjoy,enjoyer,enkraal,enlace,enlard,enlarge,enleaf,enlief,enlife,enlight,enlink,enlist,enliven,enlock,enlodge,enmask,enmass,enmesh,enmist,enmity,enmoss,ennead,ennerve,enniche,ennoble,ennoic,ennomic,ennui,enocyte,enodal,enoil,enol,enolate,enolic,enolize,enomoty,enoplan,enorm,enough,enounce,enow,enplane,enquire,enquiry,enrace,enrage,enraged,enrange,enrank,enrapt,enray,enrib,enrich,enring,enrive,enrobe,enrober,enrol,enroll,enroot,enrough,enruin,enrut,ens,ensaint,ensand,ensate,enscene,ense,enseam,enseat,enseem,enserf,ensete,enshade,enshawl,enshell,ensign,ensile,ensky,enslave,ensmall,ensnare,ensnarl,ensnow,ensoul,enspell,enstamp,enstar,enstate,ensteel,enstool,enstore,ensuant,ensue,ensuer,ensure,ensurer,ensweep,entach,entad,entail,ental,entame,entasia,entasis,entelam,entente,enter,enteral,enterer,enteria,enteric,enteron,entheal,enthral,enthuse,entia,entice,enticer,entify,entire,entiris,entitle,entity,entoil,entomb,entomic,entone,entopic,entotic,entozoa,entrail,entrain,entrant,entrap,entreat,entree,entropy,entrust,entry,entwine,entwist,enure,enurny,envapor,envault,enveil,envelop,envenom,envied,envier,envious,environ,envoy,envy,envying,enwiden,enwind,enwisen,enwoman,enwomb,enwood,enwound,enwrap,enwrite,enzone,enzooty,enzym,enzyme,enzymic,eoan,eolith,eon,eonism,eophyte,eosate,eoside,eosin,eosinic,eozoon,epacme,epacrid,epact,epactal,epagoge,epanody,eparch,eparchy,epaule,epaulet,epaxial,epee,epeeist,epeiric,epeirid,epergne,epha,ephah,ephebe,ephebic,ephebos,ephebus,ephelis,ephetae,ephete,ephetic,ephod,ephor,ephoral,ephoric,ephorus,ephyra,epibole,epiboly,epic,epical,epicarp,epicede,epicele,epicene,epichil,epicism,epicist,epicly,epicure,epicyte,epidemy,epiderm,epidote,epigeal,epigean,epigeic,epigene,epigone,epigram,epigyne,epigyny,epihyal,epikeia,epilate,epilobe,epimer,epimere,epimyth,epinaos,epinine,epiotic,epipial,episode,epistle,epitaph,epitela,epithem,epithet,epitoke,epitome,epiural,epizoa,epizoal,epizoan,epizoic,epizoon,epoch,epocha,epochal,epode,epodic,eponym,eponymy,epopee,epopt,epoptes,epoptic,epos,epsilon,epulary,epulis,epulo,epuloid,epural,epurate,equable,equably,equal,equally,equant,equate,equator,equerry,equid,equine,equinia,equinox,equinus,equip,equiped,equison,equites,equity,equoid,er,era,erade,eral,eranist,erase,erased,eraser,erasion,erasure,erbia,erbium,erd,erdvark,ere,erect,erecter,erectly,erector,erelong,eremic,eremite,erenach,erenow,erepsin,erept,ereptic,erethic,erg,ergal,ergasia,ergates,ergodic,ergoism,ergon,ergot,ergoted,ergotic,ergotin,ergusia,eria,eric,ericad,erical,ericius,ericoid,erika,erikite,erineum,erinite,erinose,eristic,erizo,erlking,ermelin,ermine,ermined,erminee,ermines,erne,erode,eroded,erodent,erogeny,eros,erose,erosely,erosion,erosive,eroteme,erotic,erotica,erotism,err,errable,errancy,errand,errant,errata,erratic,erratum,errhine,erring,errite,error,ers,ersatz,erth,erthen,erthly,eruc,eruca,erucic,erucin,eruct,erudit,erudite,erugate,erupt,eryngo,es,esca,escalan,escalin,escalop,escape,escapee,escaper,escarp,eschar,eschara,escheat,eschew,escoba,escolar,escort,escribe,escrol,escrow,escudo,esculin,esere,eserine,esexual,eshin,esker,esne,esodic,esotery,espadon,esparto,espave,espial,espier,espinal,espino,esplees,espouse,espy,esquire,ess,essang,essay,essayer,essed,essence,essency,essling,essoin,estadal,estadio,estado,estamp,estate,esteem,ester,estevin,estival,estmark,estoc,estoile,estop,estrade,estray,estre,estreat,estrepe,estrin,estriol,estrone,estrous,estrual,estuary,estufa,estuous,estus,eta,etacism,etacist,etalon,etamine,etch,etcher,etching,eternal,etesian,ethal,ethanal,ethane,ethanol,ethel,ethene,ethenic,ethenol,ethenyl,ether,ethered,etheric,etherin,ethic,ethical,ethics,ethid,ethide,ethine,ethiops,ethmoid,ethnal,ethnic,ethnize,ethnos,ethos,ethoxyl,ethrog,ethyl,ethylic,ethylin,ethyne,ethynyl,etiolin,etna,ettle,etua,etude,etui,etym,etymic,etymon,etypic,eu,euaster,eucaine,euchre,euchred,euclase,eucone,euconic,eucrasy,eucrite,euge,eugenic,eugenol,eugeny,eulalia,eulogia,eulogic,eulogy,eumenid,eunicid,eunomy,eunuch,euonym,euonymy,euouae,eupad,eupathy,eupepsy,euphemy,euphon,euphone,euphony,euphory,euphroe,eupione,euploid,eupnea,eureka,euripus,eurite,eurobin,euryon,eusol,eustyle,eutaxic,eutaxy,eutexia,eutony,evacue,evacuee,evade,evader,evalue,evangel,evanish,evase,evasion,evasive,eve,evejar,evelong,even,evener,evening,evenly,evens,event,eveque,ever,evert,evertor,everwho,every,evestar,evetide,eveweed,evict,evictor,evident,evil,evilly,evince,evirate,evisite,evitate,evocate,evoe,evoke,evoker,evolute,evolve,evolver,evovae,evulse,evzone,ewder,ewe,ewer,ewerer,ewery,ewry,ex,exact,exacter,exactly,exactor,exalate,exalt,exalted,exalter,exam,examen,examine,example,exarate,exarch,exarchy,excamb,excave,exceed,excel,except,excerpt,excess,excide,exciple,excise,excisor,excite,excited,exciter,excitor,exclaim,exclave,exclude,excreta,excrete,excurse,excusal,excuse,excuser,excuss,excyst,exdie,exeat,execute,exedent,exedra,exegete,exempt,exequy,exergue,exert,exes,exeunt,exflect,exhale,exhaust,exhibit,exhort,exhume,exhumer,exigent,exile,exiler,exilian,exilic,exility,exist,exister,exit,exite,exition,exitus,exlex,exocarp,exocone,exode,exoderm,exodic,exodist,exodos,exodus,exody,exogamy,exogen,exogeny,exomion,exomis,exon,exoner,exopod,exordia,exormia,exosmic,exostra,exotic,exotism,expand,expanse,expect,expede,expel,expend,expense,expert,expiate,expire,expiree,expirer,expiry,explain,explant,explode,exploit,explore,expone,export,exposal,expose,exposed,exposer,exposit,expound,express,expugn,expulse,expunge,expurge,exradio,exscind,exsect,exsert,exship,exsurge,extant,extend,extense,extent,exter,extern,externe,extima,extinct,extine,extol,extoll,extort,extra,extract,extrait,extreme,extrude,extund,exudate,exude,exult,exultet,exuviae,exuvial,ey,eyah,eyalet,eyas,eye,eyeball,eyebalm,eyebar,eyebeam,eyebolt,eyebree,eyebrow,eyecup,eyed,eyedot,eyedrop,eyeflap,eyeful,eyehole,eyelash,eyeless,eyelet,eyelid,eyelike,eyeline,eyemark,eyen,eyepit,eyer,eyeroot,eyeseed,eyeshot,eyesome,eyesore,eyespot,eyewash,eyewear,eyewink,eyewort,eyey,eying,eyn,eyne,eyot,eyoty,eyra,eyre,eyrie,eyrir,ezba,f,fa,fabella,fabes,fable,fabled,fabler,fabliau,fabling,fabric,fabular,facadal,facade,face,faced,faceman,facer,facet,facete,faceted,facia,facial,faciend,facient,facies,facile,facing,fack,fackins,facks,fact,factful,faction,factish,factive,factor,factory,factrix,factual,factum,facture,facty,facula,facular,faculty,facund,facy,fad,fadable,faddish,faddism,faddist,faddle,faddy,fade,faded,fadedly,faden,fader,fadge,fading,fady,fae,faerie,faery,faff,faffle,faffy,fag,fagald,fage,fager,fagger,faggery,fagging,fagine,fagot,fagoter,fagoty,faham,fahlerz,fahlore,faience,fail,failing,faille,failure,fain,fainly,fains,faint,fainter,faintly,faints,fainty,faipule,fair,fairer,fairily,fairing,fairish,fairly,fairm,fairway,fairy,faith,faitour,fake,faker,fakery,fakir,faky,falbala,falcade,falcate,falcer,falces,falcial,falcon,falcula,faldage,faldfee,fall,fallace,fallacy,fallage,fallen,faller,falling,fallow,fallway,fally,falsary,false,falsely,falsen,falser,falsie,falsify,falsism,faltche,falter,falutin,falx,fam,famble,fame,fameful,familia,family,famine,famish,famous,famulus,fan,fana,fanal,fanam,fanatic,fanback,fancied,fancier,fancify,fancy,fand,fandom,fanega,fanfare,fanfoot,fang,fanged,fangle,fangled,fanglet,fangot,fangy,fanion,fanlike,fanman,fannel,fanner,fannier,fanning,fanon,fant,fantail,fantast,fantasy,fantod,fanweed,fanwise,fanwork,fanwort,faon,far,farad,faraday,faradic,faraway,farce,farcer,farcial,farcied,farcify,farcing,farcist,farcy,farde,fardel,fardh,fardo,fare,farer,farfara,farfel,fargood,farina,faring,farish,farl,farleu,farm,farmage,farmer,farmery,farming,farmost,farmy,farness,faro,farrago,farrand,farrier,farrow,farruca,farse,farseer,farset,farther,fasces,fascet,fascia,fascial,fascine,fascis,fascism,fascist,fash,fasher,fashery,fashion,fass,fast,fasten,faster,fasting,fastish,fastus,fat,fatal,fatally,fatbird,fate,fated,fateful,fathead,father,fathmur,fathom,fatidic,fatigue,fatiha,fatil,fatless,fatling,fatly,fatness,fatsia,fatten,fatter,fattily,fattish,fatty,fatuism,fatuity,fatuoid,fatuous,fatwood,faucal,fauces,faucet,faucial,faucre,faugh,fauld,fault,faulter,faulty,faun,faunal,faunish,faunist,faunule,fause,faust,fautor,fauve,favella,favilla,favism,favissa,favn,favor,favored,favorer,favose,favous,favus,fawn,fawner,fawnery,fawning,fawny,fay,fayles,faze,fazenda,fe,feague,feak,feal,fealty,fear,feared,fearer,fearful,feasor,feast,feasten,feaster,feat,feather,featly,featous,feature,featy,feaze,febrile,fecal,feces,feck,feckful,feckly,fecula,fecund,fed,feddan,federal,fee,feeable,feeble,feebly,feed,feedbin,feedbox,feeder,feeding,feedman,feedway,feedy,feel,feeler,feeless,feeling,feer,feere,feering,feetage,feeze,fegary,fei,feif,feigher,feign,feigned,feigner,feil,feint,feis,feist,feisty,felid,feline,fell,fellage,fellah,fellen,feller,fellic,felling,felloe,fellow,felly,feloid,felon,felonry,felony,fels,felsite,felt,felted,felter,felting,felty,felucca,felwort,female,feme,femic,feminal,feminie,feminin,femora,femoral,femur,fen,fenbank,fence,fencer,fenchyl,fencing,fend,fender,fendy,fenite,fenks,fenland,fenman,fennec,fennel,fennig,fennish,fenny,fensive,fent,fenter,feod,feodal,feodary,feoff,feoffee,feoffor,feower,feral,feralin,ferash,ferdwit,ferfet,feria,ferial,feridgi,ferie,ferine,ferity,ferk,ferling,ferly,fermail,ferme,ferment,fermery,fermila,fern,ferned,fernery,ferny,feroher,ferrado,ferrate,ferrean,ferret,ferrety,ferri,ferric,ferrier,ferrite,ferrous,ferrule,ferrum,ferry,fertile,feru,ferula,ferule,ferulic,fervent,fervid,fervor,fescue,fess,fessely,fest,festal,fester,festine,festive,festoon,festuca,fet,fetal,fetch,fetched,fetcher,fetial,fetid,fetidly,fetish,fetlock,fetlow,fetor,fetter,fettle,fettler,fetus,feu,feuage,feuar,feucht,feud,feudal,feudee,feudist,feued,feuille,fever,feveret,few,fewness,fewsome,fewter,fey,feyness,fez,fezzed,fezzy,fi,fiacre,fiance,fiancee,fiar,fiard,fiasco,fiat,fib,fibber,fibbery,fibdom,fiber,fibered,fibril,fibrin,fibrine,fibroid,fibroin,fibroma,fibrose,fibrous,fibry,fibster,fibula,fibulae,fibular,ficary,fice,ficelle,fiche,fichu,fickle,fickly,fico,ficoid,fictile,fiction,fictive,fid,fidalgo,fidate,fiddle,fiddler,fiddley,fide,fideism,fideist,fidfad,fidge,fidget,fidgety,fiducia,fie,fiefdom,field,fielded,fielder,fieldy,fiend,fiendly,fient,fierce,fiercen,fierily,fiery,fiesta,fife,fifer,fifie,fifish,fifo,fifteen,fifth,fifthly,fifty,fig,figaro,figbird,figent,figged,figgery,figging,figgle,figgy,fight,fighter,figless,figlike,figment,figural,figure,figured,figurer,figury,figworm,figwort,fike,fikie,filace,filacer,filao,filar,filaria,filasse,filate,filator,filbert,filch,filcher,file,filemot,filer,filet,filial,filiate,filibeg,filical,filicic,filicin,filiety,filing,filings,filippo,filite,fill,filled,filler,fillet,filleul,filling,fillip,fillock,filly,film,filmdom,filmet,filmic,filmily,filmish,filmist,filmize,filmy,filo,filose,fils,filter,filth,filthy,fimble,fimbria,fin,finable,finagle,final,finale,finally,finance,finback,finch,finched,find,findal,finder,finding,findjan,fine,fineish,finely,finer,finery,finesse,finetop,finfish,finfoot,fingent,finger,fingery,finial,finical,finick,finific,finify,finikin,fining,finis,finish,finite,finity,finjan,fink,finkel,finland,finless,finlet,finlike,finnac,finned,finner,finnip,finny,fiord,fiorded,fiorin,fiorite,fip,fipenny,fipple,fique,fir,firca,fire,firearm,firebox,fireboy,firebug,fired,firedog,firefly,firelit,fireman,firer,firetop,firing,firk,firker,firkin,firlot,firm,firman,firmer,firmly,firn,firring,firry,first,firstly,firth,fisc,fiscal,fise,fisetin,fish,fishbed,fished,fisher,fishery,fishet,fisheye,fishful,fishgig,fishify,fishily,fishing,fishlet,fishman,fishpot,fishway,fishy,fisnoga,fissate,fissile,fission,fissive,fissure,fissury,fist,fisted,fister,fistful,fistic,fistify,fisting,fistuca,fistula,fistule,fisty,fit,fitch,fitched,fitchee,fitcher,fitchet,fitchew,fitful,fitly,fitment,fitness,fitout,fitroot,fittage,fitted,fitten,fitter,fitters,fittily,fitting,fitty,fitweed,five,fivebar,fiver,fives,fix,fixable,fixage,fixate,fixatif,fixator,fixed,fixedly,fixer,fixing,fixity,fixture,fixure,fizgig,fizz,fizzer,fizzle,fizzy,fjeld,flabby,flabrum,flaccid,flack,flacked,flacker,flacket,flaff,flaffer,flag,flagger,flaggy,flaglet,flagman,flagon,flail,flair,flaith,flak,flakage,flake,flaker,flakily,flaky,flam,flamant,flamb,flame,flamed,flamen,flamer,flamfew,flaming,flamy,flan,flanch,flandan,flane,flange,flanger,flank,flanked,flanker,flanky,flannel,flanque,flap,flapper,flare,flaring,flary,flaser,flash,flasher,flashet,flashly,flashy,flask,flasker,flasket,flasque,flat,flatcap,flatcar,flatdom,flated,flathat,flatlet,flatly,flatman,flatten,flatter,flattie,flattop,flatus,flatway,flaught,flaunt,flaunty,flavedo,flavic,flavid,flavin,flavine,flavo,flavone,flavor,flavory,flavour,flaw,flawed,flawful,flawn,flawy,flax,flaxen,flaxman,flaxy,flay,flayer,flea,fleam,fleay,flebile,fleche,fleck,flecken,flecker,flecky,flector,fled,fledge,fledgy,flee,fleece,fleeced,fleecer,fleech,fleecy,fleer,fleerer,fleet,fleeter,fleetly,flemish,flench,flense,flenser,flerry,flesh,fleshed,fleshen,flesher,fleshly,fleshy,flet,fletch,flether,fleuret,fleury,flew,flewed,flewit,flews,flex,flexed,flexile,flexion,flexor,flexure,fley,flick,flicker,flicky,flidder,flier,fligger,flight,flighty,flimmer,flimp,flimsy,flinch,flinder,fling,flinger,flingy,flint,flinter,flinty,flioma,flip,flipe,flipper,flirt,flirter,flirty,flisk,flisky,flit,flitch,flite,fliting,flitter,flivver,flix,float,floater,floaty,flob,flobby,floc,floccus,flock,flocker,flocky,flocoon,flodge,floe,floey,flog,flogger,flokite,flong,flood,flooded,flooder,floody,floor,floorer,floozy,flop,flopper,floppy,flora,floral,floran,florate,floreal,florent,flores,floret,florid,florin,florist,floroon,florula,flory,flosh,floss,flosser,flossy,flot,flota,flotage,flotant,flotsam,flounce,flour,floury,flouse,flout,flouter,flow,flowage,flower,flowery,flowing,flown,flowoff,flu,fluate,fluavil,flub,flubdub,flucan,flue,flued,flueman,fluency,fluent,fluer,fluey,fluff,fluffer,fluffy,fluible,fluid,fluidal,fluidic,fluidly,fluke,fluked,flukily,fluking,fluky,flume,flummer,flummox,flump,flung,flunk,flunker,flunky,fluor,fluoran,fluoric,fluoryl,flurn,flurr,flurry,flush,flusher,flushy,flusk,flusker,fluster,flute,fluted,fluter,flutina,fluting,flutist,flutter,fluty,fluvial,flux,fluxer,fluxile,fluxion,fly,flyable,flyaway,flyback,flyball,flybane,flybelt,flyblow,flyboat,flyboy,flyer,flyflap,flying,flyleaf,flyless,flyman,flyness,flype,flytail,flytier,flytrap,flyway,flywort,foal,foaly,foam,foambow,foamer,foamily,foaming,foamy,fob,focal,focally,foci,focoids,focsle,focus,focuser,fod,fodda,fodder,foder,fodge,fodgel,fodient,foe,foehn,foeish,foeless,foelike,foeman,foeship,fog,fogbow,fogdog,fogdom,fogey,foggage,fogged,fogger,foggily,foggish,foggy,foghorn,fogle,fogless,fogman,fogo,fogon,fogou,fogram,fogus,fogy,fogydom,fogyish,fogyism,fohat,foible,foil,foiler,foiling,foining,foison,foist,foister,foisty,foiter,fold,foldage,folded,folden,folder,folding,foldure,foldy,fole,folia,foliage,folial,foliar,foliary,foliate,folie,folio,foliole,foliose,foliot,folious,folium,folk,folkmot,folksy,folkway,folky,folles,follis,follow,folly,foment,fomes,fomites,fondak,fondant,fondish,fondle,fondler,fondly,fondu,fondue,fonduk,fonly,fonnish,fono,fons,font,fontal,fonted,fontful,fontlet,foo,food,fooder,foodful,foody,fool,fooldom,foolery,fooless,fooling,foolish,fooner,fooster,foot,footage,footboy,footed,footer,footful,foothot,footing,footle,footler,footman,footpad,foots,footway,footy,foozle,foozler,fop,fopling,foppery,foppish,foppy,fopship,for,fora,forage,forager,foramen,forane,foray,forayer,forb,forbade,forbar,forbear,forbid,forbit,forbled,forblow,forbore,forbow,forby,force,forced,forceps,forcer,forche,forcing,ford,fordays,fording,fordo,fordone,fordy,fore,foreact,forearm,forebay,forecar,foreday,forefin,forefit,forego,foreign,forel,forelay,foreleg,foreman,forepad,forepaw,foreran,forerib,forerun,foresay,foresee,foreset,foresin,forest,foresty,foretop,foreuse,forever,forevow,forfar,forfare,forfars,forfeit,forfend,forge,forged,forger,forgery,forget,forgie,forging,forgive,forgo,forgoer,forgot,forgrow,forhoo,forhooy,forhow,forint,fork,forked,forker,forkful,forkman,forky,forleft,forlet,forlorn,form,formal,formant,format,formate,forme,formed,formee,formel,formene,former,formful,formic,formin,forming,formose,formula,formule,formy,formyl,fornent,fornix,forpet,forpine,forpit,forrad,forrard,forride,forrit,forrue,forsake,forset,forslow,fort,forte,forth,forthgo,forthy,forties,fortify,fortin,fortis,fortlet,fortune,forty,forum,forward,forwean,forwent,fosh,fosie,fossa,fossage,fossane,fosse,fossed,fossick,fossil,fossor,fossula,fossule,fostell,foster,fot,fotch,fother,fotmal,fotui,fou,foud,fouette,fougade,fought,foughty,foujdar,foul,foulage,foulard,fouler,fouling,foulish,foully,foumart,foun,found,founder,foundry,fount,four,fourble,fourche,fourer,fourre,fourth,foussa,foute,fouter,fouth,fovea,foveal,foveate,foveola,foveole,fow,fowk,fowl,fowler,fowlery,fowling,fox,foxbane,foxchop,foxer,foxery,foxfeet,foxfish,foxhole,foxily,foxing,foxish,foxlike,foxship,foxskin,foxtail,foxwood,foxy,foy,foyaite,foyboat,foyer,fozy,fra,frab,frabbit,frabous,fracas,frache,frack,fracted,frae,fraghan,fragile,fraid,fraik,frail,frailly,frailty,fraise,fraiser,frame,framea,framed,framer,framing,frammit,franc,franco,frank,franker,frankly,frantic,franzy,frap,frappe,frasco,frase,frasier,frass,frat,fratch,fratchy,frater,fratery,fratry,fraud,fraught,frawn,fraxin,fray,frayed,fraying,frayn,fraze,frazer,frazil,frazzle,freak,freaky,fream,freath,freck,frecken,frecket,freckle,freckly,free,freed,freedom,freeing,freeish,freely,freeman,freer,freet,freety,freeway,freeze,freezer,freight,freir,freit,freity,fremd,fremdly,frenal,frenate,frenum,frenzy,fresco,fresh,freshen,freshet,freshly,fresnel,fresno,fret,fretful,frett,frette,fretted,fretter,fretty,fretum,friable,friand,friar,friarly,friary,frib,fribble,fribby,fried,friend,frier,frieze,friezer,friezy,frig,frigate,friggle,fright,frighty,frigid,frijol,frike,frill,frilled,friller,frilly,frim,fringe,fringed,fringy,frisca,frisk,frisker,frisket,frisky,frison,frist,frisure,frit,frith,fritt,fritter,frivol,frixion,friz,frize,frizer,frizz,frizzer,frizzle,frizzly,frizzy,fro,frock,froe,frog,frogbit,frogeye,frogged,froggy,frogleg,froglet,frogman,froise,frolic,from,frond,fronded,front,frontad,frontal,fronted,fronter,froom,frore,frory,frosh,frost,frosted,froster,frosty,frot,froth,frother,frothy,frotton,frough,froughy,frounce,frow,froward,frower,frowl,frown,frowner,frowny,frowst,frowsty,frowy,frowze,frowzly,frowzy,froze,frozen,fructed,frugal,fruggan,fruit,fruited,fruiter,fruity,frump,frumple,frumpy,frush,frustum,frutify,fry,fryer,fu,fub,fubby,fubsy,fucate,fuchsin,fuci,fucoid,fucosan,fucose,fucous,fucus,fud,fuddle,fuddler,fuder,fudge,fudger,fudgy,fuel,fueler,fuerte,fuff,fuffy,fugal,fugally,fuggy,fugient,fugle,fugler,fugu,fugue,fuguist,fuidhir,fuji,fulcral,fulcrum,fulfill,fulgent,fulgid,fulgide,fulgor,fulham,fulk,full,fullam,fuller,fullery,fulling,fullish,fullom,fully,fulmar,fulmine,fulsome,fulth,fulvene,fulvid,fulvous,fulwa,fulyie,fulzie,fum,fumado,fumage,fumaric,fumaryl,fumble,fumbler,fume,fumer,fumet,fumette,fumily,fuming,fumose,fumous,fumy,fun,fund,fundal,funded,funder,fundi,fundic,funds,fundus,funeral,funest,fungal,fungate,fungi,fungian,fungic,fungin,fungo,fungoid,fungose,fungous,fungus,fungusy,funicle,funis,funk,funker,funky,funnel,funnily,funny,funori,funt,fur,fural,furan,furazan,furbish,furca,furcal,furcate,furcula,furdel,furfur,furiant,furied,furify,furil,furilic,furiosa,furioso,furious,furison,furl,furler,furless,furlong,furnace,furnage,furner,furnish,furoic,furoid,furoin,furole,furor,furore,furphy,furred,furrier,furrily,furring,furrow,furrowy,furry,further,furtive,fury,furyl,furze,furzed,furzery,furzy,fusain,fusate,fusc,fuscin,fuscous,fuse,fused,fusee,fusht,fusible,fusibly,fusil,fusilly,fusion,fusoid,fuss,fusser,fussify,fussily,fussock,fussy,fust,fustee,fustet,fustian,fustic,fustily,fustin,fustle,fusty,fusuma,fusure,fut,futchel,fute,futhorc,futile,futtock,futural,future,futuric,futwa,fuye,fuze,fuzz,fuzzily,fuzzy,fyke,fylfot,fyrd,g,ga,gab,gabbard,gabber,gabble,gabbler,gabbro,gabby,gabelle,gabgab,gabi,gabion,gable,gablet,gablock,gaby,gad,gadbee,gadbush,gadded,gadder,gaddi,gadding,gaddish,gade,gadfly,gadge,gadger,gadget,gadid,gadling,gadman,gadoid,gadroon,gadsman,gaduin,gadwall,gaen,gaet,gaff,gaffe,gaffer,gaffle,gag,gagate,gage,gagee,gageite,gager,gagger,gaggery,gaggle,gaggler,gagman,gagor,gagroot,gahnite,gaiassa,gaiety,gaily,gain,gainage,gaine,gainer,gainful,gaining,gainly,gains,gainsay,gainset,gainst,gair,gait,gaited,gaiter,gaiting,gaize,gaj,gal,gala,galah,galanas,galanga,galant,galany,galatea,galaxy,galban,gale,galea,galeage,galeate,galee,galeeny,galeid,galena,galenic,galeoid,galera,galerum,galerus,galet,galey,galgal,gali,galilee,galiot,galipot,gall,galla,gallah,gallant,gallate,galled,gallein,galleon,galler,gallery,gallet,galley,gallfly,gallic,galline,galling,gallium,gallnut,gallon,galloon,gallop,gallous,gallows,gally,galoot,galop,galore,galosh,galp,galt,galumph,galuth,galyac,galyak,gam,gamahe,gamasid,gamb,gamba,gambade,gambado,gambang,gambeer,gambet,gambia,gambier,gambist,gambit,gamble,gambler,gamboge,gambol,gambrel,game,gamebag,gameful,gamely,gamene,gametal,gamete,gametic,gamic,gamily,gamin,gaming,gamma,gammer,gammick,gammock,gammon,gammy,gamont,gamori,gamp,gamut,gamy,gan,ganam,ganch,gander,gandul,gandum,gane,ganef,gang,ganga,gangan,gangava,gangdom,gange,ganger,ganging,gangism,ganglia,gangly,gangman,gangrel,gangue,gangway,ganja,ganner,gannet,ganoid,ganoin,ganosis,gansel,gansey,gansy,gant,ganta,gantang,gantlet,ganton,gantry,gantsl,ganza,ganzie,gaol,gaoler,gap,gapa,gape,gaper,gapes,gaping,gapo,gappy,gapy,gar,gara,garad,garage,garance,garava,garawi,garb,garbage,garbel,garbell,garbill,garble,garbler,garboil,garbure,garce,gardant,gardeen,garden,gardeny,gardy,gare,gareh,garetta,garfish,garget,gargety,gargle,gargol,garial,gariba,garish,garland,garle,garlic,garment,garn,garnel,garner,garnet,garnets,garnett,garnetz,garnice,garniec,garnish,garoo,garrafa,garran,garret,garrot,garrote,garrupa,garse,garsil,garston,garten,garter,garth,garum,garvey,garvock,gas,gasbag,gaseity,gaseous,gash,gashes,gashful,gashly,gashy,gasify,gasket,gaskin,gasking,gaskins,gasless,gaslit,gaslock,gasman,gasp,gasper,gasping,gaspy,gasser,gassing,gassy,gast,gaster,gastral,gastric,gastrin,gat,gata,gatch,gate,gateado,gateage,gated,gateman,gater,gateway,gather,gating,gator,gatter,gau,gaub,gauby,gauche,gaud,gaudery,gaudful,gaudily,gaudy,gaufer,gauffer,gauffre,gaufre,gauge,gauger,gauging,gaulin,gault,gaulter,gaum,gaumish,gaumy,gaun,gaunt,gaunted,gauntly,gauntry,gaunty,gaup,gaupus,gaur,gaus,gauss,gauster,gaut,gauze,gauzily,gauzy,gavall,gave,gavel,gaveler,gavial,gavotte,gavyuti,gaw,gawby,gawcie,gawk,gawkily,gawkish,gawky,gawm,gawn,gawney,gawsie,gay,gayal,gayatri,gaybine,gaycat,gayish,gayment,gayness,gaysome,gayyou,gaz,gazabo,gaze,gazebo,gazee,gazel,gazelle,gazer,gazette,gazi,gazing,gazon,gazy,ge,geal,gean,gear,gearbox,geared,gearing,gearman,gearset,gease,geason,geat,gebang,gebanga,gebbie,gebur,geck,gecko,geckoid,ged,gedackt,gedder,gedeckt,gedrite,gee,geebong,geebung,geejee,geek,geelbec,geerah,geest,geet,geezer,gegg,geggee,gegger,geggery,gein,geira,geisha,geison,geitjie,gel,gelable,gelada,gelatin,geld,geldant,gelder,gelding,gelid,gelidly,gelilah,gell,gelly,gelong,gelose,gelosin,gelt,gem,gemauve,gemel,gemeled,gemless,gemlike,gemma,gemmae,gemmate,gemmer,gemmily,gemmoid,gemmula,gemmule,gemmy,gemot,gemsbok,gemul,gemuti,gemwork,gen,gena,genal,genapp,genarch,gender,gene,genear,geneat,geneki,genep,genera,general,generic,genesic,genesis,genet,genetic,geneva,genial,genian,genic,genie,genii,genin,genion,genip,genipa,genipap,genista,genital,genitor,genius,genizah,genoese,genom,genome,genomic,genos,genre,genro,gens,genson,gent,genteel,gentes,gentian,gentile,gentle,gently,gentman,gentry,genty,genu,genua,genual,genuine,genus,genys,geo,geobios,geodal,geode,geodesy,geodete,geodic,geodist,geoduck,geoform,geogeny,geogony,geoid,geoidal,geology,geomaly,geomant,geomyid,geonoma,geopony,georama,georgic,geosid,geoside,geotaxy,geotic,geoty,ger,gerah,geranic,geranyl,gerate,gerated,geratic,geraty,gerb,gerbe,gerbil,gercrow,gerefa,gerenda,gerent,gerenuk,gerim,gerip,germ,germal,german,germane,germen,germin,germina,germing,germon,germule,germy,gernitz,geront,geronto,gers,gersum,gerund,gerusia,gervao,gesith,gesning,gesso,gest,gestant,gestate,geste,gested,gesten,gestic,gestion,gesture,get,geta,getah,getaway,gether,getling,getter,getting,getup,geum,gewgaw,gewgawy,gey,geyan,geyser,gez,ghafir,ghaist,ghalva,gharial,gharnao,gharry,ghastly,ghat,ghatti,ghatwal,ghazi,ghazism,ghebeta,ghee,gheleem,gherkin,ghetti,ghetto,ghizite,ghoom,ghost,ghoster,ghostly,ghosty,ghoul,ghrush,ghurry,giant,giantly,giantry,giardia,giarra,giarre,gib,gibaro,gibbals,gibbed,gibber,gibbet,gibbles,gibbon,gibbose,gibbous,gibbus,gibby,gibe,gibel,giber,gibing,gibleh,giblet,giblets,gibus,gid,giddap,giddea,giddify,giddily,giddy,gidgee,gie,gied,gien,gif,gift,gifted,giftie,gig,gigback,gigeria,gigful,gigger,giggish,giggit,giggle,giggler,giggly,giglet,giglot,gigman,gignate,gigolo,gigot,gigsman,gigster,gigtree,gigunu,gilbert,gild,gilded,gilden,gilder,gilding,gilguy,gilia,gilim,gill,gilled,giller,gillie,gilling,gilly,gilo,gilpy,gilse,gilt,giltcup,gim,gimbal,gimble,gimel,gimlet,gimlety,gimmal,gimmer,gimmick,gimp,gimped,gimper,gimping,gin,ging,ginger,gingery,gingham,gingili,gingiva,gink,ginkgo,ginned,ginner,ginners,ginnery,ginney,ginning,ginnle,ginny,ginseng,ginward,gio,gip,gipon,gipper,gipser,gipsire,giraffe,girasol,girba,gird,girder,girding,girdle,girdler,girl,girleen,girlery,girlie,girling,girlish,girlism,girly,girn,girny,giro,girr,girse,girsh,girsle,girt,girth,gisarme,gish,gisla,gisler,gist,git,gitalin,gith,gitonin,gitoxin,gittern,gittith,give,given,giver,givey,giving,gizz,gizzard,gizzen,gizzern,glace,glaceed,glacial,glacier,glacis,glack,glad,gladden,gladdon,gladdy,glade,gladeye,gladful,gladify,gladii,gladius,gladly,glady,glaga,glaieul,glaik,glaiket,glair,glairy,glaive,glaived,glaked,glaky,glam,glamour,glance,glancer,gland,glandes,glans,glar,glare,glarily,glaring,glarry,glary,glashan,glass,glassen,glasser,glasses,glassie,glassy,glaucin,glaum,glaur,glaury,glaver,glaze,glazed,glazen,glazer,glazier,glazily,glazing,glazy,gleam,gleamy,glean,gleaner,gleary,gleba,glebal,glebe,glebous,glede,gledy,glee,gleed,gleeful,gleek,gleeman,gleet,gleety,gleg,glegly,glen,glenoid,glent,gleyde,glia,gliadin,glial,glib,glibly,glidder,glide,glider,gliding,gliff,glime,glimmer,glimpse,glink,glint,glioma,gliosa,gliosis,glirine,glisk,glisky,glisten,glister,glitter,gloam,gloat,gloater,global,globate,globe,globed,globin,globoid,globose,globous,globule,globy,glochid,glochis,gloea,gloeal,glom,glome,glommox,glomus,glonoin,gloom,gloomth,gloomy,glop,gloppen,glor,glore,glorify,glory,gloss,glossa,glossal,glossed,glosser,glossic,glossy,glost,glottal,glottic,glottid,glottis,glout,glove,glover,glovey,gloving,glow,glower,glowfly,glowing,gloy,gloze,glozing,glub,glucase,glucid,glucide,glucina,glucine,gluck,glucose,glue,glued,gluepot,gluer,gluey,glug,gluish,glum,gluma,glumal,glume,glumly,glummy,glumose,glump,glumpy,glunch,glusid,gluside,glut,glutch,gluteal,gluten,gluteus,glutin,glutoid,glutose,glutter,glutton,glycid,glycide,glycine,glycol,glycose,glycyl,glyoxal,glyoxim,glyoxyl,glyph,glyphic,glyptic,glyster,gnabble,gnar,gnarl,gnarled,gnarly,gnash,gnat,gnathal,gnathic,gnatter,gnatty,gnaw,gnawer,gnawing,gnawn,gneiss,gneissy,gnome,gnomed,gnomic,gnomide,gnomish,gnomist,gnomon,gnosis,gnostic,gnu,go,goa,goad,goaf,goal,goalage,goalee,goalie,goanna,goat,goatee,goateed,goatish,goatly,goaty,goave,gob,goback,goban,gobang,gobbe,gobber,gobbet,gobbin,gobbing,gobble,gobbler,gobby,gobelin,gobi,gobiid,gobioid,goblet,goblin,gobline,gobo,gobony,goburra,goby,gocart,god,goddard,godded,goddess,goddize,gode,godet,godhead,godhood,godkin,godless,godlet,godlike,godlily,godling,godly,godown,godpapa,godsend,godship,godson,godwit,goeduck,goel,goelism,goer,goes,goetia,goetic,goety,goff,goffer,goffle,gog,gogga,goggan,goggle,goggled,goggler,goggly,goglet,gogo,goi,going,goitcho,goiter,goitral,gol,gola,golach,goladar,gold,goldbug,goldcup,golden,golder,goldie,goldin,goldish,goldtit,goldy,golee,golem,golf,golfdom,golfer,goli,goliard,goliath,golland,gollar,golly,goloe,golpe,gomari,gomart,gomavel,gombay,gombeen,gomer,gomeral,gomlah,gomuti,gon,gonad,gonadal,gonadic,gonagra,gonakie,gonal,gonapod,gondang,gondite,gondola,gone,goner,gong,gongman,gonia,goniac,gonial,goniale,gonid,gonidia,gonidic,gonimic,gonion,gonitis,gonium,gonne,gony,gonys,goo,goober,good,gooding,goodish,goodly,goodman,goods,goody,goof,goofer,goofily,goofy,googly,googol,googul,gook,gool,goolah,gools,gooma,goon,goondie,goonie,goose,goosery,goosish,goosy,gopher,gopura,gor,gora,goracco,goral,goran,gorb,gorbal,gorbet,gorble,gorce,gorcock,gorcrow,gore,gorer,gorevan,gorfly,gorge,gorged,gorger,gorget,gorglin,gorhen,goric,gorilla,gorily,goring,gorlin,gorlois,gormaw,gormed,gorra,gorraf,gorry,gorse,gorsedd,gorsy,gory,gos,gosain,goschen,gosh,goshawk,goslet,gosling,gosmore,gospel,gosport,gossan,gossard,gossip,gossipy,gossoon,gossy,got,gotch,gote,gothite,gotra,gotraja,gotten,gouaree,gouge,gouger,goujon,goulash,goumi,goup,gourami,gourd,gourde,gourdy,gourmet,gousty,gout,goutify,goutily,goutish,goutte,gouty,gove,govern,gowan,gowdnie,gowf,gowfer,gowk,gowked,gowkit,gowl,gown,gownlet,gowpen,goy,goyim,goyin,goyle,gozell,gozzard,gra,grab,grabber,grabble,graben,grace,gracer,gracile,grackle,grad,gradal,gradate,graddan,grade,graded,gradely,grader,gradin,gradine,grading,gradual,gradus,graff,graffer,graft,grafted,grafter,graham,grail,grailer,grain,grained,grainer,grainy,graip,graisse,graith,grallic,gram,grama,grame,grammar,gramme,gramp,grampa,grampus,granada,granage,granary,granate,granch,grand,grandam,grandee,grandly,grandma,grandpa,grane,grange,granger,granite,grank,grannom,granny,grano,granose,grant,grantee,granter,grantor,granula,granule,granza,grape,graped,grapery,graph,graphic,graphy,graping,grapnel,grappa,grapple,grapy,grasp,grasper,grass,grassed,grasser,grasset,grassy,grat,grate,grater,grather,gratify,grating,gratis,gratten,graupel,grave,graved,gravel,gravely,graven,graver,gravic,gravid,graving,gravity,gravure,gravy,grawls,gray,grayfly,grayish,graylag,grayly,graze,grazer,grazier,grazing,grease,greaser,greasy,great,greaten,greater,greatly,greave,greaved,greaves,grebe,grece,gree,greed,greedy,green,greener,greeney,greenly,greenth,greenuk,greeny,greet,greeter,gregal,gregale,grege,greggle,grego,greige,grein,greisen,gremial,gremlin,grenade,greund,grew,grey,greyly,gribble,grice,grid,griddle,gride,griece,grieced,grief,grieve,grieved,griever,griff,griffe,griffin,griffon,grift,grifter,grig,grignet,grigri,grike,grill,grille,grilled,griller,grilse,grim,grimace,grime,grimful,grimily,grimly,grimme,grimp,grimy,grin,grinch,grind,grinder,grindle,gringo,grinner,grinny,grip,gripe,griper,griping,gripman,grippal,grippe,gripper,gripple,grippy,gripy,gris,grisard,griskin,grisly,grison,grist,grister,gristle,gristly,gristy,grit,grith,grits,gritten,gritter,grittle,gritty,grivet,grivna,grizzle,grizzly,groan,groaner,groat,groats,grobian,grocer,grocery,groff,grog,groggy,grogram,groin,groined,grommet,groom,groomer,groomy,groop,groose,groot,grooty,groove,groover,groovy,grope,groper,groping,gropple,gros,groser,groset,gross,grossen,grosser,grossly,grosso,grosz,groszy,grot,grotto,grouch,grouchy,grouf,grough,ground,grounds,groundy,group,grouped,grouper,grouse,grouser,grousy,grout,grouter,grouts,grouty,grouze,grove,groved,grovel,grovy,grow,growan,growed,grower,growing,growl,growler,growly,grown,grownup,growse,growth,growthy,grozart,grozet,grr,grub,grubbed,grubber,grubby,grubs,grudge,grudger,grue,gruel,grueler,gruelly,gruff,gruffly,gruffs,gruffy,grufted,grugru,gruine,grum,grumble,grumbly,grume,grumly,grummel,grummet,grumose,grumous,grump,grumph,grumphy,grumpy,grun,grundy,grunion,grunt,grunter,gruntle,grush,grushie,gruss,grutch,grutten,gryde,grylli,gryllid,gryllos,gryllus,grysbok,guaba,guacimo,guacin,guaco,guaiac,guaiol,guaka,guama,guan,guana,guanaco,guanase,guanay,guango,guanine,guanize,guano,guanyl,guao,guapena,guar,guara,guarabu,guarana,guarani,guard,guarded,guarder,guardo,guariba,guarri,guasa,guava,guavina,guayaba,guayabi,guayabo,guayule,guaza,gubbo,gucki,gud,gudame,guddle,gude,gudge,gudgeon,gudget,gudok,gue,guebucu,guemal,guenepe,guenon,guepard,guerdon,guereza,guess,guesser,guest,guesten,guester,gufa,guff,guffaw,guffer,guffin,guffy,gugal,guggle,gugglet,guglet,guglia,guglio,gugu,guhr,guib,guiba,guidage,guide,guider,guidman,guidon,guige,guignol,guijo,guild,guilder,guildic,guildry,guile,guilery,guilt,guilty,guily,guimpe,guinea,guipure,guisard,guise,guiser,guising,guitar,gul,gula,gulae,gulaman,gular,gularis,gulch,gulden,gule,gules,gulf,gulfy,gulgul,gulix,gull,gullery,gullet,gullion,gullish,gully,gulonic,gulose,gulp,gulper,gulpin,gulping,gulpy,gulsach,gum,gumbo,gumboil,gumby,gumdrop,gumihan,gumless,gumlike,gumly,gumma,gummage,gummata,gummed,gummer,gumming,gummite,gummose,gummous,gummy,gump,gumpus,gumshoe,gumweed,gumwood,gun,guna,gunate,gunboat,gundi,gundy,gunebo,gunfire,gunge,gunite,gunj,gunk,gunl,gunless,gunlock,gunman,gunnage,gunne,gunnel,gunner,gunnery,gunnies,gunning,gunnung,gunny,gunong,gunplay,gunrack,gunsel,gunshop,gunshot,gunsman,gunster,gunter,gunwale,gunyah,gunyang,gunyeh,gup,guppy,gur,gurdle,gurge,gurgeon,gurges,gurgle,gurglet,gurgly,gurjun,gurk,gurl,gurly,gurnard,gurnet,gurniad,gurr,gurrah,gurry,gurt,guru,gush,gusher,gushet,gushily,gushing,gushy,gusla,gusle,guss,gusset,gussie,gust,gustful,gustily,gusto,gusty,gut,gutless,gutlike,gutling,gutt,gutta,guttate,gutte,gutter,guttery,gutti,guttide,guttie,guttle,guttler,guttula,guttule,guttus,gutty,gutweed,gutwise,gutwort,guy,guydom,guyer,guz,guze,guzzle,guzzler,gwag,gweduc,gweed,gweeon,gwely,gwine,gwyniad,gyle,gym,gymel,gymnast,gymnic,gymnics,gymnite,gymnure,gympie,gyn,gyne,gynecic,gynic,gynics,gyp,gype,gypper,gyps,gypsine,gypsite,gypsous,gypster,gypsum,gypsy,gypsyfy,gypsyry,gyral,gyrally,gyrant,gyrate,gyrator,gyre,gyrene,gyri,gyric,gyrinid,gyro,gyrocar,gyroma,gyron,gyronny,gyrose,gyrous,gyrus,gyte,gytling,gyve,h,ha,haab,haaf,habble,habeas,habena,habenal,habenar,habile,habille,habit,habitan,habitat,habited,habitue,habitus,habnab,haboob,habu,habutai,hache,hachure,hack,hackbut,hacked,hackee,hacker,hackery,hackin,hacking,hackle,hackler,hacklog,hackly,hackman,hackney,hacksaw,hacky,had,hadbot,hadden,haddie,haddo,haddock,hade,hading,hadj,hadji,hadland,hadrome,haec,haem,haemony,haet,haff,haffet,haffle,hafiz,hafnium,hafnyl,haft,hafter,hag,hagboat,hagborn,hagbush,hagdon,hageen,hagfish,haggada,haggard,hagged,hagger,haggis,haggish,haggle,haggler,haggly,haggy,hagi,hagia,haglet,haglike,haglin,hagride,hagrope,hagseed,hagship,hagweed,hagworm,hah,haik,haikai,haikal,haikwan,hail,hailer,hailse,haily,hain,haine,hair,haircut,hairdo,haire,haired,hairen,hairif,hairlet,hairpin,hairup,hairy,haje,hajib,hajilij,hak,hakam,hakdar,hake,hakeem,hakim,hako,haku,hala,halakah,halakic,halal,halberd,halbert,halch,halcyon,hale,halebi,haler,halerz,half,halfer,halfman,halfway,halibiu,halibut,halide,halidom,halite,halitus,hall,hallage,hallah,hallan,hallel,hallex,halling,hallman,halloo,hallow,hallux,hallway,halma,halo,halogen,haloid,hals,halse,halsen,halt,halter,halting,halurgy,halutz,halvans,halve,halved,halver,halves,halyard,ham,hamal,hamald,hamate,hamated,hamatum,hamble,hame,hameil,hamel,hamfat,hami,hamlah,hamlet,hammada,hammam,hammer,hammock,hammy,hamose,hamous,hamper,hamsa,hamster,hamular,hamule,hamulus,hamus,hamza,han,hanaper,hanbury,hance,hanced,hanch,hand,handbag,handbow,handcar,handed,hander,handful,handgun,handily,handle,handled,handler,handout,handsaw,handsel,handset,handy,hangar,hangby,hangdog,hange,hangee,hanger,hangie,hanging,hangle,hangman,hangout,hangul,hanif,hank,hanker,hankie,hankle,hanky,hanna,hansa,hanse,hansel,hansom,hant,hantle,hao,haole,haoma,haori,hap,hapless,haplite,haploid,haploma,haplont,haply,happen,happier,happify,happily,happing,happy,hapten,haptene,haptere,haptic,haptics,hapu,hapuku,harass,haratch,harbi,harbor,hard,harden,harder,hardily,hardim,hardish,hardly,hardock,hardpan,hardy,hare,harebur,harelip,harem,harfang,haricot,harish,hark,harka,harl,harling,harlock,harlot,harm,harmal,harmala,harman,harmel,harmer,harmful,harmine,harmony,harmost,harn,harness,harnpan,harp,harpago,harper,harpier,harpist,harpoon,harpula,harr,harrier,harrow,harry,harsh,harshen,harshly,hart,hartal,hartin,hartite,harvest,hasan,hash,hashab,hasher,hashish,hashy,hask,hasky,haslet,haslock,hasp,hassar,hassel,hassle,hassock,hasta,hastate,hastati,haste,hasten,haster,hastily,hastish,hastler,hasty,hat,hatable,hatband,hatbox,hatbrim,hatch,hatchel,hatcher,hatchet,hate,hateful,hater,hatful,hath,hathi,hatless,hatlike,hatpin,hatrack,hatrail,hatred,hatress,hatt,hatted,hatter,hattery,hatting,hattock,hatty,hau,hauberk,haugh,haught,haughty,haul,haulage,hauld,hauler,haulier,haulm,haulmy,haunch,haunchy,haunt,haunter,haunty,hause,hausen,hausse,hautboy,hauteur,havage,have,haveage,havel,haven,havener,havenet,havent,haver,haverel,haverer,havers,havier,havoc,haw,hawbuck,hawer,hawk,hawkbit,hawked,hawker,hawkery,hawkie,hawking,hawkish,hawknut,hawky,hawm,hawok,hawse,hawser,hay,haya,hayband,haybird,haybote,haycap,haycart,haycock,hayey,hayfork,haylift,hayloft,haymow,hayrack,hayrake,hayrick,hayseed,haysel,haysuck,haytime,hayward,hayweed,haywire,hayz,hazard,haze,hazel,hazeled,hazelly,hazen,hazer,hazily,hazing,hazle,hazy,hazzan,he,head,headcap,headed,header,headful,headily,heading,headman,headset,headway,heady,heaf,heal,heald,healder,healer,healful,healing,health,healthy,heap,heaper,heaps,heapy,hear,hearer,hearing,hearken,hearsay,hearse,hearst,heart,hearted,hearten,hearth,heartly,hearts,hearty,heat,heater,heatful,heath,heathen,heather,heathy,heating,heaume,heaumer,heave,heaven,heavens,heaver,heavies,heavily,heaving,heavity,heavy,hebamic,hebenon,hebete,hebetic,hech,heck,heckle,heckler,hectare,hecte,hectic,hector,heddle,heddler,hedebo,heder,hederic,hederin,hedge,hedger,hedging,hedgy,hedonic,heed,heeder,heedful,heedily,heedy,heehaw,heel,heelcap,heeled,heeler,heeltap,heer,heeze,heezie,heezy,heft,hefter,heftily,hefty,hegari,hegemon,hegira,hegumen,hei,heiau,heifer,heigh,height,heii,heimin,heinous,heir,heirdom,heiress,heitiki,hekteus,helbeh,helcoid,helder,hele,helenin,heliast,helical,heliced,helices,helicin,helicon,helide,heling,helio,helioid,helium,helix,hell,hellbox,hellcat,helldog,heller,helleri,hellhag,hellier,hellion,hellish,hello,helluo,helly,helm,helmage,helmed,helmet,helodes,heloe,heloma,helonin,helosis,helotry,help,helper,helpful,helping,helply,helve,helvell,helver,helvite,hem,hemad,hemal,hemapod,hemase,hematal,hematic,hematid,hematin,heme,hemen,hemera,hemiamb,hemic,hemin,hemina,hemine,heminee,hemiope,hemipic,heml,hemlock,hemmel,hemmer,hemocry,hemoid,hemol,hemopod,hemp,hempen,hempy,hen,henad,henbane,henbill,henbit,hence,hencoop,hencote,hend,hendly,henfish,henism,henlike,henna,hennery,hennin,hennish,henny,henotic,henpeck,henpen,henry,hent,henter,henware,henwife,henwise,henyard,hep,hepar,heparin,hepatic,hepcat,heppen,hepper,heptace,heptad,heptal,heptane,heptene,heptine,heptite,heptoic,heptose,heptyl,heptyne,her,herald,herb,herbage,herbal,herbane,herbary,herbish,herbist,herblet,herbman,herbose,herbous,herby,herd,herdboy,herder,herdic,herding,here,hereat,hereby,herein,herem,hereof,hereon,heresy,heretic,hereto,herile,heriot,heritor,herl,herling,herma,hermaic,hermit,hern,hernani,hernant,herne,hernia,hernial,hero,heroess,heroic,heroid,heroify,heroin,heroine,heroism,heroize,heron,heroner,heronry,herpes,herring,hers,herse,hersed,herself,hership,hersir,hertz,hessite,hest,hestern,het,hetaera,hetaery,heteric,hetero,hething,hetman,hetter,heuau,heugh,heumite,hevi,hew,hewable,hewel,hewer,hewhall,hewn,hewt,hex,hexa,hexace,hexacid,hexact,hexad,hexadic,hexagon,hexagyn,hexane,hexaped,hexapla,hexapod,hexarch,hexene,hexer,hexerei,hexeris,hexine,hexis,hexitol,hexode,hexogen,hexoic,hexone,hexonic,hexosan,hexose,hexyl,hexylic,hexyne,hey,heyday,hi,hia,hiant,hiatal,hiate,hiation,hiatus,hibbin,hic,hicatee,hiccup,hick,hickey,hickory,hidable,hidage,hidalgo,hidated,hidden,hide,hided,hideous,hider,hidling,hie,hieder,hield,hiemal,hieron,hieros,higdon,higgle,higgler,high,highboy,higher,highest,highish,highly,highman,hight,hightop,highway,higuero,hijack,hike,hiker,hilch,hilding,hill,hiller,hillet,hillman,hillock,hilltop,hilly,hilsa,hilt,hilum,hilus,him,himp,himself,himward,hin,hinau,hinch,hind,hinder,hing,hinge,hinger,hingle,hinney,hinny,hinoid,hinoki,hint,hinter,hiodont,hip,hipbone,hipe,hiper,hiphalt,hipless,hipmold,hipped,hippen,hippian,hippic,hipping,hippish,hipple,hippo,hippoid,hippus,hippy,hipshot,hipwort,hirable,hircine,hire,hired,hireman,hirer,hirmos,hiro,hirple,hirse,hirsel,hirsle,hirsute,his,hish,hisn,hispid,hiss,hisser,hissing,hist,histie,histoid,histon,histone,history,histrio,hit,hitch,hitcher,hitchy,hithe,hither,hitless,hitter,hive,hiver,hives,hizz,ho,hoar,hoard,hoarder,hoarily,hoarish,hoarse,hoarsen,hoary,hoast,hoatzin,hoax,hoaxee,hoaxer,hob,hobber,hobbet,hobbil,hobble,hobbler,hobbly,hobby,hoblike,hobnail,hobnob,hobo,hoboism,hocco,hock,hocker,hocket,hockey,hocky,hocus,hod,hodden,hodder,hoddle,hoddy,hodful,hodman,hoe,hoecake,hoedown,hoeful,hoer,hog,hoga,hogan,hogback,hogbush,hogfish,hogged,hogger,hoggery,hogget,hoggie,hoggin,hoggish,hoggism,hoggy,hogherd,hoghide,hoghood,hoglike,hogling,hogmace,hognose,hognut,hogpen,hogship,hogskin,hogsty,hogward,hogwash,hogweed,hogwort,hogyard,hoi,hoick,hoin,hoise,hoist,hoister,hoit,hoju,hokey,hokum,holard,holcad,hold,holdall,holden,holder,holding,holdout,holdup,hole,holeman,holer,holey,holia,holiday,holily,holing,holism,holl,holla,holler,hollin,hollo,hollock,hollong,hollow,holly,holm,holmia,holmic,holmium,holmos,holour,holster,holt,holy,holyday,homage,homager,home,homelet,homely,homelyn,homeoid,homer,homey,homily,hominal,hominid,hominy,homish,homo,homodox,homogen,homonym,homrai,homy,honda,hondo,hone,honest,honesty,honey,honeyed,hong,honied,honily,honk,honker,honor,honoree,honorer,hontish,hontous,hooch,hood,hoodcap,hooded,hoodful,hoodie,hoodlum,hoodman,hoodoo,hoodshy,hooey,hoof,hoofed,hoofer,hoofish,hooflet,hoofrot,hoofs,hoofy,hook,hookah,hooked,hooker,hookers,hookish,hooklet,hookman,hooktip,hookum,hookup,hooky,hoolock,hooly,hoon,hoop,hooped,hooper,hooping,hoopla,hoople,hoopman,hoopoe,hoose,hoosh,hoot,hootay,hooter,hoove,hooven,hoovey,hop,hopbine,hopbush,hope,hoped,hopeful,hopeite,hoper,hopi,hoplite,hopoff,hopped,hopper,hoppers,hoppet,hoppity,hopple,hoppy,hoptoad,hopvine,hopyard,hora,horal,horary,hordary,horde,hordein,horizon,horme,hormic,hormigo,hormion,hormist,hormone,hormos,horn,horned,horner,hornet,hornety,hornful,hornify,hornily,horning,hornish,hornist,hornito,hornlet,horntip,horny,horrent,horreum,horrid,horrify,horror,horse,horser,horsify,horsily,horsing,horst,horsy,hortite,hory,hosanna,hose,hosed,hosel,hoseman,hosier,hosiery,hospice,host,hostage,hostel,hoster,hostess,hostie,hostile,hosting,hostler,hostly,hostry,hot,hotbed,hotbox,hotch,hotel,hotfoot,hothead,hoti,hotly,hotness,hotspur,hotter,hottery,hottish,houbara,hough,hougher,hounce,hound,hounder,houndy,hour,hourful,houri,hourly,housage,housal,house,housel,houser,housing,housty,housy,houtou,houvari,hove,hovel,hoveler,hoven,hover,hoverer,hoverly,how,howadji,howbeit,howdah,howder,howdie,howdy,howe,howel,however,howff,howish,howk,howkit,howl,howler,howlet,howling,howlite,howso,hox,hoy,hoyden,hoyle,hoyman,huaca,huaco,huarizo,hub,hubb,hubba,hubber,hubble,hubbly,hubbub,hubby,hubshi,huchen,hucho,huck,huckle,hud,huddle,huddler,huddock,huddup,hue,hued,hueful,hueless,huer,huff,huffier,huffily,huffish,huffle,huffler,huffy,hug,huge,hugely,hugeous,hugger,hugging,huggle,hugsome,huh,huia,huipil,huitain,huke,hula,huldee,hulk,hulkage,hulking,hulky,hull,huller,hullock,hulloo,hulsite,hulster,hulu,hulver,hum,human,humane,humanly,humate,humble,humbler,humblie,humbly,humbo,humbug,humbuzz,humdrum,humect,humeral,humeri,humerus,humet,humetty,humhum,humic,humid,humidly,humidor,humific,humify,humin,humite,humlie,hummel,hummer,hummie,humming,hummock,humor,humoral,humous,hump,humped,humph,humpty,humpy,humus,hunch,hunchet,hunchy,hundi,hundred,hung,hunger,hungry,hunh,hunk,hunker,hunkers,hunkies,hunks,hunky,hunt,hunting,hup,hura,hurdies,hurdis,hurdle,hurdler,hurds,hure,hureek,hurgila,hurkle,hurl,hurled,hurler,hurley,hurling,hurlock,hurly,huron,hurr,hurrah,hurried,hurrier,hurrock,hurroo,hurry,hurst,hurt,hurted,hurter,hurtful,hurting,hurtle,hurty,husband,huse,hush,hushaby,husheen,hushel,husher,hushful,hushing,hushion,husho,husk,husked,husker,huskily,husking,husky,huso,huspil,huss,hussar,hussy,husting,hustle,hustler,hut,hutch,hutcher,hutchet,huthold,hutia,hutlet,hutment,huvelyk,huzoor,huzz,huzza,huzzard,hyaena,hyaline,hyalite,hyaloid,hybosis,hybrid,hydatid,hydnoid,hydrant,hydrate,hydrazo,hydria,hydric,hydride,hydro,hydroa,hydroid,hydrol,hydrome,hydrone,hydrops,hydrous,hydroxy,hydrula,hyena,hyenic,hyenine,hyenoid,hyetal,hygeist,hygiene,hygric,hygrine,hygroma,hying,hyke,hyle,hyleg,hylic,hylism,hylist,hyloid,hymen,hymenal,hymenic,hymn,hymnal,hymnary,hymner,hymnic,hymnist,hymnode,hymnody,hynde,hyne,hyoid,hyoidal,hyoidan,hyoides,hyp,hypate,hypaton,hyper,hypha,hyphal,hyphema,hyphen,hypho,hypnody,hypnoid,hypnone,hypo,hypogee,hypoid,hyponym,hypopus,hyporit,hyppish,hypural,hyraces,hyracid,hyrax,hyson,hyssop,i,iamb,iambi,iambic,iambist,iambize,iambus,iao,iatric,iba,iberite,ibex,ibices,ibid,ibidine,ibis,ibolium,ibota,icaco,ice,iceberg,iceboat,icebone,icebox,icecap,iced,icefall,icefish,iceland,iceleaf,iceless,icelike,iceman,iceroot,icework,ich,ichnite,icho,ichor,ichthus,ichu,icica,icicle,icicled,icily,iciness,icing,icon,iconic,iconism,icosian,icotype,icteric,icterus,ictic,ictuate,ictus,icy,id,idalia,idant,iddat,ide,idea,ideaed,ideaful,ideal,ideally,ideate,ideist,identic,ides,idgah,idiasm,idic,idiocy,idiom,idiot,idiotcy,idiotic,idiotry,idite,iditol,idle,idleful,idleman,idler,idleset,idlety,idlish,idly,idol,idola,idolify,idolism,idolist,idolize,idolous,idolum,idoneal,idorgan,idose,idryl,idyl,idyler,idylism,idylist,idylize,idyllic,ie,if,ife,iffy,igloo,ignatia,ignavia,igneous,ignify,ignite,igniter,ignitor,ignoble,ignobly,ignore,ignorer,ignote,iguana,iguanid,ihi,ihleite,ihram,iiwi,ijma,ijolite,ikat,ikey,ikona,ikra,ileac,ileitis,ileon,ilesite,ileum,ileus,ilex,ilia,iliac,iliacus,iliahi,ilial,iliau,ilicic,ilicin,ilima,ilium,ilk,ilka,ilkane,ill,illapse,illeck,illegal,illeism,illeist,illess,illfare,illicit,illish,illium,illness,illocal,illogic,illoyal,illth,illude,illuder,illume,illumer,illupi,illure,illusor,illy,ilot,ilvaite,image,imager,imagery,imagine,imagism,imagist,imago,imam,imamah,imamate,imamic,imaret,imban,imband,imbarge,imbark,imbarn,imbased,imbat,imbauba,imbe,imbed,imber,imbibe,imbiber,imbondo,imbosom,imbower,imbrex,imbrue,imbrute,imbue,imburse,imi,imide,imidic,imine,imino,imitant,imitate,immane,immask,immense,immerd,immerge,immerit,immerse,immew,immi,immit,immix,immoral,immound,immund,immune,immure,immute,imonium,imp,impack,impact,impages,impaint,impair,impala,impale,impaler,impall,impalm,impalsy,impane,impanel,impar,impark,imparl,impart,impasse,impaste,impasto,impave,impavid,impawn,impeach,impearl,impede,impeder,impel,impen,impend,impent,imperia,imperil,impest,impetre,impetus,imphee,impi,impiety,impinge,impious,impish,implant,implate,implead,implete,implex,implial,impling,implode,implore,implume,imply,impofo,impone,impoor,import,imposal,impose,imposer,impost,impot,impound,impreg,impregn,impresa,imprese,impress,imprest,imprime,imprint,improof,improve,impship,impubic,impugn,impulse,impure,impute,imputer,impy,imshi,imsonic,imu,in,inachid,inadept,inagile,inaja,inane,inanely,inanga,inanity,inapt,inaptly,inarch,inarm,inaugur,inaxon,inbe,inbeing,inbent,inbirth,inblow,inblown,inboard,inbond,inborn,inbound,inbread,inbreak,inbred,inbreed,inbring,inbuilt,inburnt,inburst,inby,incarn,incase,incast,incense,incept,incest,inch,inched,inchpin,incide,incisal,incise,incisor,incite,inciter,incivic,incline,inclip,inclose,include,inclusa,incluse,incog,income,incomer,inconnu,incrash,increep,increst,incross,incrust,incubi,incubus,incudal,incudes,incult,incur,incurse,incurve,incus,incuse,incut,indaba,indan,indane,indart,indazin,indazol,inde,indebt,indeed,indeedy,indene,indent,index,indexed,indexer,indic,indican,indices,indicia,indict,indign,indigo,indite,inditer,indium,indogen,indole,indoles,indolyl,indoor,indoors,indorse,indoxyl,indraft,indrawn,indri,induce,induced,inducer,induct,indue,indulge,indult,indulto,induna,indwell,indy,indyl,indylic,inearth,inept,ineptly,inequal,inerm,inert,inertia,inertly,inesite,ineunt,inexact,inexist,inface,infall,infame,infamy,infancy,infand,infang,infant,infanta,infante,infarct,infare,infaust,infect,infeed,infeft,infelt,infer,infern,inferno,infest,infidel,infield,infill,infilm,infirm,infit,infix,inflame,inflate,inflect,inflex,inflict,inflood,inflow,influx,infold,inform,infra,infract,infula,infuse,infuser,ing,ingate,ingenit,ingenue,ingest,ingesta,ingiver,ingle,inglobe,ingoing,ingot,ingraft,ingrain,ingrate,ingress,ingross,ingrow,ingrown,inguen,ingulf,inhabit,inhale,inhaler,inhaul,inhaust,inhere,inherit,inhiate,inhibit,inhuman,inhume,inhumer,inial,iniome,inion,initial,initis,initive,inject,injelly,injunct,injure,injured,injurer,injury,ink,inkbush,inken,inker,inket,inkfish,inkhorn,inkish,inkle,inkless,inklike,inkling,inknot,inkosi,inkpot,inkroot,inks,inkshed,inkweed,inkwell,inkwood,inky,inlaid,inlaik,inlake,inland,inlaut,inlaw,inlawry,inlay,inlayer,inleak,inlet,inlier,inlook,inly,inlying,inmate,inmeats,inmost,inn,innate,inneity,inner,innerly,innerve,inness,innest,innet,inning,innless,innyard,inocyte,inogen,inoglia,inolith,inoma,inone,inopine,inorb,inosic,inosin,inosite,inower,inphase,inport,inpour,inpush,input,inquest,inquiet,inquire,inquiry,inring,inro,inroad,inroll,inrub,inrun,inrush,insack,insane,insculp,insea,inseam,insect,insee,inseer,insense,insert,inset,inshave,inshell,inship,inshoe,inshoot,inshore,inside,insider,insight,insigne,insipid,insist,insnare,insofar,insole,insolid,insooth,insorb,insoul,inspan,inspeak,inspect,inspire,inspoke,install,instant,instar,instate,instead,insteam,insteep,instep,instill,insula,insular,insulin,insulse,insult,insunk,insure,insured,insurer,insurge,inswamp,inswell,inswept,inswing,intact,intake,intaker,integer,inteind,intend,intense,intent,inter,interim,intern,intext,inthrow,intil,intima,intimal,intine,into,intoed,intone,intoner,intort,intown,intrada,intrait,intrant,intreat,intrine,introit,intrude,intruse,intrust,intube,intue,intuent,intuit,inturn,intwist,inula,inulase,inulin,inuloid,inunct,inure,inured,inurn,inutile,invade,invader,invalid,inveigh,inveil,invein,invent,inverse,invert,invest,invigor,invised,invital,invite,invitee,inviter,invivid,invoice,invoke,invoker,involve,inwale,inwall,inward,inwards,inweave,inweed,inwick,inwind,inwit,inwith,inwood,inwork,inworn,inwound,inwoven,inwrap,inwrit,inyoite,inyoke,io,iodate,iodic,iodide,iodine,iodism,iodite,iodize,iodizer,iodo,iodol,iodoso,iodous,iodoxy,iolite,ion,ionic,ionium,ionize,ionizer,ionogen,ionone,iota,iotize,ipecac,ipid,ipil,ipomea,ipseand,ipseity,iracund,irade,irate,irately,ire,ireful,ireless,irene,irenic,irenics,irian,irid,iridal,iridate,irides,iridial,iridian,iridic,iridin,iridine,iridite,iridium,iridize,iris,irised,irisin,iritic,iritis,irk,irksome,irok,iroko,iron,irone,ironer,ironice,ironish,ironism,ironist,ironize,ironly,ironman,irony,irrisor,irrupt,is,isagoge,isagon,isamine,isatate,isatic,isatide,isatin,isazoxy,isba,ischiac,ischial,ischium,ischury,iserine,iserite,isidium,isidoid,island,islandy,islay,isle,islet,isleted,islot,ism,ismal,ismatic,ismdom,ismy,iso,isoamyl,isobar,isobare,isobase,isobath,isochor,isocola,isocrat,isodont,isoflor,isogamy,isogen,isogeny,isogon,isogram,isohel,isohyet,isolate,isology,isomer,isomere,isomery,isoneph,isonomy,isonym,isonymy,isopag,isopod,isopoly,isoptic,isopyre,isotac,isotely,isotome,isotony,isotope,isotopy,isotron,isotype,isoxime,issei,issite,issuant,issue,issuer,issuing,ist,isthmi,isthmic,isthmus,istle,istoke,isuret,isuroid,it,itacism,itacist,italics,italite,itch,itching,itchy,itcze,item,iteming,itemize,itemy,iter,iterant,iterate,ither,itmo,itoubou,its,itself,iturite,itzebu,iva,ivied,ivin,ivoried,ivorine,ivorist,ivory,ivy,ivylike,ivyweed,ivywood,ivywort,iwa,iwaiwa,iwis,ixodian,ixodic,ixodid,iyo,izar,izard,izle,izote,iztle,izzard,j,jab,jabbed,jabber,jabbing,jabble,jabers,jabia,jabiru,jabot,jabul,jacal,jacamar,jacami,jacamin,jacana,jacare,jacate,jacchus,jacent,jacinth,jack,jackal,jackass,jackbox,jackboy,jackdaw,jackeen,jacker,jacket,jackety,jackleg,jackman,jacko,jackrod,jacksaw,jacktan,jacobus,jacoby,jaconet,jactant,jacu,jacuaru,jadder,jade,jaded,jadedly,jadeite,jadery,jadish,jady,jaeger,jag,jagat,jager,jagged,jagger,jaggery,jaggy,jagir,jagla,jagless,jagong,jagrata,jagua,jaguar,jail,jailage,jaildom,jailer,jailish,jajman,jake,jakes,jako,jalap,jalapa,jalapin,jalkar,jalopy,jalouse,jam,jama,jaman,jamb,jambeau,jambo,jambone,jambool,jambosa,jamdani,jami,jamlike,jammer,jammy,jampan,jampani,jamwood,janapa,janapan,jane,jangada,jangkar,jangle,jangler,jangly,janitor,jank,janker,jann,jannock,jantu,janua,jaob,jap,japan,jape,japer,japery,japing,japish,jaquima,jar,jara,jaragua,jarbird,jarble,jarbot,jarfly,jarful,jarg,jargon,jarkman,jarl,jarldom,jarless,jarnut,jarool,jarra,jarrah,jarring,jarry,jarvey,jasey,jaseyed,jasmine,jasmone,jasper,jaspery,jaspis,jaspoid,jass,jassid,jassoid,jatha,jati,jato,jaudie,jauk,jaun,jaunce,jaunder,jaunt,jauntie,jaunty,jaup,javali,javelin,javer,jaw,jawab,jawbone,jawed,jawfall,jawfish,jawfoot,jawless,jawy,jay,jayhawk,jaypie,jaywalk,jazz,jazzer,jazzily,jazzy,jealous,jean,jeans,jecoral,jecorin,jed,jedcock,jedding,jeddock,jeel,jeep,jeer,jeerer,jeering,jeery,jeff,jehu,jehup,jejunal,jejune,jejunum,jelab,jelick,jell,jellica,jellico,jellied,jellify,jellily,jelloid,jelly,jemadar,jemmily,jemmy,jenkin,jenna,jennet,jennier,jenny,jeofail,jeopard,jerboa,jereed,jerez,jerib,jerk,jerker,jerkily,jerkin,jerkish,jerky,jerl,jerm,jerque,jerquer,jerry,jersey,jert,jervia,jervina,jervine,jess,jessamy,jessant,jessed,jessur,jest,jestee,jester,jestful,jesting,jet,jetbead,jete,jetsam,jettage,jetted,jetter,jettied,jetton,jetty,jetware,jewbird,jewbush,jewel,jeweler,jewelry,jewely,jewfish,jezail,jeziah,jharal,jheel,jhool,jhow,jib,jibbah,jibber,jibby,jibe,jibhead,jibi,jibman,jiboa,jibstay,jicama,jicara,jiff,jiffle,jiffy,jig,jigger,jiggers,jigget,jiggety,jiggish,jiggle,jiggly,jiggy,jiglike,jigman,jihad,jikungu,jillet,jilt,jiltee,jilter,jiltish,jimbang,jimjam,jimmy,jimp,jimply,jina,jing,jingal,jingle,jingled,jingler,jinglet,jingly,jingo,jinja,jinjili,jink,jinker,jinket,jinkle,jinks,jinn,jinni,jinny,jinriki,jinx,jipper,jiqui,jirble,jirga,jiti,jitneur,jitney,jitro,jitter,jitters,jittery,jiva,jive,jixie,jo,job,jobade,jobarbe,jobber,jobbery,jobbet,jobbing,jobbish,jobble,jobless,jobman,jobo,joch,jock,jocker,jockey,jocko,jocoque,jocose,jocote,jocu,jocular,jocum,jocuma,jocund,jodel,jodelr,joe,joebush,joewood,joey,jog,jogger,joggle,joggler,joggly,johnin,join,joinant,joinder,joiner,joinery,joining,joint,jointed,jointer,jointly,jointy,joist,jojoba,joke,jokelet,joker,jokish,jokist,jokul,joky,joll,jollier,jollify,jollily,jollity,jollop,jolly,jolt,jolter,jolting,jolty,jonque,jonquil,joola,joom,jordan,joree,jorum,joseite,josh,josher,joshi,josie,joskin,joss,josser,jostle,jostler,jot,jota,jotisi,jotter,jotting,jotty,joubarb,joug,jough,jouk,joule,joulean,jounce,journal,journey,jours,joust,jouster,jovial,jow,jowar,jowari,jowel,jower,jowery,jowl,jowler,jowlish,jowlop,jowly,jowpy,jowser,jowter,joy,joyance,joyancy,joyant,joyful,joyhop,joyleaf,joyless,joylet,joyous,joysome,joyweed,juba,jubate,jubbah,jubbe,jube,jubilee,jubilus,juck,juckies,jud,judcock,judex,judge,judger,judices,judo,jufti,jug,jugal,jugale,jugate,jugated,juger,jugerum,jugful,jugger,juggins,juggle,juggler,juglone,jugular,jugulum,jugum,juice,juicily,juicy,jujitsu,juju,jujube,jujuism,jujuist,juke,jukebox,julep,julid,julidan,julio,juloid,julole,julolin,jumart,jumba,jumble,jumbler,jumbly,jumbo,jumbuck,jumby,jumelle,jument,jumfru,jumma,jump,jumper,jumpy,juncite,juncous,june,jungle,jungled,jungli,jungly,juniata,junior,juniper,junk,junker,junket,junking,junkman,junt,junta,junto,jupati,jupe,jupon,jural,jurally,jurant,jurara,jurat,jurator,jure,jurel,juridic,juring,jurist,juror,jury,juryman,jussel,jussion,jussive,jussory,just,justen,justice,justify,justly,justo,jut,jute,jutka,jutting,jutty,juvenal,juvia,juvite,jyngine,jynx,k,ka,kabaya,kabel,kaberu,kabiet,kabuki,kachin,kadaya,kadein,kados,kaffir,kafir,kafirin,kafiz,kafta,kago,kagu,kaha,kahar,kahau,kahili,kahu,kahuna,kai,kaid,kaik,kaikara,kail,kainga,kainite,kainsi,kainyn,kairine,kaiser,kaitaka,kaiwi,kajawah,kaka,kakapo,kakar,kaki,kakkak,kakke,kala,kalasie,kale,kalema,kalends,kali,kalian,kalium,kallah,kallege,kalo,kalon,kalong,kalpis,kamahi,kamala,kamansi,kamao,kamas,kamassi,kambal,kamboh,kame,kamerad,kamias,kamichi,kamik,kampong,kan,kana,kanae,kanagi,kanap,kanara,kanari,kanat,kanchil,kande,kandol,kaneh,kang,kanga,kangani,kankie,kannume,kanoon,kans,kantele,kanten,kaolin,kapa,kapai,kapeika,kapok,kapp,kappa,kappe,kapur,kaput,karagan,karaka,karakul,karamu,karaoke,karate,karaya,karbi,karch,kareao,kareeta,karela,karite,karma,karmic,karo,kaross,karou,karree,karri,karroo,karsha,karst,karstic,kartel,kartos,karwar,karyon,kasa,kasbah,kasbeke,kasher,kashga,kashi,kashima,kasida,kasm,kassu,kastura,kat,katar,katcina,kath,katha,kathal,katipo,katmon,katogle,katsup,katuka,katun,katurai,katydid,kauri,kava,kavaic,kavass,kawaka,kawika,kay,kayak,kayaker,kayles,kayo,kazi,kazoo,kea,keach,keacorn,keawe,keb,kebab,kebbie,kebbuck,kechel,keck,keckle,kecksy,kecky,ked,keddah,kedge,kedger,kedlock,keech,keek,keeker,keel,keelage,keeled,keeler,keelfat,keelie,keeling,keelman,keelson,keen,keena,keened,keener,keenly,keep,keeper,keeping,keest,keet,keeve,kef,keffel,kefir,kefiric,keg,kegler,kehaya,keita,keitloa,kekuna,kelchin,keld,kele,kelebe,keleh,kelek,kelep,kelk,kell,kella,kellion,kelly,keloid,kelp,kelper,kelpie,kelpy,kelt,kelter,kelty,kelvin,kemb,kemp,kempite,kemple,kempt,kempy,ken,kenaf,kenareh,kench,kend,kendir,kendyr,kenlore,kenmark,kennel,kenner,kenning,kenno,keno,kenosis,kenotic,kenspac,kent,kenyte,kep,kepi,kept,kerana,kerasin,kerat,keratin,keratto,kerchoo,kerchug,kerel,kerf,kerflap,kerflop,kermes,kermis,kern,kernel,kerner,kernish,kernite,kernos,kerogen,kerrie,kerril,kerrite,kerry,kersey,kerslam,kerugma,kerwham,kerygma,kestrel,ket,keta,ketal,ketch,ketchup,keten,ketene,ketipic,keto,ketogen,ketol,ketole,ketone,ketonic,ketose,ketosis,kette,ketting,kettle,kettler,ketty,ketuba,ketupa,ketyl,keup,kevalin,kevel,kewpie,kex,kexy,key,keyage,keyed,keyhole,keyless,keylet,keylock,keynote,keyway,khaddar,khadi,khahoon,khaiki,khair,khaja,khajur,khaki,khakied,khalifa,khalsa,khamsin,khan,khanate,khanda,khanjar,khanjee,khankah,khanum,khar,kharaj,kharua,khass,khat,khatib,khatri,khediva,khedive,khepesh,khet,khilat,khir,khirka,khoja,khoka,khot,khu,khubber,khula,khutbah,khvat,kiack,kiaki,kialee,kiang,kiaugh,kibber,kibble,kibbler,kibe,kibei,kibitka,kibitz,kiblah,kibosh,kiby,kick,kickee,kicker,kicking,kickish,kickoff,kickout,kickup,kidder,kiddier,kiddish,kiddush,kiddy,kidhood,kidlet,kidling,kidnap,kidney,kidskin,kidsman,kiekie,kiel,kier,kieye,kikar,kike,kiki,kiku,kikuel,kikumon,kil,kiladja,kilah,kilan,kildee,kileh,kilerg,kiley,kilhig,kiliare,kilim,kill,killas,killcu,killeen,killer,killick,killing,killy,kiln,kilneye,kilnman,kilnrib,kilo,kilobar,kiloton,kilovar,kilp,kilt,kilter,kiltie,kilting,kim,kimbang,kimnel,kimono,kin,kina,kinah,kinase,kinbote,kinch,kinchin,kincob,kind,kindle,kindler,kindly,kindred,kinepox,kinesic,kinesis,kinetic,king,kingcob,kingcup,kingdom,kinglet,kingly,kingpin,kingrow,kink,kinkhab,kinkily,kinkle,kinkled,kinkly,kinky,kinless,kino,kinship,kinsman,kintar,kioea,kiosk,kiotome,kip,kipage,kipe,kippeen,kipper,kippy,kipsey,kipskin,kiri,kirimon,kirk,kirker,kirkify,kirking,kirkman,kirmew,kirn,kirombo,kirsch,kirtle,kirtled,kirve,kirver,kischen,kish,kishen,kishon,kishy,kismet,kisra,kiss,kissage,kissar,kisser,kissing,kissy,kist,kistful,kiswa,kit,kitab,kitabis,kitar,kitcat,kitchen,kite,kith,kithe,kitish,kitling,kittel,kitten,kitter,kittle,kittles,kittly,kittock,kittul,kitty,kiva,kiver,kivu,kiwi,kiyas,kiyi,klafter,klam,klavern,klaxon,klepht,kleptic,klicket,klip,klipbok,klipdas,klippe,klippen,klister,klom,klop,klops,klosh,kmet,knab,knabble,knack,knacker,knacky,knag,knagged,knaggy,knap,knape,knappan,knapper,knar,knark,knarred,knarry,knave,knavery,knavess,knavish,knawel,knead,kneader,knee,kneecap,kneed,kneel,kneeler,kneelet,kneepad,kneepan,knell,knelt,knet,knew,knez,knezi,kniaz,kniazi,knick,knicker,knife,knifer,knight,knit,knitch,knitted,knitter,knittle,knived,knivey,knob,knobbed,knobber,knobble,knobbly,knobby,knock,knocker,knockup,knoll,knoller,knolly,knop,knopite,knopped,knopper,knoppy,knosp,knosped,knot,knotted,knotter,knotty,knout,know,knowe,knower,knowing,known,knub,knubbly,knubby,knublet,knuckle,knuckly,knur,knurl,knurled,knurly,knut,knutty,knyaz,knyazi,ko,koa,koae,koala,koali,kob,koban,kobi,kobird,kobold,kobong,kobu,koda,kodak,kodaker,kodakry,kodro,koel,koff,koft,koftgar,kohemp,kohl,kohua,koi,koil,koila,koilon,koine,koinon,kojang,kokako,kokam,kokan,kokil,kokio,koklas,koklass,koko,kokoon,kokowai,kokra,koku,kokum,kokumin,kola,kolach,kolea,kolhoz,kolkhos,kolkhoz,kollast,koller,kolo,kolobus,kolsun,komatik,kombu,kommos,kompeni,kon,kona,konak,kongoni,kongu,konini,konjak,kooka,kookery,kookri,koolah,koombar,koomkie,kootcha,kop,kopeck,koph,kopi,koppa,koppen,koppite,kor,kora,koradji,korait,korakan,korari,kore,korec,koreci,korero,kori,korin,korona,korova,korrel,koruna,korzec,kos,kosher,kosin,kosong,koswite,kotal,koto,kotuku,kotwal,kotyle,kotylos,kou,koulan,kouza,kovil,kowhai,kowtow,koyan,kozo,kra,kraal,kraft,krait,kraken,kral,krama,kran,kras,krasis,krausen,kraut,kreis,krelos,kremlin,krems,kreng,krieker,krimmer,krina,krocket,krome,krona,krone,kronen,kroner,kronor,kronur,kroon,krosa,krypsis,kryptic,kryptol,krypton,kuan,kuba,kubba,kuchen,kudize,kudos,kudu,kudzu,kuei,kuge,kugel,kuichua,kukri,kuku,kukui,kukupa,kula,kulack,kulah,kulaite,kulak,kulang,kulimit,kulm,kulmet,kumbi,kumhar,kumiss,kummel,kumquat,kumrah,kunai,kung,kunk,kunkur,kunzite,kuphar,kupper,kurbash,kurgan,kuruma,kurung,kurus,kurvey,kusa,kusam,kusha,kuskite,kuskos,kuskus,kusti,kusum,kutcha,kuttab,kuttar,kuttaur,kuvasz,kvass,kvint,kvinter,kwamme,kwan,kwarta,kwazoku,kyack,kyah,kyar,kyat,kyaung,kyl,kyle,kylite,kylix,kyrine,kyte,l,la,laager,laang,lab,labara,labarum,labba,labber,labefy,label,labeler,labella,labia,labial,labiate,labile,labiose,labis,labium,lablab,labor,labored,laborer,labour,labra,labral,labret,labroid,labrose,labrum,labrys,lac,lacca,laccaic,laccase,laccol,lace,laced,laceman,lacepod,lacer,lacery,lacet,lache,laches,lachsa,lacily,lacing,lacinia,lacis,lack,lacker,lackey,lackwit,lacmoid,lacmus,laconic,lacquer,lacrym,lactam,lactant,lactary,lactase,lactate,lacteal,lactean,lactic,lactid,lactide,lactify,lactim,lacto,lactoid,lactol,lactone,lactose,lactyl,lacuna,lacunae,lacunal,lacunar,lacune,lacwork,lacy,lad,ladakin,ladanum,ladder,laddery,laddess,laddie,laddish,laddock,lade,lademan,laden,lader,ladhood,ladies,ladify,lading,ladkin,ladle,ladler,ladrone,lady,ladybug,ladydom,ladyfly,ladyfy,ladyish,ladyism,ladykin,ladyly,laet,laeti,laetic,lag,lagan,lagarto,lagen,lagena,lagend,lager,lagetto,laggar,laggard,lagged,laggen,lagger,laggin,lagging,laglast,lagna,lagoon,lagwort,lai,laic,laical,laich,laicism,laicity,laicize,laid,laigh,lain,laine,laiose,lair,lairage,laird,lairdie,lairdly,lairman,lairy,laity,lak,lakatoi,lake,lakelet,laker,lakie,laking,lakish,lakism,lakist,laky,lalang,lall,lalling,lalo,lam,lama,lamaic,lamany,lamb,lamba,lambale,lambda,lambeau,lambent,lamber,lambert,lambie,lambish,lambkin,lambly,lamboys,lamby,lame,lamedh,lamel,lamella,lamely,lament,lameter,lametta,lamia,lamiger,lamiid,lamin,lamina,laminae,laminar,lamish,lamiter,lammas,lammer,lammock,lammy,lamnid,lamnoid,lamp,lampad,lampas,lamper,lampern,lampers,lampfly,lampful,lamping,lampion,lampist,lamplet,lamplit,lampman,lampoon,lamprey,lan,lanas,lanate,lanated,lanaz,lance,lanced,lancely,lancer,lances,lancet,lancha,land,landau,landed,lander,landing,landman,landmil,lane,lanete,laneway,laney,langaha,langca,langi,langite,langle,langoon,langsat,langued,languet,languid,languor,langur,laniary,laniate,lanific,lanioid,lanista,lank,lanket,lankily,lankish,lankly,lanky,lanner,lanolin,lanose,lansat,lanseh,lanson,lant,lantaca,lantern,lantum,lanugo,lanum,lanx,lanyard,lap,lapacho,lapcock,lapel,lapeler,lapful,lapillo,lapon,lappage,lapped,lapper,lappet,lapping,lapse,lapsed,lapser,lapsi,lapsing,lapwing,lapwork,laquear,laqueus,lar,larceny,larch,larchen,lard,larder,lardite,lardon,lardy,large,largely,largen,largess,largish,largo,lari,lariat,larick,larid,larigo,larigot,lariid,larin,larine,larixin,lark,larker,larking,larkish,larky,larmier,larnax,laroid,larrup,larry,larva,larvae,larval,larvate,larve,larvule,larynx,las,lasa,lascar,laser,lash,lasher,lask,lasket,lasque,lass,lasset,lassie,lasso,lassock,lassoer,last,lastage,laster,lasting,lastly,lastre,lasty,lat,lata,latah,latch,latcher,latchet,late,latebra,lated,lateen,lately,laten,latence,latency,latent,later,latera,laterad,lateral,latest,latex,lath,lathe,lathee,lathen,lather,lathery,lathing,lathy,latices,latigo,lation,latish,latitat,latite,latomy,latrant,latria,latrine,latro,latrobe,latron,latten,latter,lattice,latus,lauan,laud,lauder,laudist,laugh,laughee,laugher,laughy,lauia,laun,launce,launch,laund,launder,laundry,laur,laura,laurate,laurel,lauric,laurin,laurite,laurone,lauryl,lava,lavable,lavabo,lavacre,lavage,lavanga,lavant,lavaret,lavatic,lave,laveer,laver,lavic,lavish,lavolta,law,lawbook,lawful,lawing,lawish,lawk,lawless,lawlike,lawman,lawn,lawned,lawner,lawnlet,lawny,lawsuit,lawter,lawyer,lawyery,lawzy,lax,laxate,laxism,laxist,laxity,laxly,laxness,lay,layaway,layback,layboy,layer,layered,layery,layette,laying,layland,layman,layne,layoff,layout,layover,layship,laystow,lazar,lazaret,lazarly,laze,lazily,lazule,lazuli,lazy,lazyish,lea,leach,leacher,leachy,lead,leadage,leaded,leaden,leader,leadin,leading,leadman,leadoff,leadout,leadway,leady,leaf,leafage,leafboy,leafcup,leafdom,leafed,leafen,leafer,leafery,leafit,leaflet,leafy,league,leaguer,leak,leakage,leaker,leaky,leal,lealand,leally,lealty,leam,leamer,lean,leaner,leaning,leanish,leanly,leant,leap,leaper,leaping,leapt,lear,learn,learned,learner,learnt,lease,leaser,leash,leasing,leasow,least,leat,leath,leather,leatman,leave,leaved,leaven,leaver,leaves,leaving,leavy,leawill,leban,lebbek,lecama,lech,lecher,lechery,lechwe,leck,lecker,lectern,lection,lector,lectual,lecture,lecyth,led,lede,leden,ledge,ledged,ledger,ledging,ledgy,ledol,lee,leech,leecher,leeches,leed,leefang,leek,leekish,leeky,leep,leepit,leer,leerily,leerish,leery,lees,leet,leetman,leewan,leeward,leeway,leewill,left,leftish,leftism,leftist,leg,legacy,legal,legally,legate,legatee,legato,legator,legend,legenda,leger,leges,legged,legger,legging,leggy,leghorn,legible,legibly,legific,legion,legist,legit,legitim,leglen,legless,leglet,leglike,legman,legoa,legpull,legrope,legua,leguan,legume,legumen,legumin,lehr,lehrman,lehua,lei,leister,leisure,lek,lekach,lekane,lekha,leman,lemel,lemma,lemmata,lemming,lemnad,lemon,lemony,lempira,lemur,lemures,lemurid,lenad,lenard,lench,lend,lendee,lender,lene,length,lengthy,lenient,lenify,lenis,lenitic,lenity,lennow,leno,lens,lensed,lent,lenth,lentigo,lentil,lentisc,lentisk,lento,lentoid,lentor,lentous,lenvoi,lenvoy,leonine,leonite,leopard,leotard,lepa,leper,lepered,leporid,lepra,lepric,leproid,leproma,leprose,leprosy,leprous,leptid,leptite,leptome,lepton,leptus,lerot,lerp,lerret,lesche,lesion,lesiy,less,lessee,lessen,lesser,lessive,lessn,lesson,lessor,lest,lestrad,let,letch,letchy,letdown,lete,lethal,letoff,letten,letter,lettrin,lettuce,letup,leu,leuch,leucine,leucism,leucite,leuco,leucoid,leucoma,leucon,leucous,leucyl,leud,leuk,leuma,lev,levance,levant,levator,levee,level,leveler,levelly,lever,leverer,leveret,levers,levier,levin,levir,levity,levo,levulic,levulin,levy,levyist,lew,lewd,lewdly,lewis,lewth,lexia,lexical,lexicon,ley,leyland,leysing,li,liable,liaison,liana,liang,liar,liard,libant,libate,libber,libbet,libbra,libel,libelee,libeler,liber,liberal,liberty,libido,libken,libra,libral,library,librate,licca,license,lich,licham,lichen,licheny,lichi,licit,licitly,lick,licker,licking,licorn,licorne,lictor,lid,lidded,lidder,lidgate,lidless,lie,lied,lief,liege,liegely,lieger,lien,lienal,lienee,lienic,lienor,lier,lierne,lierre,liesh,lieu,lieue,lieve,life,lifeday,lifeful,lifelet,lifer,lifey,lifo,lift,lifter,lifting,liftman,ligable,ligas,ligate,ligator,ligger,light,lighten,lighter,lightly,ligne,lignify,lignin,lignite,lignone,lignose,lignum,ligula,ligular,ligule,ligulin,ligure,liin,lija,likable,like,likely,liken,liker,likin,liking,liknon,lilac,lilacin,lilacky,lile,lilied,lill,lilt,lily,lilyfy,lim,limacel,limacon,liman,limb,limbal,limbat,limbate,limbeck,limbed,limber,limbers,limbic,limbie,limbo,limbous,limbus,limby,lime,limeade,limeman,limen,limer,limes,limetta,limey,liminal,liming,limit,limital,limited,limiter,limma,limmer,limmock,limmu,limn,limner,limnery,limniad,limnite,limoid,limonin,limose,limous,limp,limper,limpet,limpid,limpily,limpin,limping,limpish,limpkin,limply,limpsy,limpy,limsy,limu,limulid,limy,lin,lina,linable,linaga,linage,linaloa,linalol,linch,linchet,linctus,lindane,linden,linder,lindo,line,linea,lineage,lineal,linear,lineate,linecut,lined,linelet,lineman,linen,liner,ling,linga,linge,lingel,linger,lingo,lingtow,lingua,lingual,linguet,lingula,lingy,linha,linhay,linie,linin,lining,linitis,liniya,linja,linje,link,linkage,linkboy,linked,linker,linking,linkman,links,linky,linn,linnet,lino,linolic,linolin,linon,linous,linoxin,linoxyn,linpin,linseed,linsey,lint,lintel,linten,linter,lintern,lintie,linty,linwood,liny,lion,lioncel,lionel,lioness,lionet,lionism,lionize,lionly,lip,lipa,liparid,lipase,lipemia,lipide,lipin,lipless,liplet,liplike,lipoid,lipoma,lipopod,liposis,lipped,lippen,lipper,lipping,lippy,lipuria,lipwork,liquate,liquefy,liqueur,liquid,liquidy,liquor,lira,lirate,lire,lirella,lis,lisere,lish,lisk,lisle,lisp,lisper,lispund,liss,lissom,lissome,list,listed,listel,listen,lister,listing,listred,lit,litany,litas,litch,litchi,lite,liter,literal,lith,lithe,lithely,lithi,lithia,lithic,lithify,lithite,lithium,litho,lithoid,lithous,lithy,litmus,litotes,litra,litster,litten,litter,littery,little,lituite,liturgy,litus,lituus,litz,livable,live,lived,livedo,lively,liven,liver,livered,livery,livid,lividly,livier,living,livor,livre,liwan,lixive,lizard,llama,llano,llautu,llyn,lo,loa,loach,load,loadage,loaded,loaden,loader,loading,loaf,loafer,loafing,loaflet,loam,loamily,loaming,loamy,loan,loaner,loanin,loath,loathe,loather,loathly,loave,lob,lobal,lobar,lobate,lobated,lobber,lobbish,lobby,lobbyer,lobcock,lobe,lobed,lobelet,lobelin,lobfig,lobing,lobiped,lobo,lobola,lobose,lobster,lobtail,lobular,lobule,lobworm,loca,locable,local,locale,locally,locanda,locate,locator,loch,lochage,lochan,lochia,lochial,lochus,lochy,loci,lock,lockage,lockbox,locked,locker,locket,lockful,locking,lockjaw,locklet,lockman,lockout,lockpin,lockram,lockup,locky,loco,locoism,locular,locule,loculus,locum,locus,locust,locusta,locutor,lod,lode,lodge,lodged,lodger,lodging,loess,loessal,loessic,lof,loft,lofter,loftily,lofting,loftman,lofty,log,loganin,logbook,logcock,loge,logeion,logeum,loggat,logged,logger,loggia,loggin,logging,loggish,loghead,logia,logic,logical,logie,login,logion,logium,loglet,loglike,logman,logoi,logos,logroll,logway,logwise,logwood,logwork,logy,lohan,lohoch,loimic,loin,loined,loir,loiter,loka,lokao,lokaose,loke,loket,lokiec,loll,loller,lollop,lollopy,lolly,loma,lombard,lomboy,loment,lomita,lommock,lone,lonely,long,longa,longan,longbow,longe,longear,longer,longfin,longful,longing,longish,longjaw,longly,longs,longue,longway,lontar,loo,looby,lood,loof,loofah,loofie,look,looker,looking,lookout,lookum,loom,loomer,loomery,looming,loon,loonery,looney,loony,loop,looper,loopful,looping,loopist,looplet,loopy,loose,loosely,loosen,looser,loosing,loosish,loot,looten,looter,lootie,lop,lope,loper,lophiid,lophine,loppard,lopper,loppet,lopping,loppy,lopseed,loquat,loquent,lora,loral,loran,lorate,lorcha,lord,lording,lordkin,lordlet,lordly,lordy,lore,loreal,lored,lori,loric,lorica,lorilet,lorimer,loriot,loris,lormery,lorn,loro,lorry,lors,lorum,lory,losable,lose,losel,loser,losh,losing,loss,lost,lot,lota,lotase,lote,lotic,lotion,lotment,lotrite,lots,lotter,lottery,lotto,lotus,lotusin,louch,loud,louden,loudish,loudly,louey,lough,louk,loukoum,loulu,lounder,lounge,lounger,loungy,loup,loupe,lour,lourdy,louse,lousily,louster,lousy,lout,louter,louther,loutish,louty,louvar,louver,lovable,lovably,lovage,love,loveful,lovely,loveman,lover,lovered,loverly,loving,low,lowa,lowan,lowbell,lowborn,lowboy,lowbred,lowdah,lowder,loweite,lower,lowerer,lowery,lowish,lowland,lowlily,lowly,lowmen,lowmost,lown,lowness,lownly,lowth,lowwood,lowy,lox,loxia,loxic,loxotic,loy,loyal,loyally,loyalty,lozenge,lozengy,lubber,lube,lubra,lubric,lubrify,lucanid,lucarne,lucban,luce,lucence,lucency,lucent,lucern,lucerne,lucet,lucible,lucid,lucida,lucidly,lucifee,lucific,lucigen,lucivee,luck,lucken,luckful,luckie,luckily,lucky,lucre,lucrify,lucule,lucumia,lucy,ludden,ludibry,ludo,lue,lues,luetic,lufbery,luff,lug,luge,luger,luggage,luggar,lugged,lugger,luggie,lugmark,lugsail,lugsome,lugworm,luhinga,luigino,luke,lukely,lulab,lull,lullaby,luller,lulu,lum,lumbago,lumbang,lumbar,lumber,lumen,luminal,lumine,lummox,lummy,lump,lumper,lumpet,lumpily,lumping,lumpish,lumpkin,lumpman,lumpy,luna,lunacy,lunar,lunare,lunary,lunate,lunatic,lunatum,lunch,luncher,lune,lunes,lunette,lung,lunge,lunged,lunger,lungful,lungi,lungie,lungis,lungy,lunn,lunoid,lunt,lunula,lunular,lunule,lunulet,lupe,lupeol,lupeose,lupine,lupinin,lupis,lupoid,lupous,lupulic,lupulin,lupulus,lupus,lura,lural,lurch,lurcher,lurdan,lure,lureful,lurer,lurg,lurid,luridly,lurk,lurker,lurky,lurrier,lurry,lush,lusher,lushly,lushy,lusk,lusky,lusory,lust,luster,lustful,lustily,lustra,lustral,lustrum,lusty,lut,lutany,lute,luteal,lutecia,lutein,lutelet,luteo,luteoma,luteous,luter,luteway,lutfisk,luthern,luthier,luting,lutist,lutose,lutrin,lutrine,lux,luxate,luxe,luxury,luxus,ly,lyam,lyard,lyceal,lyceum,lycid,lycopin,lycopod,lycosid,lyctid,lyddite,lydite,lye,lyery,lygaeid,lying,lyingly,lymph,lymphad,lymphy,lyncean,lynch,lyncher,lyncine,lynx,lyra,lyrate,lyrated,lyraway,lyre,lyreman,lyric,lyrical,lyrism,lyrist,lys,lysate,lyse,lysin,lysine,lysis,lysogen,lyssa,lyssic,lytic,lytta,lyxose,m,ma,maam,mabi,mabolo,mac,macabre,macaco,macadam,macan,macana,macao,macaque,macaw,macco,mace,maceman,macer,machan,machar,machete,machi,machila,machin,machine,machree,macies,mack,mackins,mackle,macle,macled,maco,macrame,macro,macron,macuca,macula,macular,macule,macuta,mad,madam,madame,madcap,madden,madder,madding,maddish,maddle,made,madefy,madhuca,madid,madling,madly,madman,madnep,madness,mado,madoqua,madrier,madrona,madship,maduro,madweed,madwort,mae,maenad,maestri,maestro,maffia,maffick,maffle,mafflin,mafic,mafoo,mafura,mag,magadis,magani,magas,mage,magenta,magged,maggle,maggot,maggoty,magi,magic,magical,magiric,magma,magnate,magnes,magnet,magneta,magneto,magnify,magnum,magot,magpie,magpied,magsman,maguari,maguey,maha,mahaleb,mahalla,mahant,mahar,maharao,mahatma,mahmal,mahmudi,mahoe,maholi,mahone,mahout,mahseer,mahua,mahuang,maid,maidan,maiden,maidish,maidism,maidkin,maidy,maiefic,maigre,maiid,mail,mailbag,mailbox,mailed,mailer,mailie,mailman,maim,maimed,maimer,maimon,main,mainly,mainour,mainpin,mains,maint,maintop,maioid,maire,maize,maizer,majagua,majesty,majo,majoon,major,makable,make,makedom,maker,makhzan,maki,making,makluk,mako,makuk,mal,mala,malacia,malacon,malady,malagma,malaise,malakin,malambo,malanga,malapi,malar,malaria,malarin,malate,malati,malax,malduck,male,malease,maleate,maleic,malella,maleo,malfed,mali,malic,malice,malicho,malign,malik,maline,malines,malism,malison,malist,malkin,mall,mallard,malleal,mallear,mallee,mallein,mallet,malleus,mallow,mallum,mallus,malm,malmsey,malmy,malo,malodor,malonic,malonyl,malouah,malpais,malt,maltase,malter,maltha,malting,maltman,maltose,malty,mamba,mambo,mamma,mammal,mammary,mammate,mammee,mammer,mammock,mammon,mammoth,mammula,mammy,mamo,man,mana,manacle,manage,managee,manager,manaism,manakin,manal,manas,manatee,manavel,manbird,manbot,manche,manchet,mancono,mancus,mand,mandala,mandant,mandate,mandil,mandola,mandom,mandora,mandore,mandra,mandrel,mandrin,mandua,mandyas,mane,maned,manege,manei,manent,manes,maness,maney,manful,mang,manga,mangal,mange,mangeao,mangel,manger,mangi,mangily,mangle,mangler,mango,mangona,mangue,mangy,manhead,manhole,manhood,mani,mania,maniac,manic,manid,manify,manikin,manila,manilla,manille,manioc,maniple,manism,manist,manito,maniu,manjak,mank,mankin,mankind,manless,manlet,manlike,manlily,manling,manly,manna,mannan,manner,manners,manness,mannide,mannie,mannify,manning,mannish,mannite,mannose,manny,mano,manoc,manomin,manor,manque,manred,manrent,manroot,manrope,mansard,manse,manship,mansion,manso,mant,manta,mantal,manteau,mantel,manter,mantes,mantic,mantid,mantis,mantle,mantled,mantlet,manto,mantoid,mantra,mantrap,mantua,manual,manuao,manuka,manul,manuma,manumea,manumit,manure,manurer,manus,manward,manway,manweed,manwise,many,manzana,manzil,mao,maomao,map,mapach,mapau,mapland,maple,mapo,mapper,mappist,mappy,mapwise,maqui,maquis,mar,marabou,maraca,maracan,marae,maral,marang,marara,mararie,marasca,maraud,marble,marbled,marbler,marbles,marbly,marc,marcel,march,marcher,marcid,marco,marconi,marcor,mardy,mare,maremma,marengo,marfire,margay,marge,margent,margin,margosa,marhala,maria,marid,marimba,marina,marine,mariner,mariola,maris,marish,marital,mark,marka,marked,marker,market,markhor,marking,markka,markman,markup,marl,marled,marler,marli,marlin,marline,marlite,marlock,marlpit,marly,marm,marmit,marmite,marmose,marmot,maro,marok,maroon,marplot,marque,marquee,marquis,marrano,marree,marrer,married,marrier,marron,marrot,marrow,marrowy,marry,marryer,marsh,marshal,marshy,marsoon,mart,martel,marten,martext,martial,martin,martite,martlet,martyr,martyry,maru,marvel,marver,mary,marybud,mas,masa,mascara,mascled,mascot,masculy,masdeu,mash,masha,mashal,masher,mashie,mashing,mashman,mashru,mashy,masjid,mask,masked,masker,maskoid,maslin,mason,masoned,masoner,masonic,masonry,masooka,masoola,masque,masquer,mass,massa,massage,masse,massel,masser,masseur,massier,massif,massily,massive,massoy,massula,massy,mast,mastaba,mastage,mastax,masted,master,mastery,mastful,mastic,mastiff,masting,mastman,mastoid,masty,masu,mat,mataco,matador,matai,matalan,matanza,matapan,matapi,matara,matax,match,matcher,matchy,mate,mately,mater,matey,math,mathes,matico,matin,matinal,matinee,mating,matins,matipo,matka,matless,matlow,matra,matral,matrass,matreed,matric,matris,matrix,matron,matross,matsu,matsuri,matta,mattaro,matte,matted,matter,mattery,matti,matting,mattock,mattoid,mattoir,mature,maturer,matweed,maty,matzo,matzoon,matzos,matzoth,mau,maud,maudle,maudlin,mauger,maugh,maul,mauler,mauley,mauling,maumet,maun,maund,maunder,maundy,maunge,mauther,mauve,mauvine,maux,mavis,maw,mawk,mawkish,mawky,mawp,maxilla,maxim,maxima,maximal,maximed,maximum,maximus,maxixe,maxwell,may,maya,maybe,maybush,maycock,mayday,mayfish,mayhap,mayhem,maynt,mayor,mayoral,maypop,maysin,mayten,mayweed,maza,mazame,mazard,maze,mazed,mazedly,mazeful,mazer,mazic,mazily,mazuca,mazuma,mazurka,mazut,mazy,mazzard,mbalolo,mbori,me,meable,mead,meader,meadow,meadowy,meager,meagre,meak,meal,mealer,mealies,mealily,mealman,mealy,mean,meander,meaned,meaner,meaning,meanish,meanly,meant,mease,measle,measled,measles,measly,measure,meat,meatal,meated,meatily,meatman,meatus,meaty,mecate,mecon,meconic,meconin,medal,medaled,medalet,meddle,meddler,media,mediacy,mediad,medial,median,mediant,mediate,medic,medical,medico,mediety,medimn,medimno,medino,medio,medium,medius,medlar,medley,medrick,medulla,medusal,medusan,meebos,meece,meed,meek,meeken,meekly,meered,meerkat,meese,meet,meeten,meeter,meeting,meetly,megabar,megaerg,megafog,megapod,megaron,megaton,megerg,megilp,megmho,megohm,megrim,mehalla,mehari,mehtar,meile,mein,meinie,meio,meiobar,meiosis,meiotic,meith,mel,mela,melada,melagra,melam,melamed,melange,melanic,melanin,melano,melasma,melch,meld,melder,meldrop,mele,melee,melena,melene,melenic,melic,melilot,meline,melisma,melitis,mell,mellate,mellay,meller,mellit,mellite,mellon,mellow,mellowy,melodia,melodic,melody,meloe,meloid,melon,melonry,melos,melosa,melt,meltage,melted,melter,melters,melting,melton,mem,member,membral,memento,meminna,memo,memoir,memoria,memory,men,menace,menacer,menacme,menage,menald,mend,mendee,mender,mending,mendole,mends,menfolk,meng,menhir,menial,meninx,menkind,mennom,mensa,mensal,mense,menses,mensk,mensual,mental,mentary,menthol,menthyl,mention,mentor,mentum,menu,meny,menyie,menzie,merbaby,mercal,mercer,mercery,merch,merchet,mercy,mere,merel,merely,merfold,merfolk,merge,merger,mergh,meriah,merice,meril,merism,merist,merit,merited,meriter,merk,merkhet,merkin,merl,merle,merlin,merlon,mermaid,merman,mero,merop,meropia,meros,merrily,merrow,merry,merse,mesa,mesad,mesail,mesal,mesally,mesange,mesarch,mescal,mese,mesem,mesenna,mesh,meshed,meshy,mesiad,mesial,mesian,mesic,mesilla,mesion,mesityl,mesne,meso,mesobar,mesode,mesodic,mesole,meson,mesonic,mesopic,mespil,mess,message,messan,messe,messer,messet,messily,messin,messing,messman,messor,messrs,messtin,messy,mestee,mester,mestiza,mestizo,mestome,met,meta,metad,metage,metal,metaler,metamer,metanym,metate,metayer,mete,metel,meteor,meter,methane,methene,mether,methid,methide,methine,method,methyl,metic,metier,metis,metochy,metonym,metope,metopic,metopon,metra,metreta,metrete,metria,metric,metrics,metrify,metrist,mettar,mettle,mettled,metusia,metze,meuse,meute,mew,meward,mewer,mewl,mewler,mezcal,mezuzah,mezzo,mho,mi,miamia,mian,miaow,miaower,mias,miasm,miasma,miasmal,miasmic,miaul,miauler,mib,mica,micate,mice,micelle,miche,micher,miching,micht,mick,mickle,mico,micrify,micro,microbe,microhm,micron,miction,mid,midday,midden,middle,middler,middy,mide,midge,midget,midgety,midgy,midiron,midland,midleg,midmain,midmorn,midmost,midnoon,midpit,midrash,midrib,midriff,mids,midship,midst,midtap,midvein,midward,midway,midweek,midwife,midwise,midyear,mien,miff,miffy,mig,might,mightnt,mighty,miglio,mignon,migrant,migrate,mihrab,mijl,mikado,mike,mikie,mil,mila,milady,milch,milcher,milchy,mild,milden,milder,mildew,mildewy,mildish,mildly,mile,mileage,miler,mileway,milfoil,milha,miliary,milieu,militia,milium,milk,milken,milker,milkily,milking,milkman,milksop,milky,mill,milla,millage,milldam,mille,milled,miller,millet,millful,milliad,millile,milline,milling,million,millman,milner,milo,milord,milpa,milreis,milsey,milsie,milt,milter,milty,milvine,mim,mima,mimbar,mimble,mime,mimeo,mimer,mimesis,mimetic,mimic,mimical,mimicry,mimine,mimly,mimmest,mimmock,mimmood,mimmoud,mimosis,mimp,mimsey,min,mina,minable,minar,minaret,minaway,mince,mincer,mincing,mind,minded,minder,mindful,minding,mine,miner,mineral,minery,mines,minette,ming,minge,mingle,mingler,mingy,minhag,minhah,miniate,minibus,minicam,minify,minikin,minim,minima,minimal,minimum,minimus,mining,minion,minish,minium,miniver,minivet,mink,minkery,minkish,minnie,minning,minnow,minny,mino,minoize,minor,minot,minster,mint,mintage,minter,mintman,minty,minuend,minuet,minus,minute,minuter,minutia,minx,minxish,miny,minyan,miqra,mir,mirach,miracle,mirador,mirage,miragy,mirate,mirbane,mird,mirdaha,mire,mirid,mirific,mirish,mirk,miro,mirror,mirrory,mirth,miry,mirza,misact,misadd,misaim,misally,misbias,misbill,misbind,misbode,misborn,misbusy,miscall,miscast,mischio,miscoin,miscook,miscrop,miscue,miscut,misdate,misdaub,misdeal,misdeed,misdeem,misdiet,misdo,misdoer,misdraw,mise,misease,misedit,miser,miserly,misery,misfare,misfile,misfire,misfit,misfond,misform,misgive,misgo,misgrow,mishap,mishmee,misjoin,miskeep,misken,miskill,misknow,misky,mislay,mislead,mislear,misled,mislest,mislike,mislive,mismade,mismake,mismate,mismove,misname,misobey,mispage,mispart,mispay,mispick,misplay,misput,misrate,misread,misrule,miss,missal,missay,misseem,missel,misset,missile,missing,mission,missis,missish,missive,misstay,misstep,missy,mist,mistake,mistbow,misted,mistell,mistend,mister,misterm,mistful,mistic,mistide,mistify,mistily,mistime,mistle,mistone,mistook,mistral,mistry,misturn,misty,misura,misuse,misuser,miswed,miswish,misword,misyoke,mite,miter,mitered,miterer,mitis,mitome,mitosis,mitotic,mitra,mitral,mitrate,mitre,mitrer,mitt,mitten,mitty,mity,miurus,mix,mixable,mixed,mixedly,mixen,mixer,mixhill,mixible,mixite,mixtion,mixture,mixy,mizmaze,mizzen,mizzle,mizzler,mizzly,mizzy,mneme,mnemic,mnesic,mnestic,mnioid,mo,moan,moanful,moaning,moat,mob,mobable,mobber,mobbish,mobbism,mobbist,mobby,mobcap,mobed,mobile,moble,moblike,mobship,mobsman,mobster,mocha,mochras,mock,mockado,mocker,mockery,mockful,mocmain,mocuck,modal,modally,mode,model,modeler,modena,modern,modest,modesty,modicum,modify,modish,modist,modiste,modius,modular,module,modulo,modulus,moellon,mofette,moff,mog,mogador,mogdad,moggan,moggy,mogo,moguey,moha,mohabat,mohair,mohar,mohel,moho,mohr,mohur,moider,moidore,moieter,moiety,moil,moiler,moiles,moiley,moiling,moineau,moio,moire,moise,moist,moisten,moistly,moisty,moit,moity,mojarra,mojo,moke,moki,moko,moksha,mokum,moky,mola,molal,molar,molary,molassy,molave,mold,molder,moldery,molding,moldy,mole,moleism,moler,molest,molimen,moline,molka,molland,molle,mollie,mollify,mollusk,molly,molman,moloid,moloker,molompi,molosse,molpe,molt,molten,molter,moly,mombin,momble,mome,moment,momenta,momism,momme,mommet,mommy,momo,mon,mona,monad,monadic,monaene,monal,monarch,monas,monase,monaxon,mone,monel,monepic,moner,moneral,moneran,moneric,moneron,monesia,money,moneyed,moneyer,mong,monger,mongery,mongler,mongrel,mongst,monial,moniker,monism,monist,monitor,monk,monkdom,monkery,monkess,monkey,monkish,monkism,monkly,monny,mono,monoazo,monocle,monocot,monodic,monody,monoid,monomer,mononch,monont,mononym,monose,monotic,monsoon,monster,montage,montana,montane,montant,monte,montem,month,monthly,monthon,montjoy,monton,monture,moo,mooch,moocha,moocher,mood,mooder,moodily,moodish,moodle,moody,mooing,mool,moolet,mools,moolum,moon,moonack,mooned,mooner,moonery,mooneye,moonily,mooning,moonish,moonite,moonja,moonjah,moonlet,moonlit,moonman,moonset,moonway,moony,moop,moor,moorage,mooring,moorish,moorman,moorn,moorpan,moors,moorup,moory,moosa,moose,moosey,moost,moot,mooter,mooth,mooting,mootman,mop,mopane,mope,moper,moph,mophead,moping,mopish,mopla,mopper,moppet,moppy,mopsy,mopus,mor,mora,moraine,moral,morale,morally,morals,morass,morassy,morat,morate,moray,morbid,morbify,mordant,mordent,mordore,more,moreen,moreish,morel,morella,morello,mores,morfrey,morg,morga,morgan,morgay,morgen,morglay,morgue,moric,moriche,morin,morinel,morion,morkin,morlop,mormaor,mormo,mormon,mormyr,mormyre,morn,morne,morned,morning,moro,moroc,morocco,moron,moroncy,morong,moronic,moronry,morose,morosis,morph,morphea,morphew,morphia,morphic,morphon,morris,morrow,morsal,morse,morsel,morsing,morsure,mort,mortal,mortar,mortary,morth,mortier,mortify,mortise,morula,morular,morule,morvin,morwong,mosaic,mosaist,mosette,mosey,mosker,mosque,moss,mossed,mosser,mossery,mossful,mossy,most,moste,mostly,mot,mote,moted,motel,moter,motet,motey,moth,mothed,mother,mothery,mothy,motif,motific,motile,motion,motive,motley,motmot,motor,motored,motoric,motory,mott,motte,mottle,mottled,mottler,motto,mottoed,motyka,mou,mouche,moud,moudie,moudy,mouflon,mouille,moujik,moul,mould,moulded,moule,moulin,mouls,moulter,mouly,mound,moundy,mount,mounted,mounter,moup,mourn,mourner,mouse,mouser,mousery,mousey,mousily,mousing,mousle,mousmee,mousse,moustoc,mousy,mout,moutan,mouth,mouthed,mouther,mouthy,mouton,mouzah,movable,movably,movant,move,mover,movie,moving,mow,mowable,mowana,mowburn,mowch,mowcht,mower,mowha,mowie,mowing,mowland,mown,mowra,mowrah,mowse,mowt,mowth,moxa,moy,moyen,moyenne,moyite,moyle,moyo,mozing,mpret,mu,muang,mubarat,mucago,mucaro,mucedin,much,muchly,mucic,mucid,mucific,mucigen,mucin,muck,mucker,mucket,muckite,muckle,muckman,muckna,mucksy,mucky,mucluc,mucoid,muconic,mucopus,mucor,mucosa,mucosal,mucose,mucous,mucro,mucus,mucusin,mud,mudar,mudbank,mudcap,mudd,mudde,mudden,muddify,muddily,mudding,muddish,muddle,muddler,muddy,mudee,mudfish,mudflow,mudhead,mudhole,mudir,mudiria,mudland,mudlark,mudless,mudra,mudsill,mudweed,mudwort,muermo,muezzin,muff,muffed,muffet,muffin,muffish,muffle,muffled,muffler,mufflin,muffy,mufti,mufty,mug,muga,mugful,mugg,mugger,mugget,muggily,muggins,muggish,muggles,muggy,mugient,mugweed,mugwort,mugwump,muid,muir,muist,mukluk,muktar,mukti,mulatta,mulatto,mulch,mulcher,mulct,mulder,mule,muleman,muleta,muletta,muley,mulga,mulier,mulish,mulism,mulita,mulk,mull,mulla,mullah,mullar,mullein,muller,mullet,mullets,mulley,mullid,mullion,mullite,mullock,mulloid,mulmul,mulse,mulsify,mult,multum,multure,mum,mumble,mumbler,mummer,mummery,mummick,mummied,mummify,mumming,mummy,mumness,mump,mumper,mumpish,mumps,mun,munch,muncher,munchet,mund,mundane,mundic,mundify,mundil,mundle,mung,munga,munge,mungey,mungo,mungofa,munguba,mungy,munific,munity,munj,munjeet,munnion,munshi,munt,muntin,muntjac,mura,murage,mural,muraled,murally,murchy,murder,murdrum,mure,murex,murexan,murga,murgavi,murgeon,muriate,muricid,murid,murine,murinus,muriti,murium,murk,murkily,murkish,murkly,murky,murlin,murly,murmur,murphy,murra,murrain,murre,murrey,murrina,murshid,muruxi,murva,murza,musal,musang,musar,muscade,muscat,muscid,muscle,muscled,muscly,muscoid,muscone,muscose,muscot,muscovy,muscule,muse,mused,museful,museist,muser,musery,musette,museum,mush,musha,mushaa,mushed,musher,mushily,mushla,mushru,mushy,music,musical,musico,musie,musily,musimon,musing,musk,muskat,muskeg,musket,muskie,muskish,muskrat,musky,muslin,musnud,musquaw,musrol,muss,mussal,mussel,mussily,mussuk,mussy,must,mustang,mustard,mustee,muster,mustify,mustily,mustnt,musty,muta,mutable,mutably,mutage,mutant,mutase,mutate,mutch,mute,mutedly,mutely,muth,mutic,mutiny,mutism,mutist,mutive,mutsje,mutt,mutter,mutton,muttony,mutual,mutuary,mutule,mutuum,mux,muyusa,muzhik,muzz,muzzily,muzzle,muzzler,muzzy,my,myal,myalgia,myalgic,myalism,myall,myarian,myatony,mycele,mycelia,mycoid,mycose,mycosin,mycosis,mycotic,mydine,myelic,myelin,myeloic,myeloid,myeloma,myelon,mygale,mygalid,myiasis,myiosis,myitis,mykiss,mymarid,myna,myocele,myocyte,myogen,myogram,myoid,myology,myoma,myomere,myoneme,myope,myophan,myopia,myopic,myops,myopy,myosin,myosis,myosote,myotic,myotome,myotomy,myotony,myowun,myoxine,myrcene,myrcia,myriad,myriare,myrica,myricin,myricyl,myringa,myron,myronic,myrosin,myrrh,myrrhed,myrrhic,myrrhol,myrrhy,myrtal,myrtle,myrtol,mysel,myself,mysell,mysid,mysoid,mysost,myst,mystax,mystery,mystes,mystic,mystify,myth,mythify,mythism,mythist,mythize,mythos,mythus,mytilid,myxa,myxemia,myxo,myxoid,myxoma,myxopod,myzont,n,na,naa,naam,nab,nabak,nabber,nabk,nabla,nable,nabob,nabobry,nabs,nacarat,nace,nacelle,nach,nachani,nacket,nacre,nacred,nacrine,nacrite,nacrous,nacry,nadder,nadir,nadiral,nae,naebody,naegate,nael,naether,nag,naga,nagaika,nagana,nagara,nagger,naggin,nagging,naggish,naggle,naggly,naggy,naght,nagmaal,nagman,nagnag,nagnail,nagor,nagsman,nagster,nagual,naiad,naiant,naid,naif,naifly,naig,naigie,naik,nail,nailbin,nailer,nailery,nailing,nailrod,naily,nain,nainsel,naio,naipkin,nairy,nais,naish,naither,naive,naively,naivete,naivety,nak,nake,naked,nakedly,naker,nakhod,nakhoda,nako,nakong,nakoo,nallah,nam,namable,namaqua,namaz,namda,name,namely,namer,naming,nammad,nan,nana,nancy,nandi,nandine,nandow,nandu,nane,nanes,nanga,nanism,nankeen,nankin,nanny,nanoid,nanpie,nant,nantle,naology,naos,nap,napa,napal,napalm,nape,napead,naperer,napery,naphtha,naphtho,naphtol,napkin,napless,napoo,nappe,napped,napper,napping,nappy,napron,napu,nar,narcism,narcist,narcoma,narcose,narcous,nard,nardine,nardoo,nares,nargil,narial,naric,narica,narine,nark,narky,narr,narra,narras,narrate,narrow,narrowy,narthex,narwhal,nary,nasab,nasal,nasalis,nasally,nasard,nascent,nasch,nash,nashgab,nashgob,nasi,nasial,nasion,nasitis,nasrol,nast,nastic,nastika,nastily,nasty,nasus,nasute,nasutus,nat,nataka,natal,natals,natant,natator,natch,nates,nathe,nather,nation,native,natr,natrium,natron,natter,nattily,nattle,natty,natuary,natural,nature,naucrar,nauger,naught,naughty,naumk,naunt,nauntle,nausea,naut,nautch,nauther,nautic,nautics,naval,navally,navar,navarch,nave,navel,naveled,navet,navette,navew,navite,navvy,navy,naw,nawab,nawt,nay,nayaur,naysay,nayward,nayword,naze,nazim,nazir,ne,nea,neal,neanic,neap,neaped,nearby,nearest,nearish,nearly,neat,neaten,neath,neatify,neatly,neb,neback,nebbed,nebbuck,nebbuk,nebby,nebel,nebris,nebula,nebulae,nebular,nebule,neck,neckar,necked,necker,neckful,necking,necklet,necktie,necrose,nectar,nectary,nedder,neddy,nee,neebor,neebour,need,needer,needful,needham,needily,needing,needle,needled,needler,needles,needly,needs,needy,neeger,neeld,neele,neem,neep,neepour,neer,neese,neet,neetup,neeze,nef,nefast,neffy,neftgil,negate,negator,neger,neglect,negrine,negro,negus,nei,neif,neigh,neigher,neiper,neist,neither,nekton,nelson,nema,nematic,nemeses,nemesic,nemoral,nenta,neo,neocyte,neogamy,neolith,neology,neon,neonate,neorama,neossin,neoteny,neotype,neoza,nep,neper,nephele,nephesh,nephew,nephria,nephric,nephron,nephros,nepman,nepotal,nepote,nepotic,nereite,nerine,neritic,nerval,nervate,nerve,nerver,nervid,nervily,nervine,nerving,nervish,nervism,nervose,nervous,nervule,nervure,nervy,nese,nesh,neshly,nesiote,ness,nest,nestage,nester,nestful,nestle,nestler,nesty,net,netball,netbush,netcha,nete,neter,netful,neth,nether,neti,netleaf,netlike,netman,netop,netsman,netsuke,netted,netter,netting,nettle,nettler,nettly,netty,netwise,network,neuma,neume,neumic,neurad,neural,neurale,neuric,neurin,neurine,neurism,neurite,neuroid,neuroma,neuron,neurone,neurula,neuter,neutral,neutron,neve,nevel,never,nevo,nevoid,nevoy,nevus,new,newcal,newcome,newel,newelty,newing,newings,newish,newly,newness,news,newsboy,newsful,newsman,newsy,newt,newtake,newton,nexal,next,nextly,nexum,nexus,neyanda,ngai,ngaio,ngapi,ni,niacin,niata,nib,nibbana,nibbed,nibber,nibble,nibbler,nibby,niblick,niblike,nibong,nibs,nibsome,nice,niceish,nicely,nicety,niche,nicher,nick,nickel,nicker,nickey,nicking,nickle,nicky,nicolo,nicotia,nicotic,nictate,nid,nidal,nidana,niddick,niddle,nide,nidge,nidget,nidgety,nidi,nidify,niding,nidor,nidulus,nidus,niece,nielled,niello,niepa,nieve,nieveta,nife,niffer,nific,nifle,nifling,nifty,nig,niggard,nigger,niggery,niggle,niggler,niggly,nigh,nighly,night,nighted,nightie,nightly,nights,nignay,nignye,nigori,nigre,nigrify,nigrine,nigrous,nigua,nikau,nil,nilgai,nim,nimb,nimbed,nimbi,nimble,nimbly,nimbose,nimbus,nimiety,niminy,nimious,nimmer,nimshi,nincom,nine,ninepin,nineted,ninety,ninny,ninon,ninth,ninthly,nintu,ninut,niobate,niobic,niobite,niobium,niobous,niog,niota,nip,nipa,nipper,nippers,nippily,nipping,nipple,nippy,nipter,nirles,nirvana,nisei,nishiki,nisnas,nispero,nisse,nisus,nit,nitch,nitency,niter,nitered,nither,nithing,nitid,nito,niton,nitrate,nitric,nitride,nitrify,nitrile,nitrite,nitro,nitrous,nitryl,nitter,nitty,nitwit,nival,niveous,nix,nixie,niyoga,nizam,nizamut,nizy,njave,no,noa,nob,nobber,nobbily,nobble,nobbler,nobbut,nobby,noble,nobley,nobly,nobody,nobs,nocake,nocent,nock,nocket,nocktat,noctuid,noctule,nocturn,nocuity,nocuous,nod,nodal,nodated,nodder,nodding,noddle,noddy,node,noded,nodi,nodiak,nodical,nodose,nodous,nodular,nodule,noduled,nodulus,nodus,noel,noetic,noetics,nog,nogada,nogal,noggen,noggin,nogging,noghead,nohow,noil,noilage,noiler,noily,noint,noir,noise,noisily,noisome,noisy,nokta,noll,nolle,nolo,noma,nomad,nomadic,nomancy,nomarch,nombril,nome,nomial,nomic,nomina,nominal,nominee,nominy,nomism,nomisma,nomos,non,nonacid,nonact,nonage,nonagon,nonaid,nonair,nonane,nonary,nonbase,nonce,noncock,noncom,noncome,noncon,nonda,nondo,none,nonego,nonene,nonent,nonepic,nones,nonet,nonevil,nonfact,nonfarm,nonfat,nonfood,nonform,nonfrat,nongas,nongod,nongold,nongray,nongrey,nonhero,nonic,nonion,nonius,nonjury,nonlife,nonly,nonnant,nonnat,nonoic,nonoily,nonomad,nonpaid,nonpar,nonpeak,nonplus,nonpoet,nonport,nonrun,nonsale,nonsane,nonself,nonsine,nonskid,nonslip,nonstop,nonsuit,nontan,nontax,nonterm,nonuple,nonuse,nonuser,nonwar,nonya,nonyl,nonylic,nonzero,noodle,nook,nooked,nookery,nooking,nooklet,nooky,noology,noon,noonday,nooning,noonlit,noop,noose,nooser,nopal,nopalry,nope,nor,norard,norate,noreast,norelin,norgine,nori,noria,norie,norimon,norite,norland,norm,norma,normal,norsel,north,norther,norward,norwest,nose,nosean,nosed,nosegay,noser,nosey,nosine,nosing,nosism,nostic,nostril,nostrum,nosy,not,notable,notably,notaeal,notaeum,notal,notan,notary,notate,notator,notch,notched,notchel,notcher,notchy,note,noted,notedly,notekin,notelet,noter,nother,nothing,nothous,notice,noticer,notify,notion,notitia,notour,notself,notum,nougat,nought,noun,nounal,nounize,noup,nourice,nourish,nous,nouther,nova,novalia,novate,novator,novcic,novel,novelet,novella,novelly,novelry,novelty,novem,novena,novene,novice,novity,now,nowaday,noway,noways,nowed,nowel,nowhat,nowhen,nowhere,nowhit,nowise,nowness,nowt,nowy,noxa,noxal,noxally,noxious,noy,noyade,noyau,nozzle,nozzler,nth,nu,nuance,nub,nubbin,nubble,nubbly,nubby,nubia,nubile,nucal,nucha,nuchal,nucin,nucleal,nuclear,nuclei,nuclein,nucleon,nucleus,nuclide,nucule,nuculid,nudate,nuddle,nude,nudely,nudge,nudger,nudiped,nudish,nudism,nudist,nudity,nugator,nuggar,nugget,nuggety,nugify,nuke,nul,null,nullah,nullify,nullism,nullity,nullo,numb,number,numbing,numble,numbles,numbly,numda,numdah,numen,numeral,numero,nummary,nummi,nummus,numud,nun,nunatak,nunbird,nunch,nuncio,nuncle,nundine,nunhood,nunky,nunlet,nunlike,nunnari,nunnery,nunni,nunnify,nunnish,nunship,nuptial,nuque,nuraghe,nurhag,nurly,nurse,nurser,nursery,nursing,nursle,nursy,nurture,nusfiah,nut,nutant,nutate,nutcake,nutgall,nuthook,nutlet,nutlike,nutmeg,nutpick,nutria,nutrice,nutrify,nutseed,nutted,nutter,nuttery,nuttily,nutting,nuttish,nutty,nuzzer,nuzzle,nyanza,nye,nylast,nylon,nymil,nymph,nympha,nymphae,nymphal,nymphet,nymphic,nymphid,nymphly,nyxis,o,oadal,oaf,oafdom,oafish,oak,oaken,oaklet,oaklike,oakling,oakum,oakweb,oakwood,oaky,oam,oar,oarage,oarcock,oared,oarfish,oarhole,oarial,oaric,oaritic,oaritis,oarium,oarless,oarlike,oarlock,oarlop,oarman,oarsman,oarweed,oary,oasal,oasean,oases,oasis,oasitic,oast,oat,oatbin,oatcake,oatear,oaten,oatfowl,oath,oathay,oathed,oathful,oathlet,oatland,oatlike,oatmeal,oatseed,oaty,oban,obclude,obe,obeah,obeche,obeism,obelia,obeliac,obelial,obelion,obelisk,obelism,obelize,obelus,obese,obesely,obesity,obex,obey,obeyer,obi,obispo,obit,obitual,object,objure,oblate,obley,oblige,obliged,obligee,obliger,obligor,oblique,oblong,obloquy,oboe,oboist,obol,obolary,obole,obolet,obolus,oboval,obovate,obovoid,obscene,obscure,obsede,obsequy,observe,obsess,obtain,obtect,obtest,obtrude,obtund,obtuse,obverse,obvert,obviate,obvious,obvolve,ocarina,occamy,occiput,occlude,occluse,occult,occupy,occur,ocean,oceaned,oceanet,oceanic,ocellar,ocelli,ocellus,oceloid,ocelot,och,ochava,ochavo,ocher,ochery,ochone,ochrea,ochro,ochroid,ochrous,ocht,ock,oclock,ocote,ocque,ocracy,ocrea,ocreate,octad,octadic,octagon,octan,octane,octant,octapla,octarch,octary,octaval,octave,octavic,octavo,octene,octet,octic,octine,octoad,octoate,octofid,octoic,octoid,octonal,octoon,octoped,octopi,octopod,octopus,octose,octoyl,octroi,octroy,octuor,octuple,octuply,octyl,octyne,ocuby,ocular,oculary,oculate,oculist,oculus,od,oda,odacoid,odal,odalisk,odaller,odalman,odd,oddish,oddity,oddlegs,oddly,oddman,oddment,oddness,odds,oddsman,ode,odel,odelet,odeon,odeum,odic,odinite,odious,odist,odium,odology,odontic,odoom,odor,odorant,odorate,odored,odorful,odorize,odorous,odso,odum,odyl,odylic,odylism,odylist,odylize,oe,oecist,oecus,oenin,oenolin,oenomel,oer,oersted,oes,oestrid,oestrin,oestrum,oestrus,of,off,offal,offbeat,offcast,offcome,offcut,offend,offense,offer,offeree,offerer,offeror,offhand,office,officer,offing,offish,offlet,offlook,offscum,offset,offtake,offtype,offward,oflete,oft,often,oftens,ofter,oftest,oftly,oftness,ofttime,ogaire,ogam,ogamic,ogdoad,ogdoas,ogee,ogeed,ogham,oghamic,ogival,ogive,ogived,ogle,ogler,ogmic,ogre,ogreish,ogreism,ogress,ogrish,ogrism,ogtiern,ogum,oh,ohelo,ohia,ohm,ohmage,ohmic,oho,ohoy,oidioid,oii,oil,oilbird,oilcan,oilcoat,oilcup,oildom,oiled,oiler,oilery,oilfish,oilhole,oilily,oilless,oillet,oillike,oilman,oilseed,oilskin,oilway,oily,oilyish,oime,oinomel,oint,oisin,oitava,oka,okapi,okee,okenite,oket,oki,okia,okonite,okra,okrug,olam,olamic,old,olden,older,oldish,oldland,oldness,oldster,oldwife,oleana,olease,oleate,olefin,olefine,oleic,olein,olena,olenid,olent,oleo,oleose,oleous,olfact,olfacty,oliban,olid,oligist,olio,olitory,oliva,olivary,olive,olived,olivet,olivil,olivile,olivine,olla,ollamh,ollapod,ollock,olm,ologist,ology,olomao,olona,oloroso,olpe,oltonde,oltunna,olycook,olykoek,om,omagra,omalgia,omao,omasum,omber,omega,omegoid,omelet,omen,omened,omental,omentum,omer,omicron,omina,ominous,omit,omitis,omitter,omlah,omneity,omniana,omnibus,omnific,omnify,omnist,omnium,on,ona,onager,onagra,onanism,onanist,onca,once,oncetta,oncia,oncin,oncome,oncosis,oncost,ondatra,ondine,ondy,one,onefold,onegite,onehow,oneiric,oneism,onement,oneness,oner,onerary,onerous,onery,oneself,onetime,oneyer,onfall,onflow,ongaro,ongoing,onicolo,onion,onionet,oniony,onium,onkos,onlay,onlepy,onliest,onlook,only,onmarch,onrush,ons,onset,onshore,onside,onsight,onstand,onstead,onsweep,ontal,onto,onus,onward,onwards,onycha,onychia,onychin,onym,onymal,onymity,onymize,onymous,onymy,onyx,onyxis,onza,ooblast,oocyst,oocyte,oodles,ooecial,ooecium,oofbird,ooftish,oofy,oogamy,oogeny,ooglea,oogone,oograph,ooid,ooidal,oolak,oolemma,oolite,oolitic,oolly,oologic,oology,oolong,oomancy,oometer,oometry,oons,oont,oopak,oophore,oophyte,ooplasm,ooplast,oopod,oopodal,oorali,oord,ooscope,ooscopy,oosperm,oospore,ootheca,ootid,ootype,ooze,oozily,oozooid,oozy,opacate,opacify,opacite,opacity,opacous,opah,opal,opaled,opaline,opalish,opalize,opaloid,opaque,ope,opelet,open,opener,opening,openly,opera,operae,operand,operant,operate,opercle,operose,ophic,ophioid,ophite,ophitic,ophryon,opianic,opianyl,opiate,opiatic,opiism,opinant,opine,opiner,opinion,opium,opossum,oppidan,oppose,opposed,opposer,opposit,oppress,oppugn,opsonic,opsonin,opsy,opt,optable,optably,optant,optate,optic,optical,opticon,optics,optimal,optime,optimum,option,optive,opulent,opulus,opus,oquassa,or,ora,orach,oracle,orad,orage,oral,oraler,oralism,oralist,orality,oralize,orally,oralogy,orang,orange,oranger,orangey,orant,orarian,orarion,orarium,orary,orate,oration,orator,oratory,oratrix,orb,orbed,orbic,orbical,orbicle,orbific,orbit,orbital,orbitar,orbite,orbless,orblet,orby,orc,orcanet,orcein,orchard,orchat,orchel,orchic,orchid,orchil,orcin,orcinol,ordain,ordeal,order,ordered,orderer,orderly,ordinal,ordinar,ordinee,ordines,ordu,ordure,ore,oread,orectic,orellin,oreman,orenda,oreweed,orewood,orexis,orf,orfgild,organ,organal,organdy,organer,organic,organon,organry,organum,orgasm,orgeat,orgia,orgiac,orgiacs,orgiasm,orgiast,orgic,orgue,orgy,orgyia,oribi,oriel,oriency,orient,orifice,oriform,origan,origin,orignal,orihon,orillon,oriole,orison,oristic,orle,orlean,orlet,orlo,orlop,ormer,ormolu,orna,ornate,ornery,ornis,ornoite,oroanal,orogen,orogeny,oroide,orology,oronoco,orotund,orphan,orpheon,orpheum,orphrey,orpine,orrery,orrhoid,orris,orsel,orselle,ort,ortalid,ortet,orthal,orthian,orthic,orthid,orthite,ortho,orthose,orthron,ortiga,ortive,ortolan,ortygan,ory,oryssid,os,osamin,osamine,osazone,oscella,oscheal,oscin,oscine,oscnode,oscular,oscule,osculum,ose,osela,oshac,oside,osier,osiered,osiery,osmate,osmatic,osmesis,osmetic,osmic,osmin,osmina,osmious,osmium,osmose,osmosis,osmotic,osmous,osmund,osone,osophy,osprey,ossal,osse,ossein,osselet,osseous,ossicle,ossific,ossify,ossuary,osteal,ostein,ostemia,ostent,osteoid,osteoma,ostial,ostiary,ostiate,ostiole,ostitis,ostium,ostmark,ostosis,ostrich,otalgia,otalgic,otalgy,otarian,otarine,otary,otate,other,othmany,otiant,otiatry,otic,otidine,otidium,otiose,otitic,otitis,otkon,otocyst,otolite,otolith,otology,otosis,ototomy,ottar,otter,otterer,otto,oturia,ouabain,ouabaio,ouabe,ouakari,ouch,ouenite,ouf,ough,ought,oughtnt,oukia,oulap,ounce,ounds,ouphe,ouphish,our,ourie,ouroub,ours,ourself,oust,ouster,out,outact,outage,outarde,outask,outawe,outback,outbake,outban,outbar,outbark,outbawl,outbeam,outbear,outbeg,outbent,outbid,outblot,outblow,outbond,outbook,outborn,outbow,outbowl,outbox,outbrag,outbray,outbred,outbud,outbulk,outburn,outbuy,outbuzz,outby,outcant,outcase,outcast,outcity,outcome,outcrop,outcrow,outcry,outcull,outcure,outcut,outdare,outdate,outdo,outdoer,outdoor,outdraw,outdure,outeat,outecho,outed,outedge,outen,outer,outerly,outeye,outeyed,outface,outfall,outfame,outfast,outfawn,outfeat,outfish,outfit,outflow,outflue,outflux,outfly,outfold,outfool,outfoot,outform,outfort,outgain,outgame,outgang,outgas,outgate,outgaze,outgive,outglad,outglow,outgnaw,outgo,outgoer,outgone,outgrin,outgrow,outgun,outgush,outhaul,outhear,outheel,outher,outhire,outhiss,outhit,outhold,outhowl,outhue,outhunt,outhurl,outhut,outhymn,outing,outish,outjazz,outjest,outjet,outjinx,outjump,outjut,outkick,outkill,outking,outkiss,outknee,outlaid,outland,outlash,outlast,outlaw,outlay,outlean,outleap,outler,outlet,outlie,outlier,outlimb,outlimn,outline,outlip,outlive,outlook,outlord,outlove,outlung,outly,outman,outmate,outmode,outmost,outmove,outname,outness,outnook,outoven,outpace,outpage,outpart,outpass,outpath,outpay,outpeal,outpeep,outpeer,outpick,outpipe,outpity,outplan,outplay,outplod,outplot,outpoll,outpomp,outpop,outport,outpost,outpour,outpray,outpry,outpull,outpurl,outpush,output,outrace,outrage,outrail,outrank,outrant,outrap,outrate,outrave,outray,outre,outread,outrede,outrick,outride,outrig,outring,outroar,outroll,outroot,outrove,outrow,outrun,outrush,outsail,outsay,outsea,outseam,outsee,outseek,outsell,outsert,outset,outshot,outshow,outshut,outside,outsift,outsigh,outsin,outsing,outsit,outsize,outskip,outsoar,outsole,outspan,outspin,outspit,outspue,outstay,outstep,outsuck,outsulk,outsum,outswim,outtalk,outtask,outtear,outtell,outtire,outtoil,outtop,outtrot,outturn,outvie,outvier,outvote,outwait,outwake,outwale,outwalk,outwall,outwar,outward,outwash,outwave,outwear,outweed,outweep,outwell,outwent,outwick,outwile,outwill,outwind,outwing,outwish,outwit,outwith,outwoe,outwood,outword,outwore,outwork,outworn,outyard,outyell,outyelp,outzany,ouzel,ova,oval,ovalish,ovalize,ovally,ovaloid,ovant,ovarial,ovarian,ovarin,ovarium,ovary,ovate,ovated,ovately,ovation,oven,ovenful,ovenly,ovenman,over,overact,overage,overall,overapt,overarm,overawe,overawn,overbet,overbid,overbig,overbit,overbow,overbuy,overby,overcap,overcow,overcoy,overcry,overcup,overcut,overdo,overdry,overdue,overdye,overeat,overegg,overeye,overfag,overfar,overfat,overfed,overfee,overfew,overfit,overfix,overfly,overget,overgo,overgod,overgun,overhit,overhot,overink,overjob,overjoy,overlap,overlax,overlay,overleg,overlie,overlip,overlow,overly,overman,overmix,overnet,overnew,overpay,overpet,overply,overpot,overrim,overrun,oversad,oversea,oversee,overset,oversew,oversot,oversow,overt,overtax,overtip,overtly,overtoe,overtop,overuse,overway,overweb,overwet,overwin,ovest,ovey,ovicell,ovicide,ovicyst,oviduct,oviform,ovigerm,ovile,ovine,ovinia,ovipara,ovisac,ovism,ovist,ovistic,ovocyte,ovoid,ovoidal,ovolo,ovology,ovular,ovulary,ovulate,ovule,ovulist,ovum,ow,owd,owe,owelty,ower,owerby,owght,owing,owk,owl,owldom,owler,owlery,owlet,owlhead,owling,owlish,owlism,owllike,owly,own,owner,ownhood,ownness,ownself,owrehip,owrelay,owse,owsen,owser,owtchah,ox,oxacid,oxalan,oxalate,oxalic,oxalite,oxalyl,oxamate,oxamic,oxamid,oxamide,oxan,oxanate,oxane,oxanic,oxazine,oxazole,oxbane,oxberry,oxbird,oxbiter,oxblood,oxbow,oxboy,oxbrake,oxcart,oxcheek,oxea,oxeate,oxen,oxeote,oxer,oxetone,oxeye,oxfly,oxgang,oxgoad,oxhead,oxheal,oxheart,oxhide,oxhoft,oxhorn,oxhouse,oxhuvud,oxidant,oxidase,oxidate,oxide,oxidic,oxidize,oximate,oxime,oxland,oxlike,oxlip,oxman,oxonic,oxonium,oxozone,oxphony,oxreim,oxshoe,oxskin,oxtail,oxter,oxwort,oxy,oxyacid,oxygas,oxygen,oxyl,oxymel,oxyntic,oxyopia,oxysalt,oxytone,oyapock,oyer,oyster,ozena,ozonate,ozone,ozoned,ozonic,ozonide,ozonify,ozonize,ozonous,ozophen,ozotype,p,pa,paal,paar,paauw,pabble,pablo,pabouch,pabular,pabulum,pac,paca,pacable,pacate,pacay,pacaya,pace,paced,pacer,pachak,pachisi,pacific,pacify,pack,package,packer,packery,packet,packly,packman,packway,paco,pact,paction,pad,padder,padding,paddle,paddled,paddler,paddock,paddy,padella,padfoot,padge,padle,padlike,padlock,padnag,padre,padtree,paean,paegel,paegle,paenula,paeon,paeonic,paga,pagan,paganic,paganly,paganry,page,pageant,pagedom,pageful,pager,pagina,paginal,pagoda,pagrus,pagurid,pagus,pah,paha,pahi,pahlavi,pahmi,paho,pahutan,paigle,paik,pail,pailful,pailou,pain,pained,painful,paining,paint,painted,painter,painty,paip,pair,paired,pairer,pais,paisa,paiwari,pajama,pajock,pakchoi,pakeha,paktong,pal,palace,palaced,paladin,palaite,palama,palame,palanka,palar,palas,palatal,palate,palated,palatic,palaver,palay,palazzi,palch,pale,palea,paleate,paled,palely,paleola,paler,palet,paletot,palette,paletz,palfrey,palgat,pali,palikar,palila,palinal,paling,palisfy,palish,palkee,pall,palla,pallae,pallah,pallall,palled,pallet,palli,pallial,pallid,pallion,pallium,pallone,pallor,pally,palm,palma,palmad,palmar,palmary,palmate,palmed,palmer,palmery,palmful,palmist,palmite,palmito,palmo,palmula,palmus,palmy,palmyra,palolo,palp,palpal,palpate,palped,palpi,palpon,palpus,palsied,palster,palsy,palt,palter,paltry,paludal,paludic,palule,palulus,palus,paly,pam,pament,pamment,pampas,pampean,pamper,pampero,pampre,pan,panace,panacea,panache,panada,panade,panama,panaris,panary,panax,pancake,pand,panda,pandal,pandan,pandect,pandemy,pander,pandita,pandle,pandora,pandour,pandrop,pandura,pandy,pane,paned,paneity,panel,panela,paneler,panfil,panfish,panful,pang,pangamy,pangane,pangen,pangene,pangful,pangi,panhead,panic,panical,panicky,panicle,panisc,panisca,panisic,pank,pankin,panman,panmixy,panmug,pannade,pannage,pannam,panne,pannel,panner,pannery,pannier,panning,pannose,pannum,pannus,panocha,panoche,panoply,panoram,panse,panside,pansied,pansy,pant,pantas,panter,panther,pantie,panties,pantile,panting,pantle,pantler,panto,pantod,panton,pantoon,pantoum,pantry,pants,pantun,panty,panung,panurgy,panyar,paolo,paon,pap,papa,papable,papabot,papacy,papain,papal,papally,papalty,papane,papaw,papaya,papboat,pape,paper,papered,paperer,papern,papery,papess,papey,papilla,papion,papish,papism,papist,papize,papless,papmeat,papoose,pappi,pappose,pappox,pappus,pappy,papreg,paprica,paprika,papula,papular,papule,papyr,papyral,papyri,papyrin,papyrus,paquet,par,para,parable,paracme,parade,parader,parado,parados,paradox,parafle,parage,paragon,parah,paraiba,parale,param,paramo,parang,parao,parapet,paraph,parapod,pararek,parasol,paraspy,parate,paraxon,parbake,parboil,parcel,parch,parcher,parchy,parcook,pard,pardao,parded,pardesi,pardine,pardner,pardo,pardon,pare,parel,parella,paren,parent,parer,paresis,paretic,parfait,pargana,parge,parget,pargo,pari,pariah,parial,parian,paries,parify,parilla,parine,paring,parish,parisis,parison,parity,park,parka,parkee,parker,parkin,parking,parkish,parkway,parky,parlay,parle,parley,parling,parlish,parlor,parlous,parly,parma,parmak,parnas,parnel,paroch,parode,parodic,parodos,parody,paroecy,parol,parole,parolee,paroli,paronym,parotic,parotid,parotis,parous,parpal,parquet,parr,parrel,parrier,parrock,parrot,parroty,parry,parse,parsec,parser,parsley,parsnip,parson,parsony,part,partake,partan,parted,parter,partial,partile,partite,partlet,partly,partner,parto,partook,parture,party,parulis,parure,paruria,parvenu,parvis,parvule,pasan,pasang,paschal,pascual,pash,pasha,pashm,pasi,pasmo,pasquil,pasquin,pass,passade,passado,passage,passant,passe,passee,passen,passer,passewa,passing,passion,passir,passive,passkey,passman,passo,passout,passus,passway,past,paste,pasted,pastel,paster,pastern,pasteur,pastil,pastile,pastime,pasting,pastor,pastose,pastry,pasture,pasty,pasul,pat,pata,pataca,patacao,pataco,patagon,pataka,patamar,patao,patapat,pataque,patas,patball,patch,patcher,patchy,pate,patefy,patel,patella,paten,patency,patener,patent,pater,patera,patesi,path,pathed,pathema,pathic,pathlet,pathos,pathway,pathy,patible,patient,patina,patine,patined,patio,patly,patness,pato,patois,patola,patonce,patria,patrial,patrice,patrico,patrin,patriot,patrist,patrix,patrol,patron,patroon,patta,patte,pattee,patten,patter,pattern,pattu,patty,patu,patwari,paty,pau,paucify,paucity,paughty,paukpan,paular,paulie,paulin,paunch,paunchy,paup,pauper,pausal,pause,pauser,paussid,paut,pauxi,pavage,pavan,pavane,pave,paver,pavid,pavier,paving,pavior,paviour,pavis,paviser,pavisor,pavy,paw,pawdite,pawer,pawing,pawk,pawkery,pawkily,pawkrie,pawky,pawl,pawn,pawnage,pawnee,pawner,pawnie,pawnor,pawpaw,pax,paxilla,paxiuba,paxwax,pay,payable,payably,payday,payed,payee,payeny,payer,paying,payment,paynim,payoff,payong,payor,payroll,pea,peace,peach,peachen,peacher,peachy,peacoat,peacock,peacod,peafowl,peag,peage,peahen,peai,peaiism,peak,peaked,peaker,peakily,peaking,peakish,peaky,peal,pealike,pean,peanut,pear,pearl,pearled,pearler,pearlet,pearlin,pearly,peart,pearten,peartly,peasant,peasen,peason,peasy,peat,peatery,peatman,peaty,peavey,peavy,peba,pebble,pebbled,pebbly,pebrine,pecan,peccant,peccary,peccavi,pech,pecht,pecite,peck,pecked,pecker,pecket,peckful,peckish,peckle,peckled,peckly,pecky,pectase,pectate,pecten,pectic,pectin,pectize,pectora,pectose,pectous,pectus,ped,peda,pedage,pedagog,pedal,pedaler,pedant,pedary,pedate,pedated,pedder,peddle,peddler,pedee,pedes,pedesis,pedicab,pedicel,pedicle,pedion,pedlar,pedlary,pedocal,pedrail,pedrero,pedro,pedule,pedum,pee,peed,peek,peel,peele,peeled,peeler,peeling,peelman,peen,peenge,peeoy,peep,peeper,peepeye,peepy,peer,peerage,peerdom,peeress,peerie,peerly,peery,peesash,peeve,peeved,peever,peevish,peewee,peg,pega,pegall,pegasid,pegbox,pegged,pegger,pegging,peggle,peggy,pegless,peglet,peglike,pegman,pegwood,peho,peine,peisage,peise,peiser,peixere,pekan,pekin,pekoe,peladic,pelage,pelagic,pelamyd,pelanos,pelean,pelecan,pelf,pelican,pelick,pelike,peliom,pelioma,pelisse,pelite,pelitic,pell,pellage,pellar,pellard,pellas,pellate,peller,pellet,pellety,pellile,pellock,pelmet,pelon,peloria,peloric,pelorus,pelota,peloton,pelt,pelta,peltast,peltate,pelter,pelting,peltry,pelu,peludo,pelves,pelvic,pelvis,pembina,pemican,pen,penal,penally,penalty,penance,penang,penates,penbard,pence,pencel,pencil,pend,penda,pendant,pendent,pending,pendle,pendom,pendule,penfold,penful,pengo,penguin,penhead,penial,penide,penile,penis,penk,penlike,penman,penna,pennae,pennage,pennant,pennate,penner,pennet,penni,pennia,pennied,pennill,penning,pennon,penny,penrack,penship,pensile,pension,pensive,penster,pensum,pensy,pent,penta,pentace,pentad,pentail,pentane,pentene,pentine,pentit,pentite,pentode,pentoic,pentol,pentose,pentrit,pentyl,pentyne,penuchi,penult,penury,peon,peonage,peonism,peony,people,peopler,peoplet,peotomy,pep,pepful,pepino,peplos,peplum,peplus,pepo,pepper,peppery,peppily,peppin,peppy,pepsin,pepsis,peptic,peptide,peptize,peptone,per,peracid,peract,perbend,percale,percent,percept,perch,percha,percher,percid,percoct,percoid,percur,percuss,perdu,perdure,pereion,pereira,peres,perfect,perfidy,perform,perfume,perfumy,perfuse,pergola,perhaps,peri,periapt,peridot,perigee,perigon,peril,perine,period,periost,perique,perish,perit,perite,periwig,perjink,perjure,perjury,perk,perkily,perkin,perking,perkish,perky,perle,perlid,perlite,perloir,perm,permit,permute,pern,pernine,pernor,pernyi,peroba,peropod,peropus,peroral,perosis,perotic,peroxy,peroxyl,perpend,perpera,perplex,perrier,perron,perry,persalt,perse,persico,persis,persist,person,persona,pert,pertain,perten,pertish,pertly,perturb,pertuse,perty,peruke,perula,perule,perusal,peruse,peruser,pervade,pervert,pes,pesa,pesade,pesage,peseta,peshkar,peshwa,peskily,pesky,peso,pess,pessary,pest,peste,pester,pestful,pestify,pestle,pet,petal,petaled,petalon,petaly,petard,petary,petasos,petasus,petcock,pete,peteca,peteman,peter,petful,petiole,petit,petite,petitor,petkin,petling,peto,petrary,petre,petrean,petrel,petrie,petrify,petrol,petrosa,petrous,petted,petter,pettily,pettish,pettle,petty,petune,petwood,petzite,peuhl,pew,pewage,pewdom,pewee,pewful,pewing,pewit,pewless,pewmate,pewter,pewtery,pewy,peyote,peyotl,peyton,peytrel,pfennig,pfui,pfund,phacoid,phaeism,phaeton,phage,phalanx,phalera,phallic,phallin,phallus,phanic,phano,phantom,phare,pharmic,pharos,pharynx,phase,phaseal,phasemy,phases,phasic,phasis,phasm,phasma,phasmid,pheal,phellem,phemic,phenate,phene,phenene,phenic,phenin,phenol,phenyl,pheon,phew,phi,phial,phiale,philter,philtra,phit,phiz,phizes,phizog,phlegm,phlegma,phlegmy,phloem,phloxin,pho,phobiac,phobic,phobism,phobist,phoby,phoca,phocal,phocid,phocine,phocoid,phoebe,phoenix,phoh,pholad,pholcid,pholido,phon,phonal,phonate,phone,phoneme,phonic,phonics,phonism,phono,phony,phoo,phoresy,phoria,phorid,phorone,phos,phose,phosis,phospho,phossy,phot,photal,photic,photics,photism,photo,photoma,photon,phragma,phrasal,phrase,phraser,phrasy,phrator,phratry,phrenic,phrynid,phrynin,phthor,phu,phugoid,phulwa,phut,phycite,phyla,phyle,phylic,phyllin,phylon,phylum,phyma,phymata,physic,physics,phytase,phytic,phytin,phytoid,phytol,phytoma,phytome,phyton,phytyl,pi,pia,piaba,piacaba,piacle,piaffe,piaffer,pial,pialyn,pian,pianic,pianino,pianism,pianist,piannet,piano,pianola,piaster,piastre,piation,piazine,piazza,pibcorn,pibroch,pic,pica,picador,pical,picamar,picara,picarel,picaro,picary,piccolo,pice,picene,piceous,pichi,picine,pick,pickage,pickax,picked,pickee,pickeer,picker,pickery,picket,pickle,pickler,pickman,pickmaw,pickup,picky,picnic,pico,picoid,picot,picotah,picotee,picra,picrate,picric,picrite,picrol,picryl,pict,picture,pictury,picuda,picudo,picul,piculet,pidan,piddle,piddler,piddock,pidgin,pie,piebald,piece,piecen,piecer,piecing,pied,piedly,pieless,pielet,pielum,piemag,pieman,pien,piend,piepan,pier,pierage,pierce,pierced,piercel,piercer,pierid,pierine,pierrot,pieshop,piet,pietas,pietic,pietism,pietist,pietose,piety,piewife,piewipe,piezo,piff,piffle,piffler,pifine,pig,pigdan,pigdom,pigeon,pigface,pigfish,pigfoot,pigful,piggery,piggin,pigging,piggish,piggle,piggy,pighead,pigherd,pightle,pigless,piglet,pigling,pigly,pigman,pigment,pignon,pignus,pignut,pigpen,pigroot,pigskin,pigsney,pigsty,pigtail,pigwash,pigweed,pigyard,piitis,pik,pika,pike,piked,pikel,pikelet,pikeman,piker,pikey,piki,piking,pikle,piky,pilage,pilapil,pilar,pilary,pilau,pilaued,pilch,pilcher,pilcorn,pilcrow,pile,pileata,pileate,piled,pileous,piler,piles,pileus,pilfer,pilger,pilgrim,pili,pilifer,piligan,pilikai,pilin,piline,piling,pilkins,pill,pillage,pillar,pillary,pillas,pillbox,pilled,pillet,pilleus,pillion,pillory,pillow,pillowy,pilm,pilmy,pilon,pilori,pilose,pilosis,pilot,pilotee,pilotry,pilous,pilpul,piltock,pilula,pilular,pilule,pilum,pilus,pily,pimaric,pimelic,pimento,pimlico,pimola,pimp,pimpery,pimping,pimpish,pimple,pimpled,pimplo,pimploe,pimply,pin,pina,pinaces,pinacle,pinacol,pinang,pinax,pinball,pinbone,pinbush,pincase,pincer,pincers,pinch,pinche,pinched,pinchem,pincher,pind,pinda,pinder,pindy,pine,pineal,pined,pinene,piner,pinery,pinesap,pinetum,piney,pinfall,pinfish,pinfold,ping,pingle,pingler,pingue,pinguid,pinguin,pinhead,pinhold,pinhole,pinhook,pinic,pining,pinion,pinite,pinitol,pinjane,pinjra,pink,pinked,pinkeen,pinken,pinker,pinkeye,pinkie,pinkify,pinkily,pinking,pinkish,pinkly,pinky,pinless,pinlock,pinna,pinnace,pinnae,pinnal,pinnate,pinned,pinnel,pinner,pinnet,pinning,pinnock,pinnula,pinnule,pinny,pino,pinole,pinolia,pinolin,pinon,pinonic,pinrail,pinsons,pint,pinta,pintado,pintail,pintano,pinte,pintle,pinto,pintura,pinulus,pinweed,pinwing,pinwork,pinworm,piny,pinyl,pinyon,pioneer,pioted,piotine,piotty,pioury,pious,piously,pip,pipa,pipage,pipal,pipe,pipeage,piped,pipeful,pipeman,piper,piperic,piperly,piperno,pipery,pipet,pipette,pipi,piping,pipiri,pipit,pipkin,pipless,pipped,pipper,pippin,pippy,piprine,piproid,pipy,piquant,pique,piquet,piquia,piqure,pir,piracy,piragua,piranha,pirate,piraty,pirl,pirn,pirner,pirnie,pirny,pirogue,pirol,pirr,pirrmaw,pisaca,pisang,pisay,piscary,piscian,piscina,piscine,pisco,pise,pish,pishaug,pishu,pisk,pisky,pismire,piso,piss,pissant,pist,pistic,pistil,pistle,pistol,pistole,piston,pistrix,pit,pita,pitanga,pitapat,pitarah,pitau,pitaya,pitch,pitcher,pitchi,pitchy,piteous,pitfall,pith,pithful,pithily,pithole,pithos,pithy,pitier,pitiful,pitless,pitlike,pitman,pitmark,pitmirk,pitpan,pitpit,pitside,pitted,pitter,pittine,pitting,pittite,pittoid,pituite,pituri,pitwood,pitwork,pity,pitying,piuri,pivalic,pivot,pivotal,pivoter,pix,pixie,pixy,pize,pizza,pizzle,placard,placate,place,placebo,placer,placet,placid,plack,placket,placode,placoid,placula,plaga,plagal,plagate,plage,plagium,plagose,plague,plagued,plaguer,plaguy,plaice,plaid,plaided,plaidie,plaidy,plain,plainer,plainly,plaint,plait,plaited,plaiter,plak,plakat,plan,planaea,planar,planate,planch,plandok,plane,planer,planet,planeta,planful,plang,plangor,planish,planity,plank,planker,planky,planner,plant,planta,plantad,plantal,plantar,planter,planula,planury,planxty,plap,plaque,plash,plasher,plashet,plashy,plasm,plasma,plasmic,plasome,plass,plasson,plaster,plastic,plastid,plastin,plat,platan,platane,platano,platch,plate,platea,plateau,plated,platen,plater,platery,platic,platina,plating,platode,platoid,platoon,platted,platten,platter,platty,platy,plaud,plaudit,play,playa,playbox,playboy,playday,player,playful,playlet,playman,playock,playpen,plaza,plea,pleach,plead,pleader,please,pleaser,pleat,pleater,pleb,plebe,plebify,plebs,pleck,plectre,pled,pledge,pledgee,pledger,pledget,pledgor,pleion,plenary,plenipo,plenish,plenism,plenist,plenty,plenum,pleny,pleon,pleonal,pleonic,pleopod,pleroma,plerome,plessor,pleura,pleural,pleuric,pleuron,pleurum,plew,plex,plexal,plexor,plexure,plexus,pliable,pliably,pliancy,pliant,plica,plical,plicate,plied,plier,plies,pliers,plight,plim,plinth,pliskie,plisky,ploat,ploce,plock,plod,plodder,plodge,plomb,plook,plop,plosion,plosive,plot,plote,plotful,plotted,plotter,plotty,plough,plouk,plouked,plouky,plounce,plout,plouter,plover,plovery,plow,plowboy,plower,plowing,plowman,ploy,pluck,plucked,plucker,plucky,plud,pluff,pluffer,pluffy,plug,plugged,plugger,pluggy,plugman,plum,pluma,plumach,plumade,plumage,plumate,plumb,plumber,plumbet,plumbic,plumbog,plumbum,plumcot,plume,plumed,plumer,plumery,plumet,plumier,plumify,plumist,plumlet,plummer,plummet,plummy,plumose,plumous,plump,plumpen,plumper,plumply,plumps,plumpy,plumula,plumule,plumy,plunder,plunge,plunger,plunk,plup,plural,pluries,plurify,plus,plush,plushed,plushy,pluteal,plutean,pluteus,pluvial,pluvian,pluvine,ply,plyer,plying,plywood,pneuma,po,poach,poacher,poachy,poalike,pob,pobby,pobs,pochade,pochard,pochay,poche,pock,pocket,pockety,pockily,pocky,poco,pocosin,pod,podagra,podal,podalic,podatus,podded,podder,poddish,poddle,poddy,podeon,podesta,podex,podge,podger,podgily,podgy,podial,podical,podices,podite,poditic,poditti,podium,podler,podley,podlike,podogyn,podsol,poduran,podurid,podware,podzol,poe,poem,poemet,poemlet,poesie,poesis,poesy,poet,poetdom,poetess,poetic,poetics,poetito,poetize,poetly,poetry,pogge,poggy,pogonip,pogrom,pogy,poh,poha,pohna,poi,poietic,poignet,poil,poilu,poind,poinder,point,pointed,pointel,pointer,pointy,poise,poised,poiser,poison,poitrel,pokable,poke,poked,pokeful,pokeout,poker,pokey,pokily,poking,pokomoo,pokunt,poky,pol,polacca,polack,polacre,polar,polaric,polarly,polaxis,poldavy,polder,pole,polearm,poleax,poleaxe,polecat,poleman,polemic,polenta,poler,poley,poliad,police,policed,policy,poligar,polio,polis,polish,polite,politic,polity,polk,polka,poll,pollack,polladz,pollage,pollam,pollan,pollard,polled,pollen,pollent,poller,pollex,polling,pollock,polloi,pollute,pollux,polo,poloist,polony,polos,polska,polt,poltina,poly,polyact,polyad,polygam,polygon,polygyn,polymer,polyose,polyp,polyped,polypi,polypod,polypus,pom,pomace,pomade,pomane,pomate,pomato,pomatum,pombe,pombo,pome,pomelo,pomey,pomfret,pomme,pommee,pommel,pommet,pommey,pommy,pomonal,pomonic,pomp,pompa,pompal,pompano,pompey,pomphus,pompier,pompion,pompist,pompon,pompous,pomster,pon,ponce,ponceau,poncho,pond,pondage,ponder,pondful,pondlet,pondman,pondok,pondus,pondy,pone,ponent,ponerid,poney,pong,ponga,pongee,poniard,ponica,ponier,ponja,pont,pontage,pontal,pontee,pontes,pontic,pontiff,pontify,pontil,pontile,pontin,pontine,pontist,ponto,ponton,pontoon,pony,ponzite,pooa,pooch,pooder,poodle,poof,poogye,pooh,pook,pooka,pookaun,pookoo,pool,pooler,pooli,pooly,poon,poonac,poonga,poop,pooped,poor,poorish,poorly,poot,pop,popadam,popal,popcorn,popdock,pope,popedom,popeism,popeler,popely,popery,popess,popeye,popeyed,popgun,popify,popinac,popish,popjoy,poplar,poplin,popover,poppa,poppean,poppel,popper,poppet,poppied,poppin,popple,popply,poppy,popshop,popular,populin,popweed,poral,porcate,porch,porched,porcine,pore,pored,porer,porge,porger,porgy,poring,porism,porite,pork,porker,porkery,porket,porkish,porkman,porkpie,porky,porogam,poroma,poros,porose,porosis,porotic,porous,porr,porrect,porret,porrigo,porry,port,porta,portage,portail,portal,portass,ported,portend,portent,porter,portia,portico,portify,portio,portion,portlet,portly,portman,porto,portray,portway,porty,porule,porus,pory,posca,pose,poser,poseur,posey,posh,posing,posit,positor,positum,posnet,posole,poss,posse,possess,posset,possum,post,postage,postal,postbag,postbox,postboy,posted,posteen,poster,postern,postfix,postic,postil,posting,postman,posture,postwar,posy,pot,potable,potamic,potash,potass,potassa,potate,potato,potator,potbank,potboil,potboy,potch,potcher,potdar,pote,poteen,potence,potency,potent,poter,poteye,potful,potgirl,potgun,pothead,potheen,pother,potherb,pothery,pothole,pothook,pothunt,potifer,potion,potleg,potlid,potlike,potluck,potman,potong,potoo,potoroo,potpie,potrack,pott,pottage,pottagy,pottah,potted,potter,pottery,potting,pottle,pottled,potto,potty,potware,potwork,potwort,pouce,poucer,poucey,pouch,pouched,pouchy,pouf,poulard,poulp,poulpe,poult,poulter,poultry,pounamu,pounce,pounced,pouncer,pouncet,pound,poundal,pounder,pour,pourer,pourie,pouring,pouser,pout,pouter,poutful,pouting,pouty,poverty,pow,powder,powdery,powdike,powdry,power,powered,powitch,pownie,powwow,pox,poxy,poy,poyou,praam,prabble,prabhu,practic,prad,praecox,praetor,prairie,praise,praiser,prajna,praline,pram,prana,prance,prancer,prancy,prank,pranked,pranker,prankle,pranky,prase,prasine,prasoid,prastha,prat,pratal,prate,prater,pratey,prating,prattle,prattly,prau,pravity,prawn,prawner,prawny,praxis,pray,praya,prayer,prayful,praying,preach,preachy,preacid,preact,preaged,preally,preanal,prearm,preaver,prebake,prebend,prebid,prebill,preboil,preborn,preburn,precant,precary,precast,precava,precede,precent,precept,preces,precess,precipe,precis,precise,precite,precoil,precook,precool,precopy,precox,precure,precut,precyst,predamn,predark,predata,predate,predawn,preday,predefy,predeny,predial,predict,prediet,predine,predoom,predraw,predry,predusk,preen,preener,preeze,prefab,preface,prefect,prefer,prefine,prefix,prefool,preform,pregain,pregust,prehaps,preheal,preheat,prehend,preidea,preknit,preknow,prelacy,prelate,prelect,prelim,preloan,preloss,prelude,premake,premate,premial,premier,premise,premiss,premium,premix,premold,premove,prename,prender,prendre,preomit,preopen,preoral,prep,prepare,prepave,prepay,prepink,preplan,preplot,prepose,prepuce,prepupa,prerent,prerich,prerupt,presage,presay,preseal,presee,presell,present,preses,preset,preship,preshow,preside,presift,presign,prespur,press,pressel,presser,pressor,prest,prester,presto,presume,pretan,pretell,pretend,pretest,pretext,pretire,pretone,pretry,pretty,pretzel,prevail,prevene,prevent,preverb,preveto,previde,preview,previse,prevoid,prevote,prevue,prewar,prewarn,prewash,prewhip,prewire,prewrap,prexy,prey,preyer,preyful,prezone,price,priced,pricer,prich,prick,pricked,pricker,pricket,prickle,prickly,pricks,pricky,pride,pridian,priding,pridy,pried,prier,priest,prig,prigdom,prigger,prigman,prill,prim,prima,primacy,primage,primal,primar,primary,primate,prime,primely,primer,primero,primine,priming,primly,primost,primp,primsie,primula,primus,primy,prince,princox,prine,pringle,prink,prinker,prinkle,prinky,print,printed,printer,prion,prionid,prior,prioral,priorly,priory,prisage,prisal,priscan,prism,prismal,prismed,prismy,prison,priss,prissy,pritch,prithee,prius,privacy,privant,private,privet,privily,privity,privy,prize,prizer,prizery,pro,proa,proal,proarmy,prob,probabl,probal,probang,probant,probate,probe,probeer,prober,probity,problem,procarp,proceed,process,proctal,proctor,procure,prod,prodder,proddle,prodigy,produce,product,proem,proetid,prof,profane,profert,profess,proffer,profile,profit,profuse,prog,progeny,progger,progne,program,project,proke,proker,prolan,prolate,proleg,prolify,proline,prolix,prolong,prolyl,promic,promise,promote,prompt,pronaos,pronate,pronavy,prone,pronely,proneur,prong,pronged,pronger,pronic,pronoun,pronpl,pronto,pronuba,proo,proof,proofer,proofy,prop,propago,propale,propane,propend,propene,proper,prophet,propine,proplex,propone,propons,propose,propoxy,propper,props,propupa,propyl,propyne,prorata,prorate,prore,prorean,prorsad,prorsal,prosaic,prosar,prose,prosect,proser,prosify,prosily,prosing,prosish,prosist,proso,prosode,prosody,prosoma,prosper,pross,prossy,prosy,protax,prote,protea,protead,protean,protect,protege,proteic,protein,protend,protest,protext,prothyl,protide,protist,protium,proto,protoma,protome,proton,protone,protore,protyl,protyle,protype,proudly,provand,provant,prove,provect,proved,proven,prover,proverb,provide,provine,proving,proviso,provoke,provost,prow,prowar,prowed,prowess,prowl,prowler,proxeny,proximo,proxy,proxysm,prozone,prude,prudely,prudent,prudery,prudish,prudist,prudity,pruh,prunase,prune,prunell,pruner,pruning,prunt,prunted,prurigo,prussic,prut,prutah,pry,pryer,prying,pryler,pryse,prytany,psalis,psalm,psalmic,psalmy,psaloid,psalter,psaltes,pschent,pseudo,psha,pshaw,psi,psiloi,psoadic,psoas,psoatic,psocid,psocine,psoitis,psora,psoric,psoroid,psorous,pst,psych,psychal,psyche,psychic,psychid,psychon,psykter,psylla,psyllid,ptarmic,ptereal,pteric,pterion,pteroid,pteroma,pteryla,ptinid,ptinoid,ptisan,ptomain,ptosis,ptotic,ptyalin,ptyxis,pu,pua,puan,pub,pubal,pubble,puberal,puberty,pubes,pubian,pubic,pubis,public,publish,puccoon,puce,pucelle,puchero,puck,pucka,pucker,puckery,puckish,puckle,puckrel,pud,puddee,pudder,pudding,puddle,puddled,puddler,puddly,puddock,puddy,pudency,pudenda,pudent,pudge,pudgily,pudgy,pudiano,pudic,pudical,pudsey,pudsy,pudu,pueblo,puerer,puerile,puerman,puff,puffed,puffer,puffery,puffily,puffin,puffing,pufflet,puffwig,puffy,pug,pugged,pugger,puggi,pugging,puggish,puggle,puggree,puggy,pugh,pugil,pugman,pugmill,puisne,puist,puistie,puja,puka,pukatea,puke,pukeko,puker,pukish,pukras,puku,puky,pul,pulahan,pulasan,pule,pulegol,puler,puli,pulicat,pulicid,puling,pulish,pulk,pulka,pull,pulldoo,pullen,puller,pullery,pullet,pulley,pulli,pullus,pulp,pulpal,pulper,pulpify,pulpily,pulpit,pulpous,pulpy,pulque,pulsant,pulsate,pulse,pulsion,pulsive,pulton,pulu,pulvic,pulvil,pulvino,pulwar,puly,puma,pumice,pumiced,pumicer,pummel,pummice,pump,pumpage,pumper,pumpkin,pumple,pumpman,pun,puna,punaise,punalua,punatoo,punch,puncher,punchy,punct,punctal,punctum,pundit,pundita,pundum,puneca,pung,punga,pungar,pungent,punger,pungey,pungi,pungle,pungled,punicin,punily,punish,punjum,punk,punkah,punkie,punky,punless,punlet,punnage,punner,punnet,punnic,punster,punt,punta,puntal,puntel,punter,punti,puntil,puntist,punto,puntout,punty,puny,punyish,punyism,pup,pupa,pupal,pupate,pupelo,pupil,pupilar,pupiled,pupoid,puppet,puppify,puppily,puppy,pupulo,pupunha,pur,purana,puranic,puraque,purdah,purdy,pure,pured,puree,purely,purer,purfle,purfled,purfler,purfly,purga,purge,purger,purgery,purging,purify,purine,puriri,purism,purist,purity,purl,purler,purlieu,purlin,purlman,purloin,purpart,purple,purply,purport,purpose,purpura,purpure,purr,purre,purree,purreic,purrel,purrer,purring,purrone,purry,purse,pursed,purser,pursily,purslet,pursley,pursual,pursue,pursuer,pursuit,pursy,purusha,purvey,purview,purvoe,pus,push,pusher,pushful,pushing,pushpin,puss,pusscat,pussley,pussy,pustule,put,putage,putamen,putback,putchen,putcher,puteal,putelee,puther,puthery,putid,putidly,putlog,putois,putrefy,putrid,putt,puttee,putter,puttier,puttock,putty,puture,puxy,puzzle,puzzled,puzzler,pya,pyal,pyche,pycnia,pycnial,pycnid,pycnite,pycnium,pyelic,pyemia,pyemic,pygal,pygarg,pygidid,pygmoid,pygmy,pygofer,pygopod,pyic,pyin,pyjama,pyke,pyknic,pyla,pylar,pylic,pylon,pyloric,pylorus,pyocele,pyocyst,pyocyte,pyoid,pyosis,pyr,pyral,pyralid,pyralis,pyramid,pyran,pyranyl,pyre,pyrena,pyrene,pyrenic,pyrenin,pyretic,pyrex,pyrexia,pyrexic,pyrgom,pyridic,pyridyl,pyrite,pyrites,pyritic,pyro,pyrogen,pyroid,pyrone,pyrope,pyropen,pyropus,pyrosis,pyrotic,pyrrhic,pyrrol,pyrrole,pyrroyl,pyrryl,pyruvic,pyruvil,pyruvyl,python,pyuria,pyvuril,pyx,pyxides,pyxie,pyxis,q,qasida,qere,qeri,qintar,qoph,qua,quab,quabird,quachil,quack,quackle,quacky,quad,quadded,quaddle,quadra,quadral,quadrat,quadric,quadrum,quaedam,quaff,quaffer,quag,quagga,quaggle,quaggy,quahog,quail,quaily,quaint,quake,quaker,quaking,quaky,quale,qualify,quality,qualm,qualmy,quan,quandy,quannet,quant,quanta,quantic,quantum,quar,quare,quark,quarl,quarle,quarred,quarrel,quarry,quart,quartan,quarter,quartet,quartic,quarto,quartz,quartzy,quash,quashey,quashy,quasi,quasky,quassin,quat,quata,quatch,quatern,quaters,quatral,quatre,quatrin,quattie,quatuor,quauk,quave,quaver,quavery,quaw,quawk,quay,quayage,quayful,quayman,qubba,queach,queachy,queak,queal,quean,queasom,queasy,quedful,queechy,queen,queenly,queer,queerer,queerly,queery,queest,queet,queeve,quegh,quei,quelch,quell,queller,quemado,queme,quemely,quench,quercic,quercin,querent,querier,querist,querken,querl,quern,quernal,query,quest,quester,questor,quet,quetch,quetzal,queue,quey,quiapo,quib,quibble,quiblet,quica,quick,quicken,quickie,quickly,quid,quidder,quiddit,quiddle,quiesce,quiet,quieten,quieter,quietly,quietus,quiff,quila,quiles,quilkin,quill,quillai,quilled,quiller,quillet,quilly,quilt,quilted,quilter,quin,quina,quinary,quinate,quince,quinch,quinia,quinic,quinin,quinina,quinine,quinism,quinite,quinize,quink,quinnat,quinnet,quinoa,quinoid,quinol,quinone,quinova,quinoyl,quinse,quinsy,quint,quintad,quintal,quintan,quinte,quintet,quintic,quintin,quinto,quinton,quintus,quinyl,quinze,quip,quipful,quipo,quipper,quippy,quipu,quira,quire,quirk,quirky,quirl,quirt,quis,quisby,quiscos,quisle,quit,quitch,quite,quits,quitted,quitter,quittor,quiver,quivery,quiz,quizzee,quizzer,quizzy,quo,quod,quoin,quoined,quoit,quoiter,quoits,quondam,quoniam,quop,quorum,quot,quota,quote,quotee,quoter,quoth,quotha,quotity,quotum,r,ra,raad,raash,rab,raband,rabanna,rabat,rabatte,rabbet,rabbi,rabbin,rabbit,rabbity,rabble,rabbler,rabboni,rabic,rabid,rabidly,rabies,rabific,rabinet,rabitic,raccoon,raccroc,race,raceme,racemed,racemic,racer,raceway,rach,rache,rachial,rachis,racial,racily,racing,racism,racist,rack,rackan,racker,racket,rackett,rackety,rackful,racking,rackle,rackway,racloir,racon,racoon,racy,rad,rada,radar,raddle,radial,radiale,radian,radiant,radiate,radical,radicel,radices,radicle,radii,radio,radiode,radish,radium,radius,radix,radman,radome,radon,radula,raff,raffe,raffee,raffery,raffia,raffing,raffish,raffle,raffler,raft,raftage,rafter,raftman,rafty,rag,raga,rage,rageful,rageous,rager,ragfish,ragged,raggedy,raggee,ragger,raggery,raggety,raggil,raggily,ragging,raggle,raggled,raggy,raging,raglan,raglet,raglin,ragman,ragout,ragshag,ragtag,ragtime,ragule,raguly,ragweed,ragwort,rah,rahdar,raia,raid,raider,rail,railage,railer,railing,railly,railman,railway,raiment,rain,rainbow,rainer,rainful,rainily,rainy,raioid,rais,raise,raised,raiser,raisin,raising,raisiny,raj,raja,rajah,rakan,rake,rakeage,rakeful,raker,rakery,rakh,raki,rakily,raking,rakish,rakit,raku,rallier,ralline,rally,ralph,ram,ramada,ramage,ramal,ramanas,ramass,ramate,rambeh,ramble,rambler,rambong,rame,rameal,ramed,ramekin,rament,rameous,ramet,ramex,ramhead,ramhood,rami,ramie,ramify,ramlike,ramline,rammack,rammel,rammer,rammish,rammy,ramose,ramous,ramp,rampage,rampant,rampart,ramped,ramper,rampick,rampike,ramping,rampion,rampire,rampler,ramplor,ramrace,ramrod,ramsch,ramson,ramstam,ramtil,ramular,ramule,ramulus,ramus,ran,rana,ranal,rance,rancel,rancer,ranch,ranche,rancher,rancho,rancid,rancor,rand,randan,randem,rander,randing,randir,randle,random,randy,rane,rang,range,ranged,ranger,rangey,ranging,rangle,rangler,rangy,rani,ranid,ranine,rank,ranked,ranker,rankish,rankle,rankly,rann,rannel,ranny,ransack,ransel,ransom,rant,rantan,ranter,ranting,rantock,ranty,ranula,ranular,rap,rape,rapeful,raper,raphany,raphe,raphide,raphis,rapic,rapid,rapidly,rapier,rapillo,rapine,rapiner,raping,rapinic,rapist,raploch,rappage,rappe,rappel,rapper,rapping,rappist,rapport,rapt,raptly,raptor,raptril,rapture,raptury,raptus,rare,rarebit,rarefy,rarely,rarish,rarity,ras,rasa,rasant,rascal,rasceta,rase,rasen,raser,rasgado,rash,rasher,rashful,rashing,rashly,rasion,rasp,rasped,rasper,rasping,raspish,raspite,raspy,rasse,rassle,raster,rastik,rastle,rasure,rat,rata,ratable,ratably,ratafee,ratafia,ratal,ratbite,ratch,ratchel,ratcher,ratchet,rate,rated,ratel,rater,ratfish,rath,rathe,rathed,rathely,rather,rathest,rathite,rathole,ratify,ratine,rating,ratio,ration,ratite,ratlike,ratline,ratoon,rattage,rattail,rattan,ratteen,ratten,ratter,rattery,ratti,rattish,rattle,rattled,rattler,rattles,rattly,ratton,rattrap,ratty,ratwa,ratwood,raucid,raucity,raucous,raught,rauk,raukle,rauli,raun,raunge,raupo,rauque,ravage,ravager,rave,ravel,raveler,ravelin,ravelly,raven,ravener,ravenry,ravens,raver,ravin,ravine,ravined,raviney,raving,ravioli,ravish,ravison,raw,rawhead,rawhide,rawish,rawness,rax,ray,raya,rayage,rayed,rayful,rayless,raylet,rayon,raze,razee,razer,razoo,razor,razz,razzia,razzly,re,rea,reaal,reabuse,reach,reacher,reachy,react,reactor,read,readapt,readd,reader,readily,reading,readmit,readopt,readorn,ready,reagent,reagin,reagree,reak,real,realarm,reales,realest,realgar,realign,realism,realist,reality,realive,realize,reallot,reallow,really,realm,realter,realtor,realty,ream,reamage,reamass,reamend,reamer,reamuse,reamy,reannex,reannoy,reanvil,reap,reaper,reapply,rear,rearer,reargue,rearise,rearm,rearray,reask,reason,reassay,reasty,reasy,reatus,reaudit,reavail,reave,reaver,reavoid,reavow,reawait,reawake,reaward,reaware,reb,rebab,reback,rebag,rebait,rebake,rebale,reban,rebar,rebase,rebasis,rebate,rebater,rebathe,rebato,rebawl,rebear,rebeat,rebec,rebeck,rebed,rebeg,rebeget,rebegin,rebel,rebelly,rebend,rebeset,rebia,rebias,rebid,rebill,rebind,rebirth,rebite,reblade,reblame,reblast,reblend,rebless,reblock,rebloom,reblot,reblow,reblue,rebluff,reboant,reboard,reboast,rebob,reboil,reboise,rebold,rebolt,rebone,rebook,rebop,rebore,reborn,rebound,rebox,rebrace,rebraid,rebrand,rebreed,rebrew,rebribe,rebrick,rebring,rebrown,rebrush,rebud,rebuff,rebuild,rebuilt,rebuke,rebuker,rebulk,rebunch,rebuoy,reburn,reburst,rebury,rebus,rebush,rebusy,rebut,rebute,rebuy,recable,recage,recalk,recall,recant,recap,recarry,recart,recarve,recase,recash,recast,recatch,recce,recco,reccy,recede,receder,receipt,receive,recency,recense,recent,recept,recess,rechafe,rechain,rechal,rechant,rechaos,rechar,rechase,rechaw,recheat,recheck,recheer,rechew,rechip,rechuck,rechurn,recipe,recital,recite,reciter,reck,reckla,reckon,reclaim,reclama,reclang,reclasp,reclass,reclean,reclear,reclimb,recline,reclose,recluse,recoach,recoal,recoast,recoat,recock,recoct,recode,recoil,recoin,recoke,recolor,recomb,recon,recook,recool,recopy,record,recork,recount,recoup,recover,recramp,recrank,recrate,recrew,recroon,recrop,recross,recrowd,recrown,recruit,recrush,rect,recta,rectal,recti,rectify,rection,recto,rector,rectory,rectrix,rectum,rectus,recur,recure,recurl,recurse,recurve,recuse,recut,recycle,red,redact,redan,redare,redarn,redart,redate,redaub,redawn,redback,redbait,redbill,redbird,redbone,redbuck,redbud,redcap,redcoat,redd,redden,redder,redding,reddish,reddock,reddy,rede,redeal,redebit,redeck,redeed,redeem,redefer,redefy,redeify,redelay,redeny,redeye,redfin,redfish,redfoot,redhead,redhoop,redia,redient,redig,redip,redive,redleg,redlegs,redly,redness,redo,redock,redoom,redoubt,redound,redowa,redox,redpoll,redraft,redrag,redrape,redraw,redream,redress,redrill,redrive,redroot,redry,redsear,redskin,redtab,redtail,redtop,redub,reduce,reduced,reducer,reduct,redue,redux,redward,redware,redweed,redwing,redwood,redye,ree,reechy,reed,reeded,reeden,reeder,reedily,reeding,reedish,reedman,reedy,reef,reefer,reefing,reefy,reek,reeker,reeky,reel,reeled,reeler,reem,reeming,reemish,reen,reenge,reeper,reese,reeshle,reesk,reesle,reest,reester,reestle,reesty,reet,reetam,reetle,reeve,ref,reface,refall,refan,refavor,refect,refeed,refeel,refeign,refel,refence,refer,referee,refetch,refight,refill,refilm,refind,refine,refined,refiner,refire,refit,refix,reflag,reflame,reflash,reflate,reflect,reflee,reflex,refling,refloat,reflog,reflood,refloor,reflow,reflush,reflux,refly,refocus,refold,refont,refool,refoot,reforce,reford,reforge,reform,refound,refract,refrain,reframe,refresh,refront,reft,refuel,refuge,refugee,refulge,refund,refurl,refusal,refuse,refuser,refutal,refute,refuter,reg,regain,regal,regale,regaler,regalia,regally,regard,regatta,regauge,regency,regent,reges,reget,regia,regift,regild,regill,regime,regimen,regin,reginal,region,regive,reglair,reglaze,regle,reglet,regloss,reglove,reglow,reglue,regma,regnal,regnant,regorge,regrade,regraft,regrant,regrasp,regrass,regrate,regrede,regreen,regreet,regress,regret,regrind,regrip,regroup,regrow,reguard,reguide,regula,regular,reguli,regulus,regur,regurge,regush,reh,rehair,rehale,rehang,reharm,rehash,rehaul,rehead,reheal,reheap,rehear,reheat,rehedge,reheel,rehoe,rehoist,rehonor,rehood,rehook,rehoop,rehouse,rehung,reif,reify,reign,reim,reimage,reimpel,reimply,rein,reina,reincur,reindue,reinfer,reins,reinter,reis,reissue,reit,reitbok,reiter,reiver,rejail,reject,rejerk,rejoice,rejoin,rejolt,rejudge,rekick,rekill,reking,rekiss,reknit,reknow,rel,relabel,relace,relade,reladen,relais,relamp,reland,relap,relapse,relast,relata,relatch,relate,related,relater,relator,relatum,relax,relaxed,relaxer,relay,relbun,relead,releap,relearn,release,relend,relent,relet,relevel,relevy,reliant,relic,relick,relict,relief,relier,relieve,relievo,relift,relight,relime,relimit,reline,reliner,relink,relish,relishy,relist,relive,reload,reloan,relock,relodge,relook,relose,relost,relot,relove,relower,reluct,relume,rely,remade,remail,remain,remains,remake,remaker,reman,remand,remanet,remap,remarch,remark,remarry,remask,remass,remast,rematch,remble,remeant,remede,remedy,remeet,remelt,remend,remerge,remetal,remex,remica,remicle,remiges,remill,remimic,remind,remint,remiped,remise,remiss,remit,remix,remnant,remock,remodel,remold,remop,remora,remord,remorse,remote,remould,remount,removal,remove,removed,remover,renable,renably,renail,renal,rename,rend,render,reneg,renege,reneger,renegue,renerve,renes,renet,renew,renewal,renewer,renin,renish,renk,renky,renne,rennet,rennin,renown,rent,rentage,rental,rented,rentee,renter,renvoi,renvoy,reoccur,reoffer,reoil,reomit,reopen,reorder,reown,rep,repace,repack,repage,repaint,repair,repale,repand,repanel,repaper,repark,repass,repast,repaste,repatch,repave,repawn,repay,repayal,repeal,repeat,repeg,repel,repen,repent,repew,rephase,repic,repick,repiece,repile,repin,repine,repiner,repipe,repique,repitch,repkie,replace,replait,replan,replane,replant,replate,replay,replead,repleat,replete,replevy,replica,replier,replod,replot,replow,replum,replume,reply,repoint,repoll,repolon,repone,repope,report,reposal,repose,reposed,reposer,reposit,repost,repot,repound,repour,repp,repped,repray,repress,reprice,reprime,reprint,reprise,reproof,reprove,reprune,reps,reptant,reptile,repuff,repugn,repulse,repump,repurge,repute,reputed,requeen,request,requiem,requin,require,requit,requite,requiz,requote,rerack,rerail,reraise,rerake,rerank,rerate,reread,reredos,reree,rereel,rereeve,rereign,rerent,rerig,rering,rerise,rerival,rerivet,rerob,rerobe,reroll,reroof,reroot,rerope,reroute,rerow,rerub,rerun,resaca,resack,resail,resale,resalt,resaw,resawer,resay,rescan,rescind,rescore,rescrub,rescue,rescuer,reseal,reseam,reseat,resect,reseda,resee,reseed,reseek,reseise,reseize,reself,resell,resend,resene,resent,reserve,reset,resever,resew,resex,resh,reshake,reshape,reshare,reshave,reshear,reshift,reshine,reship,reshoe,reshoot,reshun,reshunt,reshut,reside,resider,residua,residue,resift,resigh,resign,resile,resin,resina,resiner,resing,resinic,resink,resinol,resiny,resist,resize,resizer,reskin,reslash,reslate,reslay,reslide,reslot,resmell,resmelt,resmile,resnap,resnub,resoak,resoap,resoil,resole,resolve,resorb,resort,resound,resow,resp,respace,respade,respan,respeak,respect,respell,respin,respire,respite,resplit,respoke,respond,respot,respray,respue,ressala,ressaut,rest,restack,restaff,restain,restake,restamp,restant,restart,restate,restaur,resteal,resteel,resteep,restem,restep,rester,restes,restful,restiad,restiff,resting,restir,restis,restive,restock,restore,restow,restrap,restrip,restudy,restuff,resty,restyle,resuck,resue,resuing,resuit,result,resume,resumer,resun,resup,resurge,reswage,resward,reswarm,reswear,resweat,resweep,reswell,reswill,reswim,ret,retable,retack,retag,retail,retain,retake,retaker,retalk,retama,retame,retan,retape,retard,retare,retaste,retax,retch,reteach,retell,retem,retempt,retene,retent,retest,rethank,rethaw,rethe,rethink,rethrow,retia,retial,retiary,reticle,retie,retier,retile,retill,retime,retin,retina,retinal,retinol,retinue,retip,retiral,retire,retired,retirer,retoast,retold,retomb,retook,retool,retooth,retort,retoss,retotal,retouch,retour,retrace,retrack,retract,retrad,retrade,retrain,retral,retramp,retread,retreat,retree,retrial,retrim,retrip,retrot,retrude,retrue,retrust,retry,retted,retter,rettery,retting,rettory,retube,retuck,retune,returf,return,retuse,retwine,retwist,retying,retype,retzian,reune,reunify,reunion,reunite,reurge,reuse,reutter,rev,revalue,revamp,revary,reve,reveal,reveil,revel,reveler,revelly,revelry,revend,revenge,revent,revenue,rever,reverb,revere,revered,reverer,reverie,revers,reverse,reversi,reverso,revert,revery,revest,revet,revete,revie,review,revile,reviler,revisal,revise,revisee,reviser,revisit,revisor,revival,revive,reviver,revivor,revoice,revoke,revoker,revolt,revolve,revomit,revote,revue,revuist,rewade,rewager,rewake,rewaken,rewall,reward,rewarm,rewarn,rewash,rewater,rewave,rewax,rewayle,rewear,reweave,rewed,reweigh,reweld,rewend,rewet,rewhelp,rewhirl,rewiden,rewin,rewind,rewire,rewish,rewood,reword,rework,rewound,rewove,rewoven,rewrap,rewrite,rex,rexen,reyield,reyoke,reyouth,rhabdom,rhabdos,rhabdus,rhagite,rhagon,rhagose,rhamn,rhamnal,rhason,rhatany,rhe,rhea,rhebok,rheeboc,rheebok,rheen,rheic,rhein,rheinic,rhema,rheme,rhenium,rheotan,rhesian,rhesus,rhetor,rheum,rheumed,rheumic,rheumy,rhexis,rhinal,rhine,rhinion,rhino,rhizine,rhizoid,rhizoma,rhizome,rhizote,rho,rhodic,rhoding,rhodite,rhodium,rhomb,rhombic,rhombos,rhombus,rhubarb,rhumb,rhumba,rhyme,rhymer,rhymery,rhymic,rhymist,rhymy,rhyptic,rhythm,rhyton,ria,rial,riancy,riant,riantly,riata,rib,ribald,riband,ribat,ribband,ribbed,ribber,ribbet,ribbing,ribble,ribbon,ribbony,ribby,ribe,ribless,riblet,riblike,ribonic,ribose,ribskin,ribwork,ribwort,rice,ricer,ricey,rich,richdom,richen,riches,richly,richt,ricin,ricine,ricinic,ricinus,rick,ricker,rickets,rickety,rickey,rickle,ricksha,ricrac,rictal,rictus,rid,ridable,ridably,riddam,riddel,ridden,ridder,ridding,riddle,riddler,ride,rideau,riden,rident,rider,ridered,ridge,ridged,ridgel,ridger,ridgil,ridging,ridgy,riding,ridotto,rie,riem,riempie,rier,rife,rifely,riff,riffle,riffler,rifle,rifler,riflery,rifling,rift,rifter,rifty,rig,rigbane,riggald,rigger,rigging,riggish,riggite,riggot,right,righten,righter,rightle,rightly,righto,righty,rigid,rigidly,rigling,rignum,rigol,rigor,rigsby,rikisha,rikk,riksha,rikshaw,rilawa,rile,riley,rill,rillet,rillett,rillock,rilly,rim,rima,rimal,rimate,rimbase,rime,rimer,rimfire,rimland,rimless,rimmed,rimmer,rimose,rimous,rimpi,rimple,rimrock,rimu,rimula,rimy,rinceau,rinch,rincon,rind,rinded,rindle,rindy,rine,ring,ringe,ringed,ringent,ringer,ringeye,ringing,ringite,ringle,ringlet,ringman,ringtaw,ringy,rink,rinka,rinker,rinkite,rinner,rinse,rinser,rinsing,rio,riot,rioter,rioting,riotist,riotous,riotry,rip,ripa,ripal,ripcord,ripe,ripely,ripen,ripener,riper,ripgut,ripieno,ripier,ripost,riposte,ripper,rippet,rippier,ripping,rippit,ripple,rippler,ripplet,ripply,rippon,riprap,ripsack,ripsaw,ripup,risala,risberm,rise,risen,riser,rishi,risible,risibly,rising,risk,risker,riskful,riskily,riskish,risky,risp,risper,risque,risquee,rissel,risser,rissle,rissoid,rist,ristori,rit,rita,rite,ritling,ritual,ritzy,riva,rivage,rival,rivalry,rive,rivel,rivell,riven,river,rivered,riverly,rivery,rivet,riveter,riving,rivose,rivulet,rix,rixy,riyal,rizzar,rizzle,rizzom,roach,road,roadbed,roaded,roader,roading,roadite,roadman,roadway,roam,roamage,roamer,roaming,roan,roanoke,roar,roarer,roaring,roast,roaster,rob,robalo,roband,robber,robbery,robbin,robbing,robe,rober,roberd,robin,robinet,robing,robinin,roble,robomb,robot,robotry,robur,robust,roc,rocher,rochet,rock,rockaby,rocker,rockery,rocket,rockety,rocking,rockish,rocklay,rocklet,rockman,rocky,rococo,rocta,rod,rodd,roddin,rodding,rode,rodent,rodeo,rodge,rodham,roding,rodless,rodlet,rodlike,rodman,rodney,rodsman,rodster,rodwood,roe,roebuck,roed,roelike,roer,roey,rog,rogan,roger,roggle,rogue,roguery,roguing,roguish,rohan,rohob,rohun,rohuna,roi,roid,roil,roily,roister,roit,roka,roke,rokeage,rokee,rokelay,roker,rokey,roky,role,roleo,roll,rolled,roller,rolley,rollick,rolling,rollix,rollmop,rollock,rollway,roloway,romaika,romaine,romal,romance,romancy,romanza,romaunt,rombos,romeite,romero,rommack,romp,romper,romping,rompish,rompu,rompy,roncet,ronco,rond,ronde,rondeau,rondel,rondino,rondle,rondo,rondure,rone,rongeur,ronquil,rontgen,ronyon,rood,roodle,roof,roofage,roofer,roofing,rooflet,roofman,roofy,rooibok,rooinek,rook,rooker,rookery,rookie,rookish,rooklet,rooky,rool,room,roomage,roomed,roomer,roomful,roomie,roomily,roomlet,roomth,roomthy,roomy,roon,roosa,roost,roosted,rooster,root,rootage,rootcap,rooted,rooter,rootery,rootle,rootlet,rooty,roove,ropable,rope,ropeman,roper,ropery,ropes,ropeway,ropily,roping,ropish,ropp,ropy,roque,roquer,roquet,roquist,roral,roric,rorqual,rorty,rory,rosal,rosario,rosary,rosated,roscid,rose,roseal,roseate,rosebay,rosebud,rosed,roseine,rosel,roselet,rosella,roselle,roseola,roseous,rosery,roset,rosetan,rosette,rosetty,rosetum,rosety,rosied,rosier,rosilla,rosillo,rosily,rosin,rosiny,rosland,rosoli,rosolic,rosolio,ross,rosser,rossite,rostel,roster,rostra,rostral,rostrum,rosular,rosy,rot,rota,rotal,rotaman,rotan,rotang,rotary,rotate,rotated,rotator,rotch,rote,rotella,roter,rotge,rotgut,rother,rotifer,roto,rotor,rottan,rotten,rotter,rotting,rottle,rottock,rottolo,rotula,rotulad,rotular,rotulet,rotulus,rotund,rotunda,rotundo,roub,roucou,roud,roue,rouelle,rouge,rougeau,rougeot,rough,roughen,rougher,roughet,roughie,roughly,roughy,rougy,rouille,rouky,roulade,rouleau,roun,rounce,rouncy,round,rounded,roundel,rounder,roundly,roundup,roundy,roup,rouper,roupet,roupily,roupit,roupy,rouse,rouser,rousing,roust,rouster,rout,route,router,routh,routhie,routhy,routine,routing,routous,rove,rover,rovet,rovetto,roving,row,rowable,rowan,rowboat,rowdily,rowdy,rowed,rowel,rowen,rower,rowet,rowing,rowlet,rowlock,rowport,rowty,rowy,rox,roxy,royal,royale,royalet,royally,royalty,royet,royt,rozum,ruach,ruana,rub,rubasse,rubato,rubbed,rubber,rubbers,rubbery,rubbing,rubbish,rubble,rubbler,rubbly,rubdown,rubelet,rubella,rubelle,rubeola,rubiate,rubican,rubidic,rubied,rubific,rubify,rubine,rubious,ruble,rublis,rubor,rubric,rubrica,rubrify,ruby,ruche,ruching,ruck,rucker,ruckle,rucksey,ruckus,rucky,ruction,rud,rudas,rudd,rudder,ruddied,ruddily,ruddle,ruddock,ruddy,rude,rudely,ruderal,rudesby,rudge,rudish,rudity,rue,rueful,ruelike,ruelle,ruen,ruer,ruesome,ruewort,ruff,ruffed,ruffer,ruffian,ruffin,ruffle,ruffled,ruffler,ruffly,rufous,rufter,rufus,rug,ruga,rugate,rugged,rugging,ruggle,ruggy,ruglike,rugosa,rugose,rugous,ruin,ruinate,ruined,ruiner,ruing,ruinous,rukh,rulable,rule,ruledom,ruler,ruling,rull,ruller,rullion,rum,rumal,rumble,rumbler,rumbly,rumbo,rumen,ruminal,rumkin,rumless,rumly,rummage,rummagy,rummer,rummily,rummish,rummy,rumness,rumney,rumor,rumorer,rump,rumpad,rumpade,rumple,rumply,rumpus,rumshop,run,runaway,runback,runby,runch,rundale,rundle,rundlet,rune,runed,runer,runfish,rung,runic,runite,runkle,runkly,runless,runlet,runman,runnel,runner,runnet,running,runny,runoff,runout,runover,runrig,runt,runted,runtee,runtish,runty,runway,rupa,rupee,rupia,rupiah,rupial,rupie,rupitic,ruptile,ruption,ruptive,rupture,rural,rurally,rurban,ruru,ruse,rush,rushed,rushen,rusher,rushing,rushlit,rushy,rusine,rusk,ruskin,rusky,rusma,rusot,ruspone,russel,russet,russety,russia,russud,rust,rustful,rustic,rustily,rustle,rustler,rustly,rustre,rustred,rusty,ruswut,rut,rutate,rutch,ruth,ruther,ruthful,rutic,rutile,rutin,ruttee,rutter,ruttish,rutty,rutyl,ruvid,rux,ryal,ryania,rybat,ryder,rye,ryen,ryme,rynd,rynt,ryot,ryotwar,rype,rypeck,s,sa,saa,sab,sabalo,sabanut,sabbat,sabbath,sabe,sabeca,sabella,saber,sabered,sabicu,sabina,sabine,sabino,sable,sably,sabora,sabot,saboted,sabra,sabulum,saburra,sabutan,sabzi,sac,sacaton,sacatra,saccade,saccate,saccos,saccule,saccus,sachem,sachet,sack,sackage,sackbag,sackbut,sacked,sacken,sacker,sackful,sacking,sackman,saclike,saco,sacope,sacque,sacra,sacrad,sacral,sacred,sacring,sacrist,sacro,sacrum,sad,sadden,saddik,saddish,saddle,saddled,saddler,sade,sadh,sadhe,sadhu,sadic,sadiron,sadism,sadist,sadly,sadness,sado,sadr,saecula,saeter,saeume,safari,safe,safely,safen,safener,safety,saffian,safflor,safflow,saffron,safrole,saft,sag,saga,sagaie,sagaman,sagathy,sage,sagely,sagene,sagger,sagging,saggon,saggy,saging,sagitta,sagless,sago,sagoin,saguaro,sagum,saguran,sagwire,sagy,sah,sahh,sahib,sahme,sahukar,sai,saic,said,saiga,sail,sailage,sailed,sailer,sailing,sailor,saily,saim,saimiri,saimy,sain,saint,sainted,saintly,saip,sair,sairly,sairve,sairy,saithe,saj,sajou,sake,sakeber,sakeen,saker,sakeret,saki,sakieh,sakulya,sal,salaam,salable,salably,salacot,salad,salago,salal,salamo,salar,salary,salat,salay,sale,salele,salema,salep,salfern,salic,salicin,salicyl,salient,salify,saligot,salina,saline,salite,salited,saliva,salival,salix,salle,sallee,sallet,sallier,salloo,sallow,sallowy,sally,salma,salmiac,salmine,salmis,salmon,salol,salomon,salon,saloon,saloop,salp,salpa,salpian,salpinx,salpoid,salse,salsify,salt,salta,saltant,saltary,saltate,saltcat,salted,saltee,salten,salter,saltern,saltery,saltfat,saltier,saltine,salting,saltish,saltly,saltman,saltpan,saltus,salty,saluki,salung,salute,saluter,salvage,salve,salver,salviol,salvo,salvor,salvy,sam,samadh,samadhi,samaj,saman,samara,samaria,samarra,samba,sambal,sambar,sambo,sambuk,sambuke,same,samekh,samel,samely,samen,samh,samhita,samiel,samiri,samisen,samite,samkara,samlet,sammel,sammer,sammier,sammy,samovar,samp,sampan,sampi,sample,sampler,samsara,samshu,samson,samurai,san,sanable,sanai,sancho,sanct,sancta,sanctum,sand,sandak,sandal,sandan,sandbag,sandbin,sandbox,sandboy,sandbur,sanded,sander,sanders,sandhi,sanding,sandix,sandman,sandust,sandy,sane,sanely,sang,sanga,sangar,sangei,sanger,sangha,sangley,sangrel,sangsue,sanicle,sanies,sanify,sanious,sanity,sanjak,sank,sankha,sannup,sans,sansei,sansi,sant,santal,santene,santimi,santims,santir,santon,sao,sap,sapa,sapajou,sapan,sapbush,sapek,sapful,saphead,saphena,saphie,sapid,sapient,sapin,sapinda,saple,sapless,sapling,sapo,saponin,sapor,sapota,sapote,sappare,sapper,sapphic,sapping,sapples,sappy,saprine,sapsago,sapsuck,sapwood,sapwort,sar,saraad,saraf,sarangi,sarcasm,sarcast,sarcine,sarcle,sarcler,sarcode,sarcoid,sarcoma,sarcous,sard,sardel,sardine,sardius,sare,sargo,sargus,sari,sarif,sarigue,sarinda,sarip,sark,sarkar,sarkful,sarkine,sarking,sarkit,sarlak,sarlyk,sarment,sarna,sarod,saron,sarong,saronic,saros,sarpler,sarpo,sarra,sarraf,sarsa,sarsen,sart,sartage,sartain,sartor,sarus,sarwan,sasa,sasan,sasani,sash,sashay,sashery,sashing,sasin,sasine,sassaby,sassy,sat,satable,satan,satang,satanic,satara,satchel,sate,sateen,satiate,satient,satiety,satin,satine,satined,satiny,satire,satiric,satisfy,satlijk,satrap,satrapy,satron,sattle,sattva,satura,satyr,satyric,sauce,saucer,saucily,saucy,sauf,sauger,saugh,saughen,sauld,saulie,sault,saulter,saum,saumon,saumont,sauna,saunter,sauqui,saur,saurel,saurian,saury,sausage,saut,saute,sauteur,sauty,sauve,savable,savacu,savage,savanna,savant,savarin,save,saved,saveloy,saver,savin,saving,savior,savola,savor,savored,savorer,savory,savour,savoy,savoyed,savssat,savvy,saw,sawah,sawali,sawarra,sawback,sawbill,sawbuck,sawbwa,sawder,sawdust,sawed,sawer,sawfish,sawfly,sawing,sawish,sawlike,sawman,sawmill,sawmon,sawmont,sawn,sawney,sawt,sawway,sawwort,sawyer,sax,saxhorn,saxten,saxtie,saxtuba,say,saya,sayable,sayer,sayette,sayid,saying,sazen,sblood,scab,scabbed,scabble,scabby,scabid,scabies,scabish,scabrid,scad,scaddle,scads,scaff,scaffer,scaffie,scaffle,scaglia,scala,scalage,scalar,scalare,scald,scalded,scalder,scaldic,scaldy,scale,scaled,scalena,scalene,scaler,scales,scaling,scall,scalled,scallom,scallop,scalma,scaloni,scalp,scalpel,scalper,scalt,scaly,scam,scamble,scamell,scamler,scamles,scamp,scamper,scan,scandal,scandia,scandic,scanmag,scanner,scant,scantle,scantly,scanty,scap,scape,scapel,scapha,scapoid,scapose,scapple,scapula,scapus,scar,scarab,scarce,scarcen,scare,scarer,scarf,scarfed,scarfer,scarfy,scarid,scarify,scarily,scarlet,scarman,scarn,scaroid,scarp,scarred,scarrer,scarry,scart,scarth,scarus,scarved,scary,scase,scasely,scat,scatch,scathe,scatter,scatty,scatula,scaul,scaum,scaup,scauper,scaur,scaurie,scaut,scavage,scavel,scaw,scawd,scawl,scazon,sceat,scena,scenary,scend,scene,scenery,scenic,scenist,scenite,scent,scented,scenter,scepsis,scepter,sceptic,sceptry,scerne,schanz,schappe,scharf,schelly,schema,scheme,schemer,schemy,schene,schepel,schepen,scherm,scherzi,scherzo,schesis,schism,schisma,schist,schloop,schmelz,scho,schola,scholae,scholar,scholia,schone,school,schoon,schorl,schorly,schout,schtoff,schuh,schuhe,schuit,schule,schuss,schute,schwa,schwarz,sciapod,sciarid,sciatic,scibile,science,scient,scincid,scind,sciniph,scintle,scion,scious,scirrhi,scissel,scissor,sciurid,sclaff,sclate,sclater,sclaw,scler,sclera,scleral,sclere,scliff,sclim,sclimb,scoad,scob,scobby,scobs,scoff,scoffer,scog,scoggan,scogger,scoggin,scoke,scolb,scold,scolder,scolex,scolia,scoliid,scolion,scolite,scollop,scolog,sconce,sconcer,scone,scoon,scoop,scooped,scooper,scoot,scooter,scopa,scopate,scope,scopet,scopic,scopine,scopola,scops,scopula,scorch,score,scored,scorer,scoria,scoriac,scoriae,scorify,scoring,scorn,scorned,scorner,scorny,scorper,scorse,scot,scotale,scotch,scote,scoter,scotia,scotino,scotoma,scotomy,scouch,scouk,scoup,scour,scoured,scourer,scourge,scoury,scouse,scout,scouter,scouth,scove,scovel,scovy,scow,scowder,scowl,scowler,scowman,scrab,scrabe,scrae,scrag,scraggy,scraily,scram,scran,scranch,scrank,scranky,scranny,scrap,scrape,scraped,scraper,scrapie,scrappy,scrapy,scrat,scratch,scrath,scrauch,scraw,scrawk,scrawl,scrawly,scrawm,scrawny,scray,scraze,screak,screaky,scream,screamy,scree,screech,screed,screek,screel,screen,screeny,screet,screeve,screich,screigh,screve,screver,screw,screwed,screwer,screwy,scribal,scribe,scriber,scride,scrieve,scrike,scrim,scrime,scrimer,scrimp,scrimpy,scrin,scrinch,scrine,scringe,scrip,scripee,script,scritch,scrive,scriven,scriver,scrob,scrobe,scrobis,scrod,scroff,scrog,scroggy,scrolar,scroll,scrolly,scroo,scrooch,scrooge,scroop,scrota,scrotal,scrotum,scrouge,scrout,scrow,scroyle,scrub,scrubby,scruf,scruff,scruffy,scruft,scrum,scrump,scrunch,scrunge,scrunt,scruple,scrush,scruto,scruze,scry,scryer,scud,scudder,scuddle,scuddy,scudi,scudler,scudo,scuff,scuffed,scuffer,scuffle,scuffly,scuffy,scuft,scufter,scug,sculch,scull,sculler,scullog,sculp,sculper,sculpin,sculpt,sculsh,scum,scumber,scumble,scummed,scummer,scummy,scun,scunder,scunner,scup,scupful,scupper,scuppet,scur,scurdy,scurf,scurfer,scurfy,scurry,scurvy,scuse,scut,scuta,scutage,scutal,scutate,scutch,scute,scutel,scutter,scuttle,scutty,scutula,scutum,scybala,scye,scypha,scyphae,scyphi,scyphoi,scyphus,scyt,scytale,scythe,sdeath,se,sea,seadog,seafare,seafolk,seafowl,seagirt,seagoer,seah,seak,seal,sealant,sealch,sealed,sealer,sealery,sealess,sealet,sealike,sealine,sealing,seam,seaman,seamark,seamed,seamer,seaming,seamlet,seamost,seamrog,seamy,seance,seaport,sear,searce,searcer,search,seared,searer,searing,seary,seasick,seaside,season,seat,seatang,seated,seater,seathe,seating,seatron,seave,seavy,seawant,seaward,seaware,seaway,seaweed,seawife,seaworn,seax,sebacic,sebait,sebate,sebific,sebilla,sebkha,sebum,sebundy,sec,secable,secalin,secancy,secant,secede,seceder,secern,secesh,sech,seck,seclude,secluse,secohm,second,seconde,secos,secpar,secque,secre,secrecy,secret,secreta,secrete,secreto,sect,sectary,sectile,section,sectism,sectist,sective,sector,secular,secund,secure,securer,sedan,sedate,sedent,sedge,sedged,sedging,sedgy,sedile,sedilia,seduce,seducee,seducer,seduct,sedum,see,seeable,seech,seed,seedage,seedbed,seedbox,seeded,seeder,seedful,seedily,seedkin,seedlet,seedlip,seedman,seedy,seege,seeing,seek,seeker,seeking,seel,seelful,seely,seem,seemer,seeming,seemly,seen,seenie,seep,seepage,seeped,seepy,seer,seeress,seerpaw,seesaw,seesee,seethe,seg,seggar,seggard,segged,seggrom,segment,sego,segol,seiche,seidel,seine,seiner,seise,seism,seismal,seismic,seit,seity,seize,seizer,seizin,seizing,seizor,seizure,sejant,sejoin,sejunct,sekos,selah,selamin,seldom,seldor,sele,select,selenic,self,selfdom,selfful,selfish,selfism,selfist,selfly,selion,sell,sella,sellar,sellate,seller,sellie,selling,sellout,selly,selsyn,selt,selva,selvage,semarum,sematic,semball,semble,seme,semeed,semeia,semeion,semen,semence,semese,semi,semiape,semiarc,semibay,semic,semicup,semidry,semiegg,semifib,semifit,semify,semigod,semihot,seminal,seminar,semiorb,semiped,semipro,semiraw,semis,semita,semitae,semital,semiurn,semmet,semmit,semola,semsem,sen,senaite,senam,senary,senate,senator,sence,sencion,send,sendal,sendee,sender,sending,senega,senegin,senesce,senile,senior,senna,sennet,sennit,sennite,sensa,sensal,sensate,sense,sensed,sensify,sensile,sension,sensism,sensist,sensive,sensize,senso,sensor,sensory,sensual,sensum,sensyne,sent,sentry,sepad,sepal,sepaled,sephen,sepia,sepian,sepiary,sepic,sepioid,sepion,sepiost,sepium,sepone,sepoy,seppuku,seps,sepsine,sepsis,sept,septa,septal,septan,septane,septate,septave,septet,septic,septier,septile,septime,septoic,septole,septum,septuor,sequa,sequel,sequela,sequent,sequest,sequin,ser,sera,serab,seragli,serai,serail,seral,serang,serape,seraph,serau,seraw,sercial,serdab,sere,sereh,serene,serf,serfage,serfdom,serfish,serfism,serge,serger,serging,serial,seriary,seriate,sericea,sericin,seriema,series,serif,serific,serin,serine,seringa,serio,serious,serment,sermo,sermon,sero,serolin,seron,seroon,seroot,seropus,serosa,serous,serow,serpent,serphid,serpigo,serpula,serra,serrage,serran,serrana,serrano,serrate,serried,serry,sert,serta,sertule,sertum,serum,serumal,serut,servage,serval,servant,serve,server,servery,servet,service,servile,serving,servist,servo,sesame,sesma,sesqui,sess,sessile,session,sestet,sesti,sestiad,sestina,sestine,sestole,sestuor,set,seta,setae,setal,setback,setbolt,setdown,setfast,seth,sethead,setier,setline,setness,setoff,seton,setose,setous,setout,setover,setsman,sett,settee,setter,setting,settle,settled,settler,settlor,setula,setule,setup,setwall,setwise,setwork,seugh,seven,sevener,seventh,seventy,sever,several,severe,severer,severy,sew,sewable,sewage,sewan,sewed,sewen,sewer,sewered,sewery,sewing,sewless,sewn,sex,sexed,sexern,sexfid,sexfoil,sexhood,sexifid,sexiped,sexless,sexlike,sexly,sext,sextain,sextan,sextans,sextant,sextar,sextary,sextern,sextet,sextic,sextile,sexto,sextole,sexton,sextry,sextula,sexual,sexuale,sexuous,sexy,sey,sfoot,sh,sha,shab,shabash,shabbed,shabble,shabby,shachle,shachly,shack,shackle,shackly,shacky,shad,shade,shaded,shader,shadily,shadine,shading,shadkan,shadoof,shadow,shadowy,shady,shaffle,shaft,shafted,shafter,shafty,shag,shagbag,shagged,shaggy,shaglet,shagrag,shah,shahdom,shahi,shahin,shaikh,shaitan,shake,shaken,shaker,shakers,shakha,shakily,shaking,shako,shakti,shaku,shaky,shale,shall,shallal,shallon,shallop,shallot,shallow,shallu,shalom,shalt,shalwar,shaly,sham,shama,shamal,shamalo,shaman,shamba,shamble,shame,shamed,shamer,shamir,shammed,shammer,shammy,shampoo,shan,shandry,shandy,shangan,shank,shanked,shanker,shanna,shanny,shansa,shant,shanty,shap,shape,shaped,shapely,shapen,shaper,shaping,shaps,shapy,shard,sharded,shardy,share,sharer,shargar,shark,sharky,sharn,sharny,sharp,sharpen,sharper,sharpie,sharply,sharps,sharpy,sharrag,sharry,shaster,shastra,shastri,shat,shatan,shatter,shaugh,shaul,shaup,shauri,shauwe,shave,shaved,shavee,shaven,shaver,shavery,shaving,shaw,shawl,shawled,shawm,shawny,shawy,shay,she,shea,sheaf,sheafy,sheal,shear,sheard,shearer,shears,sheat,sheath,sheathe,sheathy,sheave,sheaved,shebang,shebeen,shed,shedded,shedder,sheder,shedman,shee,sheely,sheen,sheenly,sheeny,sheep,sheepy,sheer,sheered,sheerly,sheet,sheeted,sheeter,sheety,sheik,sheikly,shekel,shela,sheld,shelder,shelf,shelfy,shell,shellac,shelled,sheller,shellum,shelly,shelta,shelter,shelty,shelve,shelver,shelvy,shend,sheng,sheolic,sheppey,sher,sherbet,sheriat,sherif,sherifa,sheriff,sherifi,sherify,sherry,sheth,sheugh,sheva,shevel,shevri,shewa,shewel,sheyle,shi,shibah,shibar,shice,shicer,shicker,shide,shied,shiel,shield,shier,shies,shiest,shift,shifter,shifty,shigram,shih,shikar,shikara,shikari,shikimi,shikken,shiko,shikra,shilf,shilfa,shill,shilla,shillet,shilloo,shilpit,shim,shimal,shimmer,shimmy,shimose,shimper,shin,shindig,shindle,shindy,shine,shiner,shingle,shingly,shinily,shining,shinner,shinny,shinty,shiny,shinza,ship,shipboy,shipful,shiplap,shiplet,shipman,shipped,shipper,shippo,shippon,shippy,shipway,shire,shirk,shirker,shirky,shirl,shirpit,shirr,shirt,shirty,shish,shisham,shisn,shita,shither,shittah,shittim,shiv,shive,shiver,shivery,shivey,shivoo,shivy,sho,shoad,shoader,shoal,shoaler,shoaly,shoat,shock,shocker,shod,shodden,shoddy,shode,shoder,shoe,shoeboy,shoeing,shoeman,shoer,shoful,shog,shogaol,shoggie,shoggle,shoggly,shogi,shogun,shohet,shoji,shola,shole,shone,shoneen,shoo,shood,shoofa,shoofly,shooi,shook,shool,shooler,shoop,shoor,shoot,shootee,shooter,shop,shopboy,shopful,shophar,shoplet,shopman,shoppe,shopper,shoppy,shoq,shor,shoran,shore,shored,shorer,shoring,shorn,short,shorten,shorter,shortly,shorts,shot,shote,shotgun,shotman,shott,shotted,shotten,shotter,shotty,shou,should,shout,shouter,shoval,shove,shovel,shover,show,showdom,shower,showery,showily,showing,showish,showman,shown,showup,showy,shoya,shrab,shradh,shraf,shrag,shram,shrank,shrap,shrave,shravey,shred,shreddy,shree,shreeve,shrend,shrew,shrewd,shrewdy,shrewly,shriek,shrieky,shrift,shrike,shrill,shrilly,shrimp,shrimpi,shrimpy,shrinal,shrine,shrink,shrinky,shrip,shrite,shrive,shrivel,shriven,shriver,shroff,shrog,shroud,shroudy,shrove,shrover,shrub,shrubby,shruff,shrug,shrunk,shrups,shuba,shuck,shucker,shucks,shudder,shuff,shuffle,shug,shul,shuler,shumac,shun,shune,shunner,shunt,shunter,shure,shurf,shush,shusher,shut,shutoff,shutout,shutten,shutter,shuttle,shy,shyer,shyish,shyly,shyness,shyster,si,siak,sial,sialic,sialid,sialoid,siamang,sib,sibbed,sibbens,sibber,sibby,sibilus,sibling,sibness,sibrede,sibship,sibyl,sibylic,sibylla,sic,sicca,siccant,siccate,siccity,sice,sick,sickbed,sicken,sicker,sickish,sickle,sickled,sickler,sickly,sicsac,sicula,sicular,sidder,siddur,side,sideage,sidearm,sidecar,sided,sider,sideral,siderin,sides,sideway,sidhe,sidi,siding,sidle,sidler,sidling,sidth,sidy,sie,siege,sieger,sienna,sier,siering,sierra,sierran,siesta,sieve,siever,sievy,sifac,sifaka,sife,siffle,sifflet,sifflot,sift,siftage,sifted,sifter,sifting,sig,sigger,sigh,sigher,sighful,sighing,sight,sighted,sighten,sighter,sightly,sighty,sigil,sigla,siglos,sigma,sigmate,sigmoid,sign,signal,signary,signate,signee,signer,signet,signify,signior,signist,signman,signory,signum,sika,sikar,sikatch,sike,sikerly,siket,sikhara,sikhra,sil,silage,silane,sile,silen,silence,silency,sileni,silenic,silent,silenus,silesia,silex,silica,silicam,silicic,silicle,silico,silicon,silicyl,siliqua,silique,silk,silked,silken,silker,silkie,silkily,silkman,silky,sill,sillar,siller,sillily,sillock,sillon,silly,silo,siloist,silphid,silt,siltage,silting,silty,silurid,silva,silvan,silver,silvern,silvery,silvics,silyl,sima,simal,simar,simball,simbil,simblin,simblot,sime,simiad,simial,simian,similar,simile,similor,simioid,simious,simity,simkin,simlin,simling,simmer,simmon,simnel,simony,simool,simoom,simoon,simous,simp,simpai,simper,simple,simpler,simplex,simply,simsim,simson,simular,simuler,sin,sina,sinaite,sinal,sinamay,sinapic,sinapis,sinawa,since,sincere,sind,sinder,sindle,sindoc,sindon,sindry,sine,sinew,sinewed,sinewy,sinful,sing,singe,singed,singer,singey,singh,singing,single,singled,singler,singles,singlet,singly,singult,sinh,sink,sinkage,sinker,sinking,sinky,sinless,sinlike,sinnen,sinner,sinnet,sinopia,sinople,sinsion,sinsyne,sinter,sintoc,sinuate,sinuose,sinuous,sinus,sinusal,sinward,siol,sion,sip,sipage,sipe,siper,siphoid,siphon,sipid,siping,sipling,sipper,sippet,sippio,sir,sircar,sirdar,sire,siren,sirene,sirenic,sireny,siress,sirgang,sirian,siricid,sirih,siris,sirkeer,sirki,sirky,sirloin,siroc,sirocco,sirpea,sirple,sirpoon,sirrah,sirree,sirship,sirup,siruped,siruper,sirupy,sis,sisal,sise,sisel,sish,sisham,sisi,siskin,siss,sissify,sissoo,sissy,sist,sister,sistern,sistle,sistrum,sit,sitao,sitar,sitch,site,sitfast,sith,sithe,sithens,sitient,sitio,sittee,sitten,sitter,sittine,sitting,situal,situate,situla,situlae,situs,siva,siver,sivvens,siwash,six,sixain,sixer,sixfoil,sixfold,sixsome,sixte,sixteen,sixth,sixthet,sixthly,sixty,sizable,sizably,sizal,sizar,size,sized,sizeman,sizer,sizes,sizing,sizy,sizygia,sizz,sizzard,sizzing,sizzle,sjambok,skaddle,skaff,skaffie,skag,skair,skal,skance,skart,skasely,skat,skate,skater,skatiku,skating,skatist,skatole,skaw,skean,skedge,skee,skeed,skeeg,skeel,skeely,skeen,skeer,skeered,skeery,skeet,skeeter,skeezix,skeg,skegger,skeif,skeigh,skeily,skein,skeiner,skeipp,skel,skelder,skelf,skelic,skell,skellat,skeller,skellum,skelly,skelp,skelper,skelpin,skelter,skemmel,skemp,sken,skene,skeo,skeough,skep,skepful,skeptic,sker,skere,skerret,skerry,sketch,sketchy,skete,skevish,skew,skewed,skewer,skewl,skewly,skewy,skey,ski,skiapod,skibby,skice,skid,skidded,skidder,skiddoo,skiddy,skidpan,skidway,skied,skieppe,skier,skies,skiff,skift,skiing,skijore,skil,skilder,skill,skilled,skillet,skilly,skilpot,skilts,skim,skime,skimmed,skimmer,skimp,skimpy,skin,skinch,skinful,skink,skinker,skinkle,skinned,skinner,skinny,skip,skipman,skippel,skipper,skippet,skipple,skippy,skirl,skirp,skirr,skirreh,skirret,skirt,skirted,skirter,skirty,skit,skite,skiter,skither,skitter,skittle,skitty,skiv,skive,skiver,skiving,sklate,sklater,sklent,skoal,skoo,skookum,skoptsy,skout,skraigh,skrike,skrupul,skua,skulk,skulker,skull,skulled,skully,skulp,skun,skunk,skunky,skuse,sky,skybal,skyey,skyful,skyish,skylark,skyless,skylike,skylook,skyman,skyphoi,skyphos,skyre,skysail,skyugle,skyward,skyway,sla,slab,slabbed,slabber,slabby,slabman,slack,slacked,slacken,slacker,slackly,slad,sladang,slade,slae,slag,slagger,slaggy,slagman,slain,slainte,slait,slake,slaker,slaking,slaky,slam,slamp,slander,slane,slang,slangy,slank,slant,slantly,slap,slape,slapper,slare,slart,slarth,slash,slashed,slasher,slashy,slat,slatch,slate,slater,slath,slather,slatify,slating,slatish,slatted,slatter,slaty,slaum,slave,slaved,slaver,slavery,slavey,slaving,slavish,slaw,slay,slayer,slaying,sleathy,sleave,sleaved,sleazy,sleck,sled,sledded,sledder,sledful,sledge,sledger,slee,sleech,sleechy,sleek,sleeken,sleeker,sleekit,sleekly,sleeky,sleep,sleeper,sleepry,sleepy,sleer,sleet,sleety,sleeve,sleeved,sleever,sleigh,sleight,slender,slent,slepez,slept,slete,sleuth,slew,slewed,slewer,slewing,sley,sleyer,slice,sliced,slicer,slich,slicht,slicing,slick,slicken,slicker,slickly,slid,slidage,slidden,slidder,slide,slided,slider,sliding,slifter,slight,slighty,slim,slime,slimer,slimily,slimish,slimly,slimpsy,slimsy,slimy,sline,sling,slinge,slinger,slink,slinker,slinky,slip,slipe,slipman,slipped,slipper,slippy,slipway,slirt,slish,slit,slitch,slite,slither,slithy,slitted,slitter,slitty,slive,sliver,slivery,sliving,sloan,slob,slobber,slobby,slock,slocken,slod,slodder,slodge,slodger,sloe,slog,slogan,slogger,sloka,sloke,slon,slone,slonk,sloo,sloom,sloomy,sloop,sloosh,slop,slope,sloped,slopely,sloper,sloping,slopped,sloppy,slops,slopy,slorp,slosh,slosher,sloshy,slot,slote,sloted,sloth,slotted,slotter,slouch,slouchy,slough,sloughy,slour,sloush,sloven,slow,slowish,slowly,slowrie,slows,sloyd,slub,slubber,slubby,slud,sludder,sludge,sludged,sludger,sludgy,slue,sluer,slug,slugged,slugger,sluggy,sluice,sluicer,sluicy,sluig,sluit,slum,slumber,slumdom,slumgum,slummer,slummy,slump,slumpy,slung,slunge,slunk,slunken,slur,slurbow,slurp,slurry,slush,slusher,slushy,slut,slutch,slutchy,sluther,slutter,slutty,sly,slyish,slyly,slyness,slype,sma,smack,smackee,smacker,smaik,small,smallen,smaller,smalls,smally,smalm,smalt,smalter,smalts,smaragd,smarm,smarmy,smart,smarten,smartly,smarty,smash,smasher,smashup,smatter,smaze,smear,smeared,smearer,smeary,smectic,smectis,smeddum,smee,smeech,smeek,smeeky,smeer,smeeth,smegma,smell,smelled,smeller,smelly,smelt,smelter,smeth,smethe,smeuse,smew,smich,smicker,smicket,smiddie,smiddum,smidge,smidgen,smilax,smile,smiler,smilet,smiling,smily,smirch,smirchy,smiris,smirk,smirker,smirkle,smirkly,smirky,smirtle,smit,smitch,smite,smiter,smith,smitham,smither,smithy,smiting,smitten,smock,smocker,smog,smoke,smoked,smoker,smokery,smokily,smoking,smokish,smoky,smolder,smolt,smooch,smoochy,smoodge,smook,smoot,smooth,smopple,smore,smote,smother,smotter,smouch,smous,smouse,smouser,smout,smriti,smudge,smudged,smudger,smudgy,smug,smuggle,smugism,smugly,smuisty,smur,smurr,smurry,smuse,smush,smut,smutch,smutchy,smutted,smutter,smutty,smyth,smytrie,snab,snabbie,snabble,snack,snackle,snaff,snaffle,snafu,snag,snagged,snagger,snaggy,snagrel,snail,snails,snaily,snaith,snake,snaker,snakery,snakily,snaking,snakish,snaky,snap,snapbag,snape,snaper,snapped,snapper,snapps,snappy,snaps,snapy,snare,snarer,snark,snarl,snarler,snarly,snary,snaste,snatch,snatchy,snath,snathe,snavel,snavvle,snaw,snead,sneak,sneaker,sneaky,sneap,sneath,sneathe,sneb,sneck,snecker,snecket,sned,snee,sneer,sneerer,sneery,sneesh,sneest,sneesty,sneeze,sneezer,sneezy,snell,snelly,snerp,snew,snib,snibble,snibel,snicher,snick,snicker,snicket,snickey,snickle,sniddle,snide,sniff,sniffer,sniffle,sniffly,sniffy,snift,snifter,snifty,snig,snigger,sniggle,snip,snipe,sniper,sniping,snipish,snipper,snippet,snippy,snipy,snirl,snirt,snirtle,snitch,snite,snithe,snithy,snittle,snivel,snively,snivy,snob,snobber,snobby,snobdom,snocher,snock,snocker,snod,snodly,snoek,snog,snoga,snoke,snood,snooded,snook,snooker,snoop,snooper,snoopy,snoose,snoot,snooty,snoove,snooze,snoozer,snoozle,snoozy,snop,snore,snorer,snoring,snork,snorkel,snorker,snort,snorter,snortle,snorty,snot,snotter,snotty,snouch,snout,snouted,snouter,snouty,snow,snowcap,snowie,snowily,snowish,snowk,snowl,snowy,snozzle,snub,snubbed,snubbee,snubber,snubby,snuck,snudge,snuff,snuffer,snuffle,snuffly,snuffy,snug,snugger,snuggle,snugify,snugly,snum,snup,snupper,snur,snurl,snurly,snurp,snurt,snuzzle,sny,snying,so,soak,soakage,soaked,soaken,soaker,soaking,soakman,soaky,soally,soam,soap,soapbox,soaper,soapery,soapily,soapsud,soapy,soar,soarer,soaring,soary,sob,sobber,sobbing,sobby,sobeit,sober,soberer,soberly,sobful,soboles,soc,socage,socager,soccer,soce,socht,social,society,socii,socius,sock,socker,socket,sockeye,socky,socle,socman,soco,sod,soda,sodaic,sodded,sodden,sodding,soddite,soddy,sodic,sodio,sodium,sodless,sodoku,sodomic,sodomy,sodwork,sody,soe,soekoe,soever,sofa,sofane,sofar,soffit,soft,softa,soften,softish,softly,softner,softy,sog,soger,soget,soggily,sogging,soggy,soh,soho,soil,soilage,soiled,soiling,soilure,soily,soiree,soja,sojourn,sok,soka,soke,sokeman,soken,sol,sola,solace,solacer,solan,solanal,solanum,solar,solate,solatia,solay,sold,soldado,soldan,solder,soldi,soldier,soldo,sole,solea,soleas,soleil,solely,solemn,solen,solent,soler,soles,soleus,soleyn,soli,solicit,solid,solidi,solidly,solidum,solidus,solio,soliped,solist,sollar,solo,solod,solodi,soloist,solon,soloth,soluble,solubly,solum,solute,solvate,solve,solvend,solvent,solver,soma,somal,somata,somatic,somber,sombre,some,someday,somehow,someone,somers,someway,somewhy,somital,somite,somitic,somma,somnial,somnify,somnus,sompay,sompne,sompner,son,sonable,sonance,sonancy,sonant,sonar,sonata,sond,sondeli,soneri,song,songful,songish,songle,songlet,songman,songy,sonhood,sonic,soniou,sonk,sonless,sonlike,sonly,sonnet,sonny,sonoric,sons,sonship,sonsy,sontag,soodle,soodly,sook,sooky,sool,sooloos,soon,sooner,soonish,soonly,soorawn,soord,soorkee,soot,sooter,sooth,soothe,soother,sootily,sooty,sop,sope,soph,sophia,sophic,sophism,sophy,sopite,sopor,sopper,sopping,soppy,soprani,soprano,sora,sorage,soral,sorb,sorbate,sorbent,sorbic,sorbile,sorbin,sorbite,sorbose,sorbus,sorcer,sorcery,sorchin,sorda,sordes,sordid,sordine,sordino,sordor,sore,soredia,soree,sorehon,sorely,sorema,sorgho,sorghum,sorgo,sori,soricid,sorite,sorites,sorn,sornare,sornari,sorner,sorning,soroban,sororal,sorose,sorosis,sorra,sorrel,sorrily,sorroa,sorrow,sorrowy,sorry,sort,sortal,sorted,sorter,sortie,sortly,sorty,sorus,sorva,sory,sosh,soshed,soso,sosoish,soss,sossle,sot,sotie,sotnia,sotnik,sotol,sots,sottage,sotted,sotter,sottish,sou,souari,soubise,soucar,souchet,souchy,soud,souffle,sough,sougher,sought,soul,soulack,souled,soulful,soulish,souly,soum,sound,sounder,soundly,soup,soupcon,souper,souple,soupy,sour,source,soured,souren,sourer,souring,sourish,sourly,sourock,soursop,sourtop,soury,souse,souser,souslik,soutane,souter,south,souther,sov,soviet,sovite,sovkhoz,sovran,sow,sowable,sowan,sowans,sowar,sowarry,sowback,sowbane,sowel,sowens,sower,sowfoot,sowing,sowins,sowl,sowle,sowlike,sowlth,sown,sowse,sowt,sowte,soy,soya,soybean,sozin,sozolic,sozzle,sozzly,spa,space,spaced,spacer,spacing,spack,spacy,spad,spade,spaded,spader,spadger,spading,spadix,spadone,spae,spaedom,spaeman,spaer,spahi,spaid,spaik,spairge,spak,spald,spalder,spale,spall,spaller,spalt,span,spancel,spandle,spandy,spane,spanemy,spang,spangle,spangly,spaniel,spaning,spank,spanker,spanky,spann,spannel,spanner,spanule,spar,sparada,sparch,spare,sparely,sparer,sparge,sparger,sparid,sparing,spark,sparked,sparker,sparkle,sparkly,sparks,sparky,sparm,sparoid,sparred,sparrer,sparrow,sparry,sparse,spart,sparth,spartle,sparver,spary,spasm,spasmed,spasmic,spastic,spat,spate,spatha,spathal,spathe,spathed,spathic,spatial,spatted,spatter,spattle,spatula,spatule,spave,spaver,spavie,spavied,spaviet,spavin,spawn,spawner,spawny,spay,spayad,spayard,spaying,speak,speaker,speal,spean,spear,spearer,speary,spec,spece,special,specie,species,specify,speck,specked,speckle,speckly,specks,specky,specs,specter,spectra,spectry,specula,specus,sped,speech,speed,speeder,speedy,speel,speen,speer,speiss,spelder,spelk,spell,speller,spelt,spelter,speltz,spelunk,spence,spencer,spend,spender,spense,spent,speos,sperate,sperity,sperket,sperm,sperma,spermic,spermy,sperone,spet,spetch,spew,spewer,spewing,spewy,spex,sphacel,sphecid,spheges,sphegid,sphene,sphenic,spheral,sphere,spheric,sphery,sphinx,spica,spical,spicant,spicate,spice,spiced,spicer,spicery,spicily,spicing,spick,spicket,spickle,spicose,spicous,spicula,spicule,spicy,spider,spidery,spidger,spied,spiegel,spiel,spieler,spier,spiff,spiffed,spiffy,spig,spignet,spigot,spike,spiked,spiker,spikily,spiking,spiky,spile,spiler,spiling,spilite,spill,spiller,spillet,spilly,spiloma,spilt,spilth,spilus,spin,spina,spinach,spinae,spinage,spinal,spinate,spinder,spindle,spindly,spine,spined,spinel,spinet,spingel,spink,spinner,spinney,spinoid,spinose,spinous,spinule,spiny,spionid,spiral,spirale,spiran,spirant,spirate,spire,spirea,spired,spireme,spiring,spirit,spirity,spirket,spiro,spiroid,spirous,spirt,spiry,spise,spit,spital,spitbox,spite,spitful,spitish,spitted,spitten,spitter,spittle,spitz,spiv,spivery,splash,splashy,splat,splatch,splay,splayed,splayer,spleen,spleeny,spleet,splenic,splet,splice,splicer,spline,splint,splinty,split,splodge,splodgy,splore,splosh,splotch,splunge,splurge,splurgy,splurt,spoach,spode,spodium,spoffle,spoffy,spogel,spoil,spoiled,spoiler,spoilt,spoke,spoken,spoky,spole,spolia,spolium,spondee,spondyl,spong,sponge,sponged,sponger,spongin,spongy,sponsal,sponson,sponsor,spoof,spoofer,spook,spooky,spool,spooler,spoom,spoon,spooner,spoony,spoor,spoorer,spoot,spor,sporal,spore,spored,sporid,sporoid,sporont,sporous,sporran,sport,sporter,sportly,sports,sporty,sporule,sposh,sposhy,spot,spotted,spotter,spottle,spotty,spousal,spouse,spousy,spout,spouter,spouty,sprack,sprad,sprag,spraich,sprain,spraint,sprang,sprank,sprat,spratty,sprawl,sprawly,spray,sprayer,sprayey,spread,spready,spreath,spree,spreeuw,spreng,sprent,spret,sprew,sprewl,spried,sprier,spriest,sprig,spriggy,spring,springe,springy,sprink,sprint,sprit,sprite,spritty,sproat,sprod,sprogue,sproil,sprong,sprose,sprout,sprowsy,spruce,sprue,spruer,sprug,spruit,sprung,sprunny,sprunt,spry,spryly,spud,spudder,spuddle,spuddy,spuffle,spug,spuke,spume,spumone,spumose,spumous,spumy,spun,spung,spunk,spunkie,spunky,spunny,spur,spurge,spuriae,spurl,spurlet,spurn,spurner,spurred,spurrer,spurry,spurt,spurter,spurtle,spurway,sput,sputa,sputter,sputum,spy,spyboat,spydom,spyer,spyhole,spyism,spyship,squab,squabby,squacco,squad,squaddy,squail,squalid,squall,squally,squalm,squalor,squam,squama,squamae,squame,square,squared,squarer,squark,squary,squash,squashy,squat,squatly,squatty,squaw,squawk,squawky,squdge,squdgy,squeak,squeaky,squeal,squeald,squeam,squeamy,squeege,squeeze,squeezy,squelch,squench,squib,squid,squidge,squidgy,squiffy,squilla,squin,squinch,squinny,squinsy,squint,squinty,squire,squiret,squirk,squirm,squirmy,squirr,squirt,squirty,squish,squishy,squit,squitch,squoze,squush,squushy,sraddha,sramana,sri,sruti,ssu,st,staab,stab,stabber,stabile,stable,stabler,stably,staboy,stacher,stachys,stack,stacker,stacte,stadda,staddle,stade,stadia,stadic,stadion,stadium,staff,staffed,staffer,stag,stage,staged,stager,stagery,stagese,stagger,staggie,staggy,stagily,staging,stagnum,stagy,staia,staid,staidly,stain,stainer,staio,stair,staired,stairy,staith,staiver,stake,staker,stale,stalely,staling,stalk,stalked,stalker,stalko,stalky,stall,stallar,staller,stam,stambha,stamen,stamin,stamina,stammel,stammer,stamnos,stamp,stampee,stamper,stample,stance,stanch,stand,standee,standel,stander,stane,stang,stanine,stanjen,stank,stankie,stannel,stanner,stannic,stanno,stannum,stannyl,stanza,stanze,stap,stapes,staple,stapled,stapler,star,starch,starchy,stardom,stare,staree,starer,starets,starful,staring,stark,starken,starkly,starky,starlet,starlit,starn,starnel,starnie,starost,starred,starry,start,starter,startle,startly,startor,starty,starve,starved,starver,starvy,stary,stases,stash,stashie,stasis,statal,statant,state,stated,stately,stater,static,statics,station,statism,statist,stative,stator,statue,statued,stature,status,statute,stauk,staumer,staun,staunch,staup,stauter,stave,staver,stavers,staving,staw,stawn,staxis,stay,stayed,stayer,staynil,stays,stchi,stead,steady,steak,steal,stealed,stealer,stealth,stealy,steam,steamer,steamy,stean,stearic,stearin,stearyl,steatin,stech,steddle,steed,steek,steel,steeler,steely,steen,steenth,steep,steepen,steeper,steeple,steeply,steepy,steer,steerer,steeve,steever,steg,steid,steigh,stein,stekan,stela,stelae,stelai,stelar,stele,stell,stella,stellar,stem,stema,stemlet,stemma,stemmed,stemmer,stemmy,stemple,stemson,sten,stenar,stench,stenchy,stencil,stend,steng,stengah,stenion,steno,stenog,stent,stenter,stenton,step,steppe,stepped,stepper,stepson,stept,stepway,stere,stereo,steri,steric,sterics,steride,sterile,sterin,sterk,sterlet,stern,sterna,sternad,sternal,sterned,sternly,sternum,stero,steroid,sterol,stert,stertor,sterve,stet,stetch,stevel,steven,stevia,stew,steward,stewed,stewpan,stewpot,stewy,stey,sthenia,sthenic,stib,stibial,stibic,stibine,stibium,stich,stichic,stichid,stick,sticked,sticker,stickit,stickle,stickly,sticks,stickum,sticky,stid,stiddy,stife,stiff,stiffen,stiffly,stifle,stifler,stigma,stigmai,stigmal,stigme,stile,stilet,still,stiller,stilly,stilt,stilted,stilter,stilty,stim,stime,stimuli,stimy,stine,sting,stinge,stinger,stingo,stingy,stink,stinker,stint,stinted,stinter,stinty,stion,stionic,stipe,stiped,stipel,stipend,stipes,stippen,stipple,stipply,stipula,stipule,stir,stirk,stirp,stirps,stirra,stirrer,stirrup,stitch,stite,stith,stithy,stive,stiver,stivy,stoa,stoach,stoat,stoater,stob,stocah,stock,stocker,stocks,stocky,stod,stodge,stodger,stodgy,stoep,stof,stoff,stog,stoga,stogie,stogy,stoic,stoical,stoke,stoker,stola,stolae,stole,stoled,stolen,stolid,stolist,stollen,stolon,stoma,stomach,stomata,stomate,stomium,stomp,stomper,stond,stone,stoned,stonen,stoner,stong,stonied,stonify,stonily,stoning,stonish,stonker,stony,stood,stooded,stooden,stoof,stooge,stook,stooker,stookie,stool,stoon,stoond,stoop,stooper,stoory,stoot,stop,stopa,stope,stoper,stopgap,stoping,stopped,stopper,stoppit,stopple,storage,storax,store,storeen,storer,storge,storied,storier,storify,stork,storken,storm,stormer,stormy,story,stosh,stoss,stot,stotter,stoun,stound,stoup,stour,stoury,stoush,stout,stouten,stouth,stoutly,stouty,stove,stoven,stover,stow,stowage,stowce,stower,stowing,stra,strack,stract,strad,strade,stradl,stradld,strae,strafe,strafer,strag,straik,strain,straint,strait,strake,straked,straky,stram,stramp,strand,strang,strange,strany,strap,strass,strata,stratal,strath,strati,stratic,stratum,stratus,strave,straw,strawen,strawer,strawy,stray,strayer,stre,streak,streaky,stream,streamy,streck,stree,streek,streel,streen,streep,street,streets,streite,streke,stremma,streng,strent,strenth,strepen,strepor,stress,stret,stretch,strette,stretti,stretto,strew,strewer,strewn,strey,streyne,stria,striae,strial,striate,strich,striche,strick,strict,strid,stride,strider,stridor,strife,strig,striga,strigae,strigal,stright,strigil,strike,striker,strind,string,stringy,striola,strip,stripe,striped,striper,stript,stripy,strit,strive,strived,striven,striver,strix,stroam,strobic,strode,stroil,stroke,stroker,stroky,strold,stroll,strolld,strom,stroma,stromal,stromb,strome,strone,strong,strook,stroot,strop,strophe,stroth,stroud,stroup,strove,strow,strowd,strown,stroy,stroyer,strub,struck,strudel,strue,strum,struma,strumae,strung,strunt,strut,struth,struv,strych,stub,stubb,stubbed,stubber,stubble,stubbly,stubboy,stubby,stuber,stuboy,stucco,stuck,stud,studder,studdie,studdle,stude,student,studia,studied,studier,studio,studium,study,stue,stuff,stuffed,stuffer,stuffy,stug,stuggy,stuiver,stull,stuller,stulm,stum,stumble,stumbly,stumer,stummer,stummy,stump,stumper,stumpy,stun,stung,stunk,stunner,stunsle,stunt,stunted,stunter,stunty,stupa,stupe,stupefy,stupend,stupent,stupex,stupid,stupor,stupose,stupp,stuprum,sturdy,sturine,sturk,sturt,sturtan,sturtin,stuss,stut,stutter,sty,styan,styca,styful,stylar,stylate,style,styler,stylet,styline,styling,stylish,stylist,stylite,stylize,stylo,styloid,stylops,stylus,stymie,stypsis,styptic,styrax,styrene,styrol,styrone,styryl,stythe,styward,suable,suably,suade,suaharo,suant,suantly,suasion,suasive,suasory,suave,suavely,suavify,suavity,sub,subacid,subact,subage,subah,subaid,subanal,subarch,subarea,subatom,subaud,subband,subbank,subbase,subbass,subbeau,subbias,subbing,subcase,subcash,subcast,subcell,subcity,subclan,subcool,subdate,subdean,subdeb,subdial,subdie,subdual,subduce,subduct,subdue,subdued,subduer,subecho,subedit,suber,suberic,suberin,subface,subfeu,subfief,subfix,subform,subfusc,subfusk,subgape,subgens,subget,subgit,subgod,subgrin,subgyre,subhall,subhead,subherd,subhero,subicle,subidar,subidea,subitem,subjack,subject,subjee,subjoin,subking,sublate,sublet,sublid,sublime,sublong,sublot,submaid,submain,subman,submind,submiss,submit,subnect,subness,subnex,subnote,subnude,suboral,suborn,suboval,subpart,subpass,subpial,subpimp,subplat,subplot,subplow,subpool,subport,subrace,subrent,subroot,subrule,subsale,subsalt,subsea,subsect,subsept,subset,subside,subsidy,subsill,subsist,subsoil,subsult,subsume,subtack,subtend,subtext,subtile,subtill,subtle,subtly,subtone,subtype,subunit,suburb,subvein,subvene,subvert,subvola,subway,subwink,subzone,succade,succeed,succent,success,succi,succin,succise,succor,succory,succous,succub,succuba,succube,succula,succumb,succuss,such,suck,suckage,sucken,sucker,sucking,suckle,suckler,suclat,sucrate,sucre,sucrose,suction,sucuri,sucuriu,sud,sudamen,sudary,sudate,sudd,sudden,sudder,suddle,suddy,sudoral,sudoric,suds,sudsman,sudsy,sue,suede,suer,suet,suety,suff,suffect,suffer,suffete,suffice,suffix,sufflue,suffuse,sugamo,sugan,sugar,sugared,sugarer,sugary,sugent,suggest,sugh,sugi,suguaro,suhuaro,suicide,suid,suidian,suiform,suimate,suine,suing,suingly,suint,suist,suit,suite,suiting,suitor,suity,suji,sulcal,sulcar,sulcate,sulcus,suld,sulea,sulfa,sulfato,sulfion,sulfury,sulk,sulka,sulker,sulkily,sulky,sull,sulla,sullage,sullen,sullow,sully,sulpha,sulpho,sulphur,sultam,sultan,sultana,sultane,sultone,sultry,sulung,sum,sumac,sumatra,sumbul,sumless,summage,summand,summar,summary,summate,summed,summer,summery,summist,summit,summity,summon,summons,summula,summut,sumner,sump,sumpage,sumper,sumph,sumphy,sumpit,sumple,sumpman,sumpter,sun,sunbeam,sunbird,sunbow,sunburn,suncup,sundae,sundang,sundari,sundek,sunder,sundew,sundial,sundik,sundog,sundown,sundra,sundri,sundry,sune,sunfall,sunfast,sunfish,sung,sungha,sunglo,sunglow,sunk,sunken,sunket,sunlamp,sunland,sunless,sunlet,sunlike,sunlit,sunn,sunnily,sunnud,sunny,sunray,sunrise,sunroom,sunset,sunsmit,sunspot,sunt,sunup,sunward,sunway,sunways,sunweed,sunwise,sunyie,sup,supa,supari,supawn,supe,super,superb,supine,supper,supping,supple,supply,support,suppose,suppost,supreme,sur,sura,surah,surahi,sural,suranal,surat,surbase,surbate,surbed,surcoat,surcrue,surculi,surd,surdent,surdity,sure,surely,sures,surette,surety,surf,surface,surfacy,surfeit,surfer,surfle,surfman,surfuse,surfy,surge,surgent,surgeon,surgery,surging,surgy,suriga,surlily,surly,surma,surmark,surmise,surname,surnap,surnay,surpass,surplus,surra,surrey,surtax,surtout,survey,survive,suscept,susi,suslik,suspect,suspend,suspire,sustain,susu,susurr,suther,sutile,sutler,sutlery,sutor,sutra,suttee,sutten,suttin,suttle,sutural,suture,suum,suwarro,suwe,suz,svelte,swa,swab,swabber,swabble,swack,swacken,swad,swaddle,swaddy,swag,swage,swager,swagger,swaggie,swaggy,swagman,swain,swaird,swale,swaler,swaling,swallet,swallo,swallow,swam,swami,swamp,swamper,swampy,swan,swang,swangy,swank,swanker,swanky,swanner,swanny,swap,swape,swapper,swaraj,swarbie,sward,swardy,sware,swarf,swarfer,swarm,swarmer,swarmy,swarry,swart,swarth,swarthy,swartly,swarty,swarve,swash,swasher,swashy,swat,swatch,swath,swathe,swather,swathy,swatter,swattle,swaver,sway,swayed,swayer,swayful,swaying,sweal,swear,swearer,sweat,sweated,sweater,sweath,sweaty,swedge,sweeny,sweep,sweeper,sweepy,sweer,sweered,sweet,sweeten,sweetie,sweetly,sweety,swego,swell,swelled,sweller,swelly,swelp,swelt,swelter,swelth,sweltry,swelty,swep,swept,swerd,swerve,swerver,swick,swidge,swift,swiften,swifter,swifty,swig,swigger,swiggle,swile,swill,swiller,swim,swimmer,swimmy,swimy,swindle,swine,swinely,swinery,swiney,swing,swinge,swinger,swingle,swingy,swinish,swink,swinney,swipe,swiper,swipes,swiple,swipper,swipy,swird,swire,swirl,swirly,swish,swisher,swishy,swiss,switch,switchy,swith,swithe,swithen,swither,swivel,swivet,swiz,swizzle,swob,swollen,swom,swonken,swoon,swooned,swoony,swoop,swooper,swoosh,sword,swore,sworn,swosh,swot,swotter,swounds,swow,swum,swung,swungen,swure,syagush,sybotic,syce,sycee,sycock,sycoma,syconid,syconus,sycosis,sye,syenite,sylid,syllab,syllabe,syllabi,sylloge,sylph,sylphic,sylphid,sylphy,sylva,sylvae,sylvage,sylvan,sylvate,sylvic,sylvine,sylvite,symbion,symbiot,symbol,sympode,symptom,synacme,synacmy,synange,synapse,synapte,synaxar,synaxis,sync,syncarp,synch,synchro,syncope,syndic,syndoc,syne,synema,synergy,synesis,syngamy,synod,synodal,synoecy,synonym,synopsy,synovia,syntan,syntax,synthol,syntomy,syntone,syntony,syntype,synusia,sypher,syre,syringa,syringe,syrinx,syrma,syrphid,syrt,syrtic,syrup,syruped,syruper,syrupy,syssel,system,systole,systyle,syzygy,t,ta,taa,taar,tab,tabacin,tabacum,tabanid,tabard,tabaret,tabaxir,tabber,tabby,tabefy,tabella,taberna,tabes,tabet,tabetic,tabic,tabid,tabidly,tabific,tabinet,tabla,table,tableau,tabled,tabler,tables,tablet,tabling,tabloid,tabog,taboo,taboot,tabor,taborer,taboret,taborin,tabour,tabret,tabu,tabula,tabular,tabule,tabut,taccada,tach,tache,tachiol,tacit,tacitly,tack,tacker,tacket,tackety,tackey,tacking,tackle,tackled,tackler,tacky,tacnode,tacso,tact,tactful,tactic,tactics,tactile,taction,tactite,tactive,tactor,tactual,tactus,tad,tade,tadpole,tae,tael,taen,taenia,taenial,taenian,taenite,taennin,taffeta,taffety,taffle,taffy,tafia,taft,tafwiz,tag,tagetol,tagged,tagger,taggle,taggy,taglet,taglike,taglock,tagrag,tagsore,tagtail,tagua,taguan,tagwerk,taha,taheen,tahil,tahin,tahr,tahsil,tahua,tai,taiaha,taich,taiga,taigle,taihoa,tail,tailage,tailed,tailer,tailet,tailge,tailing,taille,taillie,tailor,tailory,tailpin,taily,tailzee,tailzie,taimen,tain,taint,taintor,taipan,taipo,tairge,tairger,tairn,taisch,taise,taissle,tait,taiver,taivers,taivert,taj,takable,takar,take,takeful,taken,taker,takin,taking,takings,takosis,takt,taky,takyr,tal,tala,talabon,talahib,talaje,talak,talao,talar,talari,talaria,talaric,talayot,talbot,talc,talcer,talcky,talcoid,talcose,talcous,talcum,tald,tale,taled,taleful,talent,taler,tales,tali,taliage,taliera,talion,talipat,taliped,talipes,talipot,talis,talisay,talite,talitol,talk,talker,talkful,talkie,talking,talky,tall,tallage,tallboy,taller,tallero,talles,tallet,talliar,tallier,tallis,tallish,tallit,tallith,talloel,tallote,tallow,tallowy,tally,tallyho,talma,talon,taloned,talonic,talonid,talose,talpid,talpify,talpine,talpoid,talthib,taluk,taluka,talus,taluto,talwar,talwood,tam,tamable,tamably,tamale,tamandu,tamanu,tamara,tamarao,tamarin,tamas,tamasha,tambac,tamber,tambo,tamboo,tambor,tambour,tame,tamein,tamely,tamer,tamis,tamise,tamlung,tammie,tammock,tammy,tamp,tampala,tampan,tampang,tamper,tampin,tamping,tampion,tampon,tampoon,tan,tana,tanach,tanager,tanaist,tanak,tanan,tanbark,tanbur,tancel,tandan,tandem,tandle,tandour,tane,tang,tanga,tanged,tangelo,tangent,tanger,tangham,tanghan,tanghin,tangi,tangie,tangka,tanglad,tangle,tangler,tangly,tango,tangram,tangs,tangue,tangum,tangun,tangy,tanh,tanha,tania,tanica,tanier,tanist,tanjib,tanjong,tank,tanka,tankage,tankah,tankard,tanked,tanker,tankert,tankful,tankle,tankman,tanling,tannage,tannaic,tannaim,tannase,tannate,tanned,tanner,tannery,tannic,tannide,tannin,tanning,tannoid,tannyl,tanoa,tanquam,tanquen,tanrec,tansy,tantara,tanti,tantivy,tantle,tantra,tantric,tantrik,tantrum,tantum,tanwood,tanyard,tanzeb,tanzib,tanzy,tao,taotai,taoyin,tap,tapa,tapalo,tapas,tapasvi,tape,tapeman,tapen,taper,tapered,taperer,taperly,tapet,tapetal,tapete,tapeti,tapetum,taphole,tapia,tapioca,tapir,tapis,tapism,tapist,taplash,taplet,tapmost,tapnet,tapoa,tapoun,tappa,tappall,tappaul,tappen,tapper,tappet,tapping,tappoon,taproom,taproot,taps,tapster,tapu,tapul,taqua,tar,tara,taraf,tarage,tarairi,tarand,taraph,tarapin,tarata,taratah,tarau,tarbet,tarboy,tarbush,tardily,tardive,tardle,tardy,tare,tarea,tarefa,tarente,tarfa,targe,targer,target,tarhood,tari,tarie,tariff,tarin,tariric,tarish,tarkhan,tarlike,tarmac,tarman,tarn,tarnal,tarnish,taro,taroc,tarocco,tarok,tarot,tarp,tarpan,tarpon,tarpot,tarpum,tarr,tarrack,tarras,tarrass,tarred,tarrer,tarri,tarrie,tarrier,tarrify,tarrily,tarrish,tarrock,tarrow,tarry,tars,tarsal,tarsale,tarse,tarsi,tarsia,tarsier,tarsome,tarsus,tart,tartago,tartan,tartana,tartane,tartar,tarten,tartish,tartle,tartlet,tartly,tartro,tartryl,tarve,tarweed,tarwood,taryard,tasajo,tascal,tasco,tash,tashie,tashlik,tashrif,task,taskage,tasker,taskit,taslet,tass,tassago,tassah,tassal,tassard,tasse,tassel,tassely,tasser,tasset,tassie,tassoo,taste,tasted,tasten,taster,tastily,tasting,tasty,tasu,tat,tataupa,tatbeb,tatchy,tate,tater,tath,tatie,tatinek,tatler,tatou,tatouay,tatsman,tatta,tatter,tattery,tatther,tattied,tatting,tattle,tattler,tattoo,tattva,tatty,tatu,tau,taught,taula,taum,taun,taunt,taunter,taupe,taupo,taupou,taur,taurean,taurian,tauric,taurine,taurite,tauryl,taut,tautaug,tauted,tauten,tautit,tautly,tautog,tav,tave,tavell,taver,tavern,tavers,tavert,tavola,taw,tawa,tawdry,tawer,tawery,tawie,tawite,tawkee,tawkin,tawn,tawney,tawnily,tawnle,tawny,tawpi,tawpie,taws,tawse,tawtie,tax,taxable,taxably,taxator,taxed,taxeme,taxemic,taxer,taxi,taxibus,taxicab,taximan,taxine,taxing,taxis,taxite,taxitic,taxless,taxman,taxon,taxor,taxpaid,taxwax,taxy,tay,tayer,tayir,tayra,taysaam,tazia,tch,tchai,tcharik,tchast,tche,tchick,tchu,tck,te,tea,teabox,teaboy,teacake,teacart,teach,teache,teacher,teachy,teacup,tead,teadish,teaer,teaey,teagle,teaish,teaism,teak,teal,tealery,tealess,team,teaman,teameo,teamer,teaming,teamman,tean,teanal,teap,teapot,teapoy,tear,tearage,tearcat,tearer,tearful,tearing,tearlet,tearoom,tearpit,teart,teary,tease,teasel,teaser,teashop,teasing,teasler,teasy,teat,teated,teathe,teather,teatime,teatman,teaty,teave,teaware,teaze,teazer,tebbet,tec,teca,tecali,tech,techily,technic,techous,techy,teck,tecomin,tecon,tectal,tectum,tecum,tecuma,ted,tedder,tedge,tedious,tedium,tee,teedle,teel,teem,teemer,teemful,teeming,teems,teen,teenage,teenet,teens,teensy,teenty,teeny,teer,teerer,teest,teet,teetan,teeter,teeth,teethe,teethy,teeting,teety,teevee,teff,teg,tegmen,tegmina,tegua,tegula,tegular,tegumen,tehseel,tehsil,teicher,teil,teind,teinder,teioid,tejon,teju,tekiah,tekke,tekken,tektite,tekya,telamon,telang,telar,telary,tele,teledu,telega,teleost,teleran,telergy,telesia,telesis,teleuto,televox,telfer,telford,teli,telial,telic,telical,telium,tell,tellach,tellee,teller,telling,tellt,telome,telomic,telpath,telpher,telson,telt,telurgy,telyn,temacha,teman,tembe,temblor,temenos,temiak,temin,temp,temper,tempera,tempery,tempest,tempi,templar,temple,templed,templet,tempo,tempora,tempre,tempt,tempter,temse,temser,ten,tenable,tenably,tenace,tenai,tenancy,tenant,tench,tend,tendant,tendent,tender,tending,tendon,tendour,tendril,tendron,tenebra,tenent,teneral,tenet,tenfold,teng,tengere,tengu,tenible,tenio,tenline,tenne,tenner,tennis,tennisy,tenon,tenoner,tenor,tenpin,tenrec,tense,tensely,tensify,tensile,tension,tensity,tensive,tenson,tensor,tent,tentage,tented,tenter,tentful,tenth,tenthly,tentigo,tention,tentlet,tenture,tenty,tenuate,tenues,tenuis,tenuity,tenuous,tenure,teopan,tepache,tepal,tepee,tepefy,tepid,tepidly,tepor,tequila,tera,terap,teras,terbia,terbic,terbium,tercel,tercer,tercet,tercia,tercine,tercio,terebic,terebra,teredo,terek,terete,tereu,terfez,tergal,tergant,tergite,tergum,term,terma,termage,termen,termer,termin,termine,termini,termino,termite,termly,termon,termor,tern,terna,ternal,ternar,ternary,ternate,terne,ternery,ternion,ternize,ternlet,terp,terpane,terpene,terpin,terpine,terrace,terrage,terrain,terral,terrane,terrar,terrene,terret,terrier,terrify,terrine,terron,terror,terry,terse,tersely,tersion,tertia,tertial,tertian,tertius,terton,tervee,terzina,terzo,tesack,teskere,tessara,tessel,tessera,test,testa,testacy,testar,testata,testate,teste,tested,testee,tester,testes,testify,testily,testing,testis,teston,testone,testoon,testor,testril,testudo,testy,tetanic,tetanus,tetany,tetard,tetch,tetchy,tete,tetel,teth,tether,tethery,tetra,tetract,tetrad,tetrane,tetrazo,tetric,tetrode,tetrole,tetrose,tetryl,tetter,tettery,tettix,teucrin,teufit,teuk,teviss,tew,tewel,tewer,tewit,tewly,tewsome,text,textile,textlet,textman,textual,texture,tez,tezkere,th,tha,thack,thacker,thakur,thalami,thaler,thalli,thallic,thallus,thameng,than,thana,thanage,thanan,thane,thank,thankee,thanker,thanks,thapes,thapsia,thar,tharf,tharm,that,thatch,thatchy,thatn,thats,thaught,thave,thaw,thawer,thawn,thawy,the,theah,theasum,theat,theater,theatry,theave,theb,theca,thecae,thecal,thecate,thecia,thecium,thecla,theclan,thecoid,thee,theek,theeker,theelin,theelol,theer,theet,theezan,theft,thegn,thegnly,theine,their,theirn,theirs,theism,theist,thelium,them,thema,themata,theme,themer,themis,themsel,then,thenal,thenar,thence,theody,theorbo,theorem,theoria,theoric,theorum,theory,theow,therapy,there,thereas,thereat,thereby,therein,thereof,thereon,theres,therese,thereto,thereup,theriac,therial,therm,thermae,thermal,thermic,thermit,thermo,thermos,theroid,these,theses,thesial,thesis,theta,thetch,thetic,thetics,thetin,thetine,theurgy,thew,thewed,thewy,they,theyll,theyre,thiamin,thiasi,thiasoi,thiasos,thiasus,thick,thicken,thicket,thickly,thief,thienyl,thieve,thiever,thig,thigger,thigh,thighed,thight,thilk,thill,thiller,thilly,thimber,thimble,thin,thine,thing,thingal,thingly,thingum,thingy,think,thinker,thinly,thinner,thio,thiol,thiolic,thionic,thionyl,thir,third,thirdly,thirl,thirst,thirsty,thirt,thirty,this,thishow,thisn,thissen,thistle,thistly,thither,thiuram,thivel,thixle,tho,thob,thocht,thof,thoft,thoke,thokish,thole,tholi,tholoi,tholos,tholus,thon,thonder,thone,thong,thonged,thongy,thoo,thooid,thoom,thoral,thorax,thore,thoria,thoric,thorina,thorite,thorium,thorn,thorned,thornen,thorny,thoro,thoron,thorp,thort,thorter,those,thou,though,thought,thouse,thow,thowel,thowt,thrack,thraep,thrail,thrain,thrall,thram,thrang,thrap,thrash,thrast,thrave,thraver,thraw,thrawn,thread,thready,threap,threat,three,threne,threnos,threose,thresh,threw,thrice,thrift,thrifty,thrill,thrilly,thrimp,thring,thrip,thripel,thrips,thrive,thriven,thriver,thro,throat,throaty,throb,throck,throddy,throe,thronal,throne,throng,throu,throuch,through,throve,throw,thrower,thrown,thrum,thrummy,thrush,thrushy,thrust,thrutch,thruv,thrymsa,thud,thug,thugdom,thuggee,thujene,thujin,thujone,thujyl,thulia,thulir,thulite,thulium,thulr,thuluth,thumb,thumbed,thumber,thumble,thumby,thump,thumper,thunder,thung,thunge,thuoc,thurify,thurl,thurm,thurmus,thurse,thurt,thus,thusly,thutter,thwack,thwaite,thwart,thwite,thy,thyine,thymate,thyme,thymele,thymene,thymic,thymine,thymol,thymoma,thymus,thymy,thymyl,thynnid,thyroid,thyrse,thyrsus,thysel,thyself,thysen,ti,tiang,tiao,tiar,tiara,tib,tibby,tibet,tibey,tibia,tibiad,tibiae,tibial,tibiale,tiburon,tic,tical,ticca,tice,ticer,tick,ticked,ticken,ticker,ticket,tickey,tickie,ticking,tickle,tickled,tickler,tickly,tickney,ticky,ticul,tid,tidal,tidally,tidbit,tiddle,tiddler,tiddley,tiddy,tide,tided,tideful,tidely,tideway,tidily,tiding,tidings,tidley,tidy,tidyism,tie,tieback,tied,tien,tiepin,tier,tierce,tierced,tiered,tierer,tietick,tiewig,tiff,tiffany,tiffie,tiffin,tiffish,tiffle,tiffy,tift,tifter,tig,tige,tigella,tigelle,tiger,tigerly,tigery,tigger,tight,tighten,tightly,tights,tiglic,tignum,tigress,tigrine,tigroid,tigtag,tikka,tikker,tiklin,tikor,tikur,til,tilaite,tilaka,tilbury,tilde,tile,tiled,tiler,tilery,tilikum,tiling,till,tillage,tiller,tilley,tillite,tillot,tilly,tilmus,tilpah,tilt,tilter,tilth,tilting,tiltup,tilty,tilyer,timable,timar,timarau,timawa,timbal,timbale,timbang,timbe,timber,timbern,timbery,timbo,timbre,timbrel,time,timed,timeful,timely,timeous,timer,times,timid,timidly,timing,timish,timist,timon,timor,timothy,timpani,timpano,tin,tinamou,tincal,tinchel,tinclad,tinct,tind,tindal,tindalo,tinder,tindery,tine,tinea,tineal,tinean,tined,tineid,tineine,tineman,tineoid,tinety,tinful,ting,tinge,tinged,tinger,tingi,tingid,tingle,tingler,tingly,tinguy,tinhorn,tinily,tining,tink,tinker,tinkle,tinkler,tinkly,tinlet,tinlike,tinman,tinned,tinner,tinnery,tinnet,tinnily,tinning,tinnock,tinny,tinosa,tinsel,tinsman,tint,tinta,tintage,tinted,tinter,tintie,tinting,tintist,tinty,tintype,tinwald,tinware,tinwork,tiny,tip,tipburn,tipcart,tipcat,tipe,tipful,tiphead,tipiti,tiple,tipless,tiplet,tipman,tipmost,tiponi,tipped,tippee,tipper,tippet,tipping,tipple,tippler,tipply,tippy,tipsify,tipsily,tipster,tipsy,tiptail,tiptilt,tiptoe,tiptop,tipulid,tipup,tirade,tiralee,tire,tired,tiredly,tiredom,tireman,tirer,tiriba,tiring,tirl,tirma,tirr,tirret,tirrlie,tirve,tirwit,tisane,tisar,tissual,tissue,tissued,tissuey,tiswin,tit,titania,titanic,titano,titanyl,titar,titbit,tite,titer,titfish,tithal,tithe,tither,tithing,titi,titian,titien,titlark,title,titled,titler,titlike,titling,titlist,titmal,titman,titoki,titrate,titre,titter,tittery,tittie,tittle,tittler,tittup,tittupy,titty,titular,titule,titulus,tiver,tivoli,tivy,tiza,tizeur,tizzy,tji,tjosite,tlaco,tmema,tmesis,to,toa,toad,toadeat,toader,toadery,toadess,toadier,toadish,toadlet,toady,toast,toastee,toaster,toasty,toat,toatoa,tobacco,tobe,tobine,tobira,toby,tobyman,toccata,tocher,tock,toco,tocome,tocsin,tocusso,tod,today,todder,toddick,toddite,toddle,toddler,toddy,tode,tody,toe,toecap,toed,toeless,toelike,toenail,toetoe,toff,toffee,toffing,toffish,toffy,toft,tofter,toftman,tofu,tog,toga,togaed,togata,togate,togated,toggel,toggery,toggle,toggler,togless,togs,togt,togue,toher,toheroa,toho,tohunga,toi,toil,toiled,toiler,toilet,toilful,toiling,toise,toit,toitish,toity,tokay,toke,token,tokened,toko,tokopat,tol,tolan,tolane,told,toldo,tole,tolite,toll,tollage,toller,tollery,tolling,tollman,tolly,tolsey,tolt,tolter,tolu,toluate,toluene,toluic,toluide,toluido,toluol,toluyl,tolyl,toman,tomato,tomb,tombac,tombal,tombe,tombic,tomblet,tombola,tombolo,tomboy,tomcat,tomcod,tome,tomeful,tomelet,toment,tomfool,tomial,tomin,tomish,tomium,tomjohn,tomkin,tommy,tomnoup,tomorn,tomosis,tompon,tomtate,tomtit,ton,tonal,tonally,tonant,tondino,tone,toned,toneme,toner,tonetic,tong,tonga,tonger,tongman,tongs,tongue,tongued,tonguer,tonguey,tonic,tonify,tonight,tonish,tonite,tonjon,tonk,tonkin,tonlet,tonnage,tonneau,tonner,tonnish,tonous,tonsil,tonsor,tonsure,tontine,tonus,tony,too,toodle,took,tooken,tool,toolbox,tooler,tooling,toolman,toom,toomly,toon,toop,toorie,toorock,tooroo,toosh,toot,tooter,tooth,toothed,toother,toothy,tootle,tootler,tootsy,toozle,toozoo,top,toparch,topass,topaz,topazy,topcap,topcast,topcoat,tope,topee,topeng,topepo,toper,topfull,toph,tophus,topi,topia,topiary,topic,topical,topknot,topless,toplike,topline,topman,topmast,topmost,topo,toponym,topped,topper,topping,topple,toppler,topply,toppy,toprail,toprope,tops,topsail,topside,topsl,topsman,topsoil,toptail,topwise,toque,tor,tora,torah,toral,toran,torc,torcel,torch,torcher,torchon,tore,tored,torero,torfel,torgoch,toric,torii,torma,tormen,torment,tormina,torn,tornade,tornado,tornal,tornese,torney,tornote,tornus,toro,toroid,torose,torous,torpedo,torpent,torpid,torpify,torpor,torque,torqued,torques,torrefy,torrent,torrid,torsade,torse,torsel,torsile,torsion,torsive,torsk,torso,tort,torta,torteau,tortile,tortive,tortula,torture,toru,torula,torulin,torulus,torus,torve,torvid,torvity,torvous,tory,tosh,tosher,toshery,toshly,toshy,tosily,toss,tosser,tossily,tossing,tosspot,tossup,tossy,tost,toston,tosy,tot,total,totally,totara,totchka,tote,totem,totemic,totemy,toter,tother,totient,toto,totora,totquot,totter,tottery,totting,tottle,totty,totuava,totum,toty,totyman,tou,toucan,touch,touched,toucher,touchy,toug,tough,toughen,toughly,tought,tould,toumnah,toup,toupee,toupeed,toupet,tour,touraco,tourer,touring,tourism,tourist,tourize,tourn,tournay,tournee,tourney,tourte,tousche,touse,touser,tousle,tously,tousy,tout,touter,tovar,tow,towable,towage,towai,towan,toward,towards,towboat,towcock,towd,towel,towelry,tower,towered,towery,towght,towhead,towhee,towing,towkay,towlike,towline,towmast,town,towned,townee,towner,townet,townful,townify,townish,townist,townlet,townly,townman,towny,towpath,towrope,towser,towy,tox,toxa,toxamin,toxcatl,toxemia,toxemic,toxic,toxical,toxicum,toxifer,toxin,toxity,toxoid,toxon,toxone,toxosis,toxotae,toy,toydom,toyer,toyful,toying,toyish,toyland,toyless,toylike,toyman,toyon,toyshop,toysome,toytown,toywort,toze,tozee,tozer,tra,trabal,trabant,trabea,trabeae,trabuch,trace,tracer,tracery,trachea,trachle,tracing,track,tracked,tracker,tract,tractor,tradal,trade,trader,trading,tradite,traduce,trady,traffic,trag,tragal,tragedy,tragi,tragic,tragus,trah,traheen,traik,trail,trailer,traily,train,trained,trainee,trainer,trainy,traipse,trait,traitor,traject,trajet,tralira,tram,trama,tramal,tramcar,trame,tramful,tramman,trammel,trammer,trammon,tramp,tramper,trample,trampot,tramway,trance,tranced,traneen,trank,tranka,tranker,trankum,tranky,transit,transom,trant,tranter,trap,trapes,trapeze,trapped,trapper,trappy,traps,trash,traship,trashy,trass,trasy,trauma,travail,travale,trave,travel,travis,travois,travoy,trawl,trawler,tray,trayful,treacle,treacly,tread,treader,treadle,treason,treat,treatee,treater,treator,treaty,treble,trebly,treddle,tree,treed,treeful,treeify,treelet,treeman,treen,treetop,treey,tref,trefle,trefoil,tregerg,tregohm,trehala,trek,trekker,trellis,tremble,trembly,tremie,tremolo,tremor,trenail,trench,trend,trendle,trental,trepan,trepang,trepid,tress,tressed,tresson,tressy,trest,trestle,tret,trevet,trews,trey,tri,triable,triace,triacid,triact,triad,triadic,triaene,triage,trial,triamid,triarch,triarii,triatic,triaxon,triazin,triazo,tribade,tribady,tribal,tribase,tribble,tribe,triblet,tribrac,tribual,tribuna,tribune,tribute,trica,tricae,tricar,trice,triceps,trichi,trichia,trichy,trick,tricker,trickle,trickly,tricksy,tricky,triclad,tricorn,tricot,trident,triduan,triduum,tried,triedly,triene,triens,trier,trifa,trifid,trifle,trifler,triflet,trifoil,trifold,trifoly,triform,trig,trigamy,trigger,triglid,triglot,trigly,trigon,trigone,trigram,trigyn,trikaya,trike,triker,triketo,trikir,trilabe,trilby,trilit,trilite,trilith,trill,trillet,trilli,trillo,trilobe,trilogy,trim,trimer,trimly,trimmer,trin,trinal,trinary,trindle,trine,trinely,tringle,trinity,trink,trinket,trinkle,trinode,trinol,trintle,trio,triobol,triode,triodia,triole,triolet,trionym,trior,triose,trip,tripal,tripara,tripart,tripe,tripel,tripery,triple,triplet,triplex,triplum,triply,tripod,tripody,tripoli,tripos,tripper,trippet,tripple,tripsis,tripy,trireme,trisalt,trisazo,trisect,triseme,trishna,trismic,trismus,trisome,trisomy,trist,trisul,trisula,tritaph,trite,tritely,tritish,tritium,tritolo,triton,tritone,tritor,trityl,triumph,triunal,triune,triurid,trivant,trivet,trivia,trivial,trivium,trivvet,trizoic,trizone,troat,troca,trocar,trochal,troche,trochee,trochi,trochid,trochus,trock,troco,trod,trodden,trode,troft,trog,trogger,troggin,trogon,trogs,trogue,troika,troke,troker,troll,troller,trolley,trollol,trollop,trolly,tromba,trombe,trommel,tromp,trompe,trompil,tromple,tron,trona,tronage,tronc,trone,troner,troolie,troop,trooper,troot,tropal,tropary,tropate,trope,tropeic,troper,trophal,trophi,trophic,trophy,tropic,tropine,tropism,tropist,tropoyl,tropyl,trot,troth,trotlet,trotol,trotter,trottie,trotty,trotyl,trouble,troubly,trough,troughy,trounce,troupe,trouper,trouse,trouser,trout,trouter,trouty,trove,trover,trow,trowel,trowing,trowman,trowth,troy,truancy,truant,trub,trubu,truce,trucial,truck,trucker,truckle,trucks,truddo,trudge,trudgen,trudger,true,truer,truff,truffle,trug,truish,truism,trull,truller,trullo,truly,trummel,trump,trumper,trumpet,trumph,trumpie,trun,truncal,trunch,trundle,trunk,trunked,trunnel,trush,trusion,truss,trussed,trusser,trust,trustee,trusten,truster,trustle,trusty,truth,truthy,truvat,try,trygon,trying,tryma,tryout,tryp,trypa,trypan,trypsin,tryptic,trysail,tryst,tryster,tryt,tsadik,tsamba,tsantsa,tsar,tsardom,tsarina,tsatlee,tsere,tsetse,tsia,tsine,tst,tsuba,tsubo,tsun,tsunami,tsungtu,tu,tua,tuan,tuarn,tuart,tuatara,tuatera,tuath,tub,tuba,tubae,tubage,tubal,tubar,tubate,tubba,tubbal,tubbeck,tubber,tubbie,tubbing,tubbish,tubboe,tubby,tube,tubeful,tubelet,tubeman,tuber,tuberin,tubfish,tubful,tubicen,tubifer,tubig,tubik,tubing,tublet,tublike,tubman,tubular,tubule,tubulet,tubuli,tubulus,tuchit,tuchun,tuck,tucker,tucket,tucking,tuckner,tucktoo,tucky,tucum,tucuma,tucuman,tudel,tue,tueiron,tufa,tufan,tuff,tuffet,tuffing,tuft,tufted,tufter,tuftily,tufting,tuftlet,tufty,tug,tugboat,tugger,tuggery,tugging,tughra,tugless,tuglike,tugman,tugrik,tugui,tui,tuik,tuille,tuilyie,tuism,tuition,tuitive,tuke,tukra,tula,tulare,tulasi,tulchan,tulchin,tule,tuliac,tulip,tulipy,tulisan,tulle,tulsi,tulwar,tum,tumasha,tumbak,tumble,tumbled,tumbler,tumbly,tumbrel,tume,tumefy,tumid,tumidly,tummals,tummel,tummer,tummock,tummy,tumor,tumored,tump,tumtum,tumular,tumuli,tumult,tumulus,tun,tuna,tunable,tunably,tunca,tund,tunder,tundish,tundra,tundun,tune,tuned,tuneful,tuner,tunful,tung,tungate,tungo,tunhoof,tunic,tunicin,tunicle,tuning,tunish,tunist,tunk,tunket,tunlike,tunmoot,tunna,tunnel,tunner,tunnery,tunnor,tunny,tuno,tunu,tuny,tup,tupara,tupek,tupelo,tupik,tupman,tupuna,tuque,tur,turacin,turb,turban,turbary,turbeh,turbid,turbine,turbit,turbith,turbo,turbot,turco,turd,turdine,turdoid,tureen,turf,turfage,turfdom,turfed,turfen,turfing,turfite,turfman,turfy,turgent,turgid,turgite,turgoid,turgor,turgy,turio,turion,turjite,turk,turken,turkey,turkis,turkle,turm,turma,turment,turmit,turmoil,turn,turncap,turndun,turned,turnel,turner,turnery,turney,turning,turnip,turnipy,turnix,turnkey,turnoff,turnout,turnpin,turnrow,turns,turnup,turp,turpeth,turpid,turps,turr,turret,turse,tursio,turtle,turtler,turtlet,turtosa,tururi,turus,turwar,tusche,tush,tushed,tusher,tushery,tusk,tuskar,tusked,tusker,tuskish,tusky,tussah,tussal,tusser,tussis,tussive,tussle,tussock,tussore,tussur,tut,tutania,tutball,tute,tutee,tutela,tutelar,tutenag,tuth,tutin,tutly,tutman,tutor,tutorer,tutorly,tutory,tutoyer,tutress,tutrice,tutrix,tuts,tutsan,tutster,tutti,tutty,tutu,tutulus,tutwork,tuwi,tux,tuxedo,tuyere,tuza,tuzzle,twa,twaddle,twaddly,twaddy,twae,twagger,twain,twaite,twal,twale,twalt,twang,twanger,twangle,twangy,twank,twanker,twankle,twanky,twant,twarly,twas,twasome,twat,twattle,tway,twazzy,tweag,tweak,tweaker,tweaky,twee,tweed,tweeded,tweedle,tweedy,tweeg,tweel,tween,tweeny,tweesh,tweesht,tweest,tweet,tweeter,tweeze,tweezer,tweil,twelfth,twelve,twenty,twere,twerp,twibil,twice,twicer,twicet,twick,twiddle,twiddly,twifoil,twifold,twig,twigful,twigged,twiggen,twigger,twiggy,twiglet,twilit,twill,twilled,twiller,twilly,twilt,twin,twindle,twine,twiner,twinge,twingle,twinism,twink,twinkle,twinkly,twinly,twinned,twinner,twinter,twiny,twire,twirk,twirl,twirler,twirly,twiscar,twisel,twist,twisted,twister,twistle,twisty,twit,twitch,twitchy,twite,twitten,twitter,twitty,twixt,twizzle,two,twofold,twoling,twoness,twosome,tychism,tychite,tycoon,tyddyn,tydie,tye,tyee,tyg,tying,tyke,tyken,tykhana,tyking,tylarus,tylion,tyloma,tylopod,tylose,tylosis,tylote,tylotic,tylotus,tylus,tymp,tympan,tympana,tympani,tympany,tynd,typal,type,typer,typeset,typhia,typhic,typhlon,typhoid,typhoon,typhose,typhous,typhus,typic,typica,typical,typicon,typicum,typify,typist,typo,typobar,typonym,typp,typy,tyranny,tyrant,tyre,tyro,tyroma,tyrone,tyronic,tyrosyl,tyste,tyt,tzolkin,tzontle,u,uang,uayeb,uberant,uberous,uberty,ubi,ubiety,ubiquit,ubussu,uckia,udal,udaler,udaller,udalman,udasi,udder,uddered,udell,udo,ug,ugh,uglify,uglily,ugly,ugsome,uhlan,uhllo,uhtsong,uily,uinal,uintjie,uitspan,uji,ukase,uke,ukiyoye,ukulele,ula,ulcer,ulcered,ulcery,ule,ulema,uletic,ulex,ulexine,ulexite,ulitis,ull,ulla,ullage,ullaged,uller,ulling,ulluco,ulmic,ulmin,ulminic,ulmo,ulmous,ulna,ulnad,ulnae,ulnar,ulnare,ulnaria,uloid,uloncus,ulster,ultima,ultimo,ultimum,ultra,ulu,ulua,uluhi,ululant,ululate,ululu,um,umbel,umbeled,umbella,umber,umbilic,umble,umbo,umbonal,umbone,umbones,umbonic,umbra,umbrae,umbrage,umbral,umbrel,umbril,umbrine,umbrose,umbrous,ume,umiak,umiri,umlaut,ump,umph,umpire,umpirer,umpteen,umpty,umu,un,unable,unably,unact,unacted,unacute,unadapt,unadd,unadded,unadopt,unadorn,unadult,unafire,unaflow,unaged,unagile,unaging,unaided,unaimed,unaired,unakin,unakite,unal,unalarm,unalert,unalike,unalist,unalive,unallow,unalone,unaloud,unamend,unamiss,unamo,unample,unamply,unangry,unannex,unapart,unapt,unaptly,unarch,unark,unarm,unarmed,unarray,unarted,unary,unasked,unau,unavian,unawake,unaware,unaway,unawed,unawful,unawned,unaxled,unbag,unbain,unbait,unbaked,unbale,unbank,unbar,unbarb,unbare,unbark,unbase,unbased,unbaste,unbated,unbay,unbe,unbear,unbeard,unbeast,unbed,unbefit,unbeget,unbegot,unbegun,unbeing,unbell,unbelt,unbench,unbend,unbent,unberth,unbeset,unbesot,unbet,unbias,unbid,unbind,unbit,unbitt,unblade,unbled,unblent,unbless,unblest,unblind,unbliss,unblock,unbloom,unblown,unblued,unblush,unboat,unbody,unbog,unboggy,unbokel,unbold,unbolt,unbone,unboned,unbonny,unboot,unbored,unborn,unborne,unbosom,unbound,unbow,unbowed,unbowel,unbox,unboxed,unboy,unbrace,unbraid,unbran,unbrand,unbrave,unbraze,unbred,unbrent,unbrick,unbrief,unbroad,unbroke,unbrown,unbrute,unbud,unbuild,unbuilt,unbulky,unbung,unburly,unburn,unburnt,unburst,unbury,unbush,unbusk,unbusy,unbuxom,unca,uncage,uncaged,uncake,uncalk,uncall,uncalm,uncaned,uncanny,uncap,uncart,uncase,uncased,uncask,uncast,uncaste,uncate,uncave,unceded,unchain,unchair,uncharm,unchary,uncheat,uncheck,unchid,unchild,unchurn,unci,uncia,uncial,uncinal,uncinch,uncinct,uncini,uncinus,uncite,uncited,uncity,uncivic,uncivil,unclad,unclamp,unclasp,unclay,uncle,unclead,unclean,unclear,uncleft,unclew,unclick,unclify,unclimb,uncling,unclip,uncloak,unclog,unclose,uncloud,unclout,unclub,unco,uncoach,uncoat,uncock,uncoded,uncoif,uncoil,uncoin,uncoked,uncolt,uncoly,uncome,uncomfy,uncomic,uncoop,uncope,uncord,uncore,uncored,uncork,uncost,uncouch,uncous,uncouth,uncover,uncowed,uncowl,uncoy,uncram,uncramp,uncream,uncrest,uncrib,uncried,uncrime,uncrisp,uncrook,uncropt,uncross,uncrown,uncrude,uncruel,unction,uncubic,uncular,uncurb,uncurd,uncured,uncurl,uncurse,uncurst,uncus,uncut,uncuth,undaily,undam,undamn,undared,undark,undate,undated,undaub,undazed,unde,undead,undeaf,undealt,undean,undear,undeck,undecyl,undeep,undeft,undeify,undelve,unden,under,underdo,underer,undergo,underly,undern,undevil,undewed,undewy,undid,undies,undig,undight,undiked,undim,undine,undined,undirk,undo,undock,undoer,undog,undoing,undomed,undon,undone,undoped,undose,undosed,undowny,undrab,undrag,undrape,undraw,undrawn,undress,undried,undrunk,undry,undub,unducal,undue,undug,unduke,undular,undull,unduly,unduped,undust,unduty,undwelt,undy,undye,undyed,undying,uneager,unearly,unearth,unease,uneasy,uneaten,uneath,unebbed,unedge,unedged,unelect,unempt,unempty,unended,unepic,unequal,unerect,unethic,uneven,unevil,unexact,uneye,uneyed,unface,unfaced,unfact,unfaded,unfain,unfaint,unfair,unfaith,unfaked,unfalse,unfamed,unfancy,unfar,unfast,unfeary,unfed,unfeed,unfele,unfelon,unfelt,unfence,unfeted,unfeued,unfew,unfiber,unfiend,unfiery,unfight,unfile,unfiled,unfill,unfilm,unfine,unfined,unfired,unfirm,unfit,unfitly,unfitty,unfix,unfixed,unflag,unflaky,unflank,unflat,unflead,unflesh,unflock,unfloor,unflown,unfluid,unflush,unfoggy,unfold,unfond,unfool,unfork,unform,unfoul,unfound,unfoxy,unfrail,unframe,unfrank,unfree,unfreed,unfret,unfried,unfrill,unfrizz,unfrock,unfrost,unfroze,unfull,unfully,unfumed,unfunny,unfur,unfurl,unfused,unfussy,ungag,ungaged,ungain,ungaite,ungaro,ungaudy,ungear,ungelt,unget,ungiant,ungiddy,ungild,ungill,ungilt,ungird,ungirt,ungirth,ungive,ungiven,ungka,unglad,unglaze,unglee,unglobe,ungloom,unglory,ungloss,unglove,unglue,unglued,ungnaw,ungnawn,ungod,ungodly,ungold,ungone,ungood,ungored,ungorge,ungot,ungouty,ungown,ungrace,ungraft,ungrain,ungrand,ungrasp,ungrave,ungreat,ungreen,ungrip,ungripe,ungross,ungrow,ungrown,ungruff,ungual,unguard,ungueal,unguent,ungues,unguis,ungula,ungulae,ungular,unguled,ungull,ungulp,ungum,unguyed,ungyve,ungyved,unhabit,unhad,unhaft,unhair,unhairy,unhand,unhandy,unhang,unhap,unhappy,unhard,unhardy,unharsh,unhasp,unhaste,unhasty,unhat,unhate,unhated,unhaunt,unhave,unhayed,unhazed,unhead,unheady,unheal,unheard,unheart,unheavy,unhedge,unheed,unheedy,unheld,unhele,unheler,unhelm,unherd,unhero,unhewed,unhewn,unhex,unhid,unhide,unhigh,unhinge,unhired,unhit,unhitch,unhive,unhoard,unhoary,unhoed,unhoist,unhold,unholy,unhome,unhoned,unhood,unhook,unhoop,unhoped,unhorny,unhorse,unhose,unhosed,unhot,unhouse,unhull,unhuman,unhumid,unhung,unhurt,unhusk,uniat,uniate,uniaxal,unible,unice,uniced,unicell,unicism,unicist,unicity,unicorn,unicum,unideal,unidle,unidly,unie,uniface,unific,unified,unifier,uniflow,uniform,unify,unilobe,unimped,uninked,uninn,unio,unioid,union,unioned,unionic,unionid,unioval,unipara,uniped,unipod,unique,unireme,unisoil,unison,unit,unitage,unital,unitary,unite,united,uniter,uniting,unition,unitism,unitive,unitize,unitude,unity,univied,unjaded,unjam,unjewel,unjoin,unjoint,unjolly,unjoyed,unjudge,unjuicy,unjust,unkamed,unked,unkempt,unken,unkept,unket,unkey,unkeyed,unkid,unkill,unkin,unkind,unking,unkink,unkirk,unkiss,unkist,unknave,unknew,unknit,unknot,unknow,unknown,unlace,unlaced,unlade,unladen,unlaid,unlame,unlamed,unland,unlap,unlarge,unlash,unlatch,unlath,unlaugh,unlaved,unlaw,unlawed,unlawly,unlay,unlead,unleaf,unleaky,unleal,unlean,unlearn,unleash,unleave,unled,unleft,unlegal,unlent,unless,unlet,unlevel,unlid,unlie,unlight,unlike,unliked,unliken,unlimb,unlime,unlimed,unlimp,unline,unlined,unlink,unlist,unlisty,unlit,unlive,unload,unloath,unlobed,unlocal,unlock,unlodge,unlofty,unlogic,unlook,unloop,unloose,unlord,unlost,unlousy,unlove,unloved,unlowly,unloyal,unlucid,unluck,unlucky,unlunar,unlured,unlust,unlusty,unlute,unluted,unlying,unmad,unmade,unmagic,unmaid,unmail,unmake,unmaker,unman,unmaned,unmanly,unmarch,unmarry,unmask,unmast,unmate,unmated,unmaze,unmeant,unmeek,unmeet,unmerge,unmerry,unmesh,unmet,unmeted,unmew,unmewed,unmind,unmined,unmired,unmiry,unmist,unmiter,unmix,unmixed,unmodel,unmoist,unmold,unmoldy,unmoor,unmoral,unmount,unmoved,unmowed,unmown,unmuddy,unmuted,unnail,unnaked,unname,unnamed,unneat,unneedy,unnegro,unnerve,unnest,unneth,unnethe,unnew,unnewly,unnice,unnigh,unnoble,unnobly,unnose,unnosed,unnoted,unnovel,unoared,unobese,unode,unoften,unogled,unoil,unoiled,unoily,unold,unoped,unopen,unorbed,unorder,unorn,unornly,unovert,unowed,unowing,unown,unowned,unpaced,unpack,unpagan,unpaged,unpaid,unpaint,unpale,unpaled,unpanel,unpapal,unpaper,unparch,unpared,unpark,unparty,unpass,unpaste,unpave,unpaved,unpawed,unpawn,unpeace,unpeel,unpeg,unpen,unpenal,unpent,unperch,unpetal,unpick,unpiece,unpiety,unpile,unpiled,unpin,unpious,unpiped,unplace,unplaid,unplain,unplait,unplan,unplank,unplant,unplat,unpleat,unplied,unplow,unplug,unplumb,unplume,unplump,unpoise,unpoled,unpope,unposed,unpot,unpower,unpray,unprim,unprime,unprint,unprop,unproud,unpure,unpurse,unput,unqueen,unquick,unquiet,unquit,unquote,unraced,unrack,unrainy,unrake,unraked,unram,unrank,unraped,unrare,unrash,unrated,unravel,unray,unrayed,unrazed,unread,unready,unreal,unreave,unrebel,unred,unreel,unreeve,unregal,unrein,unrent,unrest,unresty,unrhyme,unrich,unricht,unrid,unride,unrife,unrig,unright,unrigid,unrind,unring,unrip,unripe,unriped,unrisen,unrisky,unrived,unriven,unrivet,unroast,unrobe,unrobed,unroll,unroof,unroomy,unroost,unroot,unrope,unroped,unrosed,unroted,unrough,unround,unrove,unroved,unrow,unrowed,unroyal,unrule,unruled,unruly,unrun,unrung,unrural,unrust,unruth,unsack,unsad,unsafe,unsage,unsaid,unsaint,unsalt,unsane,unsappy,unsash,unsated,unsatin,unsaved,unsawed,unsawn,unsay,unscale,unscaly,unscarb,unscent,unscrew,unseal,unseam,unseat,unsee,unseen,unself,unsense,unsent,unset,unsew,unsewed,unsewn,unsex,unsexed,unshade,unshady,unshape,unsharp,unshawl,unsheaf,unshed,unsheet,unshell,unship,unshod,unshoe,unshoed,unshop,unshore,unshorn,unshort,unshot,unshown,unshowy,unshrew,unshut,unshy,unshyly,unsick,unsided,unsiege,unsight,unsilly,unsin,unsinew,unsing,unsized,unskin,unslack,unslain,unslate,unslave,unsleek,unslept,unsling,unslip,unslit,unslot,unslow,unslung,unsly,unsmart,unsmoky,unsmote,unsnaky,unsnap,unsnare,unsnarl,unsneck,unsnib,unsnow,unsober,unsoft,unsoggy,unsoil,unsolar,unsold,unsole,unsoled,unsolid,unsome,unson,unsonsy,unsooty,unsore,unsorry,unsort,unsoul,unsound,unsour,unsowed,unsown,unspan,unspar,unspeak,unsped,unspeed,unspell,unspelt,unspent,unspicy,unspied,unspike,unspin,unspit,unsplit,unspoil,unspot,unspun,unstack,unstagy,unstaid,unstain,unstar,unstate,unsteck,unsteel,unsteep,unstep,unstern,unstick,unstill,unsting,unstock,unstoic,unstone,unstony,unstop,unstore,unstout,unstow,unstrap,unstrip,unstuck,unstuff,unstung,unsty,unsued,unsuit,unsulky,unsun,unsung,unsunk,unsunny,unsure,unswear,unsweat,unsweet,unswell,unswept,unswing,unsworn,unswung,untack,untaint,untaken,untall,untame,untamed,untap,untaped,untar,untaste,untasty,untaut,untawed,untax,untaxed,unteach,unteam,unteem,untell,untense,untent,untenty,untewed,unthank,unthaw,unthick,unthink,unthorn,unthrid,unthrob,untidal,untidy,untie,untied,untight,until,untile,untiled,untill,untilt,untimed,untin,untinct,untine,untipt,untire,untired,unto,untold,untomb,untone,untoned,untooth,untop,untorn,untouch,untough,untown,untrace,untrain,untread,untreed,untress,untried,untrig,untrill,untrim,untripe,untrite,untrod,untruck,untrue,untruly,untruss,untrust,untruth,untuck,untumid,untune,untuned,unturf,unturn,untwine,untwirl,untwist,untying,untz,unugly,unultra,unupset,unurban,unurged,unurn,unurned,unuse,unused,unusual,unvain,unvalid,unvalue,unveil,unvenom,unvest,unvexed,unvicar,unvisor,unvital,unvivid,unvocal,unvoice,unvote,unvoted,unvowed,unwaded,unwaged,unwaked,unwall,unwan,unware,unwarm,unwarn,unwarp,unwary,unwater,unwaved,unwax,unwaxed,unwayed,unweal,unweary,unweave,unweb,unwed,unwedge,unweel,unweft,unweld,unwell,unwept,unwet,unwheel,unwhig,unwhip,unwhite,unwield,unwifed,unwig,unwild,unwill,unwily,unwind,unwindy,unwiped,unwire,unwired,unwise,unwish,unwist,unwitch,unwitty,unwive,unwived,unwoful,unwoman,unwomb,unwon,unwooed,unwoof,unwooly,unwordy,unwork,unworld,unwormy,unworn,unworth,unwound,unwoven,unwrap,unwrit,unwrite,unwrung,unyoke,unyoked,unyoung,unze,unzen,unzone,unzoned,up,upaisle,upalley,upalong,uparch,uparise,uparm,uparna,upas,upattic,upbank,upbar,upbay,upbear,upbeat,upbelch,upbelt,upbend,upbid,upbind,upblast,upblaze,upblow,upboil,upbolt,upboost,upborne,upbotch,upbound,upbrace,upbraid,upbray,upbreak,upbred,upbreed,upbrim,upbring,upbrook,upbrow,upbuild,upbuoy,upburn,upburst,upbuy,upcall,upcanal,upcarry,upcast,upcatch,upchoke,upchuck,upcity,upclimb,upclose,upcoast,upcock,upcoil,upcome,upcover,upcrane,upcrawl,upcreek,upcreep,upcrop,upcrowd,upcry,upcurl,upcurve,upcut,updart,update,updeck,updelve,updive,updo,updome,updraft,updrag,updraw,updrink,updry,upeat,upend,upeygan,upfeed,upfield,upfill,upflame,upflare,upflash,upflee,upfling,upfloat,upflood,upflow,upflung,upfly,upfold,upframe,upfurl,upgale,upgang,upgape,upgaze,upget,upgird,upgirt,upgive,upglean,upglide,upgo,upgorge,upgrade,upgrave,upgrow,upgully,upgush,uphand,uphang,uphasp,upheal,upheap,upheave,upheld,uphelm,uphelya,upher,uphill,uphoard,uphoist,uphold,uphung,uphurl,upjerk,upjet,upkeep,upknell,upknit,upla,uplaid,uplake,upland,uplane,uplay,uplead,upleap,upleg,uplick,uplift,uplight,uplimb,upline,uplock,uplong,uplook,uploom,uploop,uplying,upmast,upmix,upmost,upmount,upmove,upness,upo,upon,uppard,uppent,upper,upperch,upperer,uppers,uppile,upping,uppish,uppity,upplow,uppluck,uppoint,uppoise,uppop,uppour,uppowoc,upprick,upprop,uppuff,uppull,uppush,upraise,upreach,uprear,uprein,uprend,uprest,uprid,upridge,upright,uprip,uprisal,uprise,uprisen,upriser,uprist,uprive,upriver,uproad,uproar,uproom,uproot,uprose,uprouse,uproute,uprun,uprush,upscale,upscrew,upseal,upseek,upseize,upsend,upset,upsey,upshaft,upshear,upshoot,upshore,upshot,upshove,upshut,upside,upsides,upsilon,upsit,upslant,upslip,upslope,upsmite,upsoak,upsoar,upsolve,upspeak,upspear,upspeed,upspew,upspin,upspire,upspout,upspurt,upstaff,upstage,upstair,upstamp,upstand,upstare,upstart,upstate,upstay,upsteal,upsteam,upstem,upstep,upstick,upstir,upsuck,upsun,upsup,upsurge,upswarm,upsway,upsweep,upswell,upswing,uptable,uptake,uptaker,uptear,uptend,upthrow,uptide,uptie,uptill,uptilt,uptorn,uptoss,uptower,uptown,uptrace,uptrack,uptrail,uptrain,uptree,uptrend,uptrill,uptrunk,uptruss,uptube,uptuck,upturn,uptwist,upupoid,upvomit,upwaft,upwall,upward,upwards,upwarp,upwax,upway,upways,upwell,upwent,upwheel,upwhelm,upwhir,upwhirl,upwind,upwith,upwork,upwound,upwrap,upwring,upyard,upyoke,ur,ura,urachal,urachus,uracil,uraemic,uraeus,ural,urali,uraline,uralite,uralium,uramido,uramil,uramino,uran,uranate,uranic,uraniid,uranin,uranine,uranion,uranism,uranist,uranite,uranium,uranous,uranyl,urao,urare,urari,urase,urate,uratic,uratoma,urazine,urazole,urban,urbane,urbian,urbic,urbify,urceole,urceoli,urceus,urchin,urd,urde,urdee,ure,urea,ureal,urease,uredema,uredine,uredo,ureic,ureid,ureide,ureido,uremia,uremic,urent,uresis,uretal,ureter,urethan,urethra,uretic,urf,urge,urgence,urgency,urgent,urger,urging,urheen,urial,uric,urinal,urinant,urinary,urinate,urine,urinose,urinous,urite,urlar,urled,urling,urluch,urman,urn,urna,urnae,urnal,urnful,urning,urnism,urnlike,urocele,urocyst,urodele,urogram,urohyal,urolith,urology,uromere,uronic,uropod,urosis,urosome,urostea,urotoxy,uroxin,ursal,ursine,ursoid,ursolic,urson,ursone,ursuk,urtica,urtite,urubu,urucu,urucuri,uruisg,urunday,urus,urushi,urushic,urva,us,usable,usage,usager,usance,usar,usara,usaron,usation,use,used,usedly,usednt,usee,useful,usehold,useless,usent,user,ush,ushabti,usher,usherer,usings,usitate,usnea,usneoid,usnic,usninic,usque,usself,ussels,ust,uster,ustion,usual,usually,usuary,usucapt,usure,usurer,usuress,usurp,usurper,usurpor,usury,usward,uswards,ut,uta,utahite,utai,utas,utch,utchy,utees,utensil,uteri,uterine,uterus,utick,utile,utility,utilize,utinam,utmost,utopia,utopian,utopism,utopist,utricle,utricul,utrubi,utrum,utsuk,utter,utterer,utterly,utu,utum,uva,uval,uvalha,uvanite,uvate,uvea,uveal,uveitic,uveitis,uveous,uvic,uvid,uviol,uvitic,uvito,uvrou,uvula,uvulae,uvular,uvver,uxorial,uzan,uzara,uzarin,uzaron,v,vaagmer,vaalite,vacancy,vacant,vacate,vacatur,vaccary,vaccina,vaccine,vache,vacoa,vacona,vacoua,vacouf,vacual,vacuate,vacuefy,vacuist,vacuity,vacuole,vacuome,vacuous,vacuum,vacuuma,vade,vadium,vadose,vady,vag,vagal,vagary,vagas,vage,vagile,vagina,vaginal,vagitus,vagrant,vagrate,vagrom,vague,vaguely,vaguish,vaguity,vagus,vahine,vail,vain,vainful,vainly,vair,vairagi,vaire,vairy,vaivode,vajra,vakass,vakia,vakil,valance,vale,valence,valency,valent,valeral,valeric,valerin,valeryl,valet,valeta,valetry,valeur,valgoid,valgus,valhall,vali,valiant,valid,validly,valine,valise,vall,vallar,vallary,vallate,valley,vallis,vallum,valonia,valor,valse,valsoid,valuate,value,valued,valuer,valuta,valva,valval,valvate,valve,valved,valvula,valvule,valyl,vamfont,vamoose,vamp,vamped,vamper,vampire,van,vanadic,vanadyl,vane,vaned,vanfoss,vang,vangee,vangeli,vanglo,vanilla,vanille,vanish,vanity,vanman,vanmost,vanner,vannet,vansire,vantage,vanward,vapid,vapidly,vapor,vapored,vaporer,vapory,vara,varahan,varan,varanid,vardy,vare,varec,vareuse,vari,variant,variate,varical,varices,varied,varier,variety,variola,variole,various,varisse,varix,varlet,varment,varna,varnish,varsha,varsity,varus,varve,varved,vary,vas,vasa,vasal,vase,vaseful,vaselet,vassal,vast,vastate,vastily,vastity,vastly,vasty,vasu,vat,vatful,vatic,vatman,vatter,vau,vaudy,vault,vaulted,vaulter,vaulty,vaunt,vaunted,vaunter,vaunty,vauxite,vavasor,vaward,veal,vealer,vealy,vection,vectis,vector,vecture,vedana,vedette,vedika,vedro,veduis,vee,veen,veep,veer,veery,vegetal,vegete,vehicle,vei,veigle,veil,veiled,veiler,veiling,veily,vein,veinage,veinal,veined,veiner,veinery,veining,veinlet,veinous,veinule,veiny,vejoces,vela,velal,velamen,velar,velaric,velary,velate,velated,veldman,veldt,velic,veliger,vell,vellala,velleda,vellon,vellum,vellumy,velo,velours,velte,velum,velumen,velure,velvet,velvety,venada,venal,venally,venatic,venator,vencola,vend,vendace,vendee,vender,vending,vendor,vendue,veneer,venene,veneral,venerer,venery,venesia,venger,venial,venie,venin,venison,vennel,venner,venom,venomed,venomer,venomly,venomy,venosal,venose,venous,vent,ventage,ventail,venter,ventil,ventose,ventrad,ventral,ventric,venture,venue,venula,venular,venule,venust,vera,veranda,verb,verbal,verbate,verbena,verbene,verbid,verbify,verbile,verbose,verbous,verby,verchok,verd,verdant,verdea,verdet,verdict,verdin,verdoy,verdun,verdure,verek,verge,vergent,verger,vergery,vergi,verglas,veri,veridic,verify,verily,verine,verism,verist,verite,verity,vermeil,vermian,vermin,verminy,vermis,vermix,vernal,vernant,vernier,vernile,vernin,vernine,verre,verrel,verruca,verruga,versal,versant,versate,verse,versed,verser,verset,versify,versine,version,verso,versor,verst,versta,versual,versus,vert,vertex,vertigo,veruled,vervain,verve,vervel,vervet,very,vesania,vesanic,vesbite,vesicae,vesical,vesicle,veskit,vespal,vesper,vespers,vespery,vespid,vespine,vespoid,vessel,vest,vestal,vestee,vester,vestige,vesting,vestlet,vestral,vestry,vesture,vet,veta,vetanda,vetch,vetchy,veteran,vetiver,veto,vetoer,vetoism,vetoist,vetust,vetusty,veuve,vex,vexable,vexed,vexedly,vexer,vexful,vexil,vext,via,viable,viaduct,viagram,viajaca,vial,vialful,viand,viander,viatic,viatica,viator,vibex,vibgyor,vibix,vibrant,vibrate,vibrato,vibrion,vicar,vicarly,vice,viceroy,vicety,vicilin,vicinal,vicine,vicious,vicoite,victim,victor,victory,victrix,victual,vicuna,viddui,video,vidette,vidonia,vidry,viduage,vidual,viduate,viduine,viduity,viduous,vidya,vie,vielle,vier,viertel,view,viewer,viewly,viewy,vifda,viga,vigia,vigil,vignin,vigonia,vigor,vihara,vihuela,vijao,viking,vila,vilayet,vile,vilely,vilify,vility,vill,villa,village,villain,villar,villate,ville,villein,villoid,villose,villous,villus,vim,vimana,vimen,vimful,viminal,vina,vinage,vinal,vinasse,vinata,vincent,vindex,vine,vinea,vineal,vined,vinegar,vineity,vinelet,viner,vinery,vinic,vinny,vino,vinose,vinous,vint,vinta,vintage,vintem,vintner,vintry,viny,vinyl,vinylic,viol,viola,violal,violate,violent,violer,violet,violety,violin,violina,violine,violist,violon,violone,viper,viperan,viperid,vipery,viqueen,viragin,virago,viral,vire,virelay,viremia,viremic,virent,vireo,virga,virgal,virgate,virgin,virgula,virgule,virial,virid,virific,virify,virile,virl,virole,viroled,viron,virose,virosis,virous,virtu,virtual,virtue,virtued,viruela,virus,vis,visa,visage,visaged,visarga,viscera,viscid,viscin,viscose,viscous,viscus,vise,viseman,visible,visibly,visie,visile,vision,visit,visita,visite,visitee,visiter,visitor,visive,visne,vison,visor,vista,vistaed,vistal,visto,visual,vita,vital,vitalic,vitally,vitals,vitamer,vitamin,vitasti,vitiate,vitium,vitrage,vitrail,vitrain,vitraux,vitreal,vitrean,vitreum,vitric,vitrics,vitrify,vitrine,vitriol,vitrite,vitrous,vitta,vittate,vitular,viuva,viva,vivary,vivax,vive,vively,vivency,viver,vivers,vives,vivid,vividly,vivific,vivify,vixen,vixenly,vizard,vizier,vlei,voar,vocable,vocably,vocal,vocalic,vocally,vocate,vocular,vocule,vodka,voe,voet,voeten,vog,voglite,vogue,voguey,voguish,voice,voiced,voicer,voicing,void,voided,voidee,voider,voiding,voidly,voile,voivode,vol,volable,volage,volant,volar,volata,volatic,volcan,volcano,vole,volency,volent,volery,volet,volley,volost,volt,voltage,voltaic,voltize,voluble,volubly,volume,volumed,volupt,volupty,voluta,volute,voluted,volutin,volva,volvate,volvent,vomer,vomica,vomit,vomiter,vomito,vomitus,voodoo,vorago,vorant,vorhand,vorpal,vortex,vota,votable,votal,votally,votary,vote,voteen,voter,voting,votive,votress,vouch,vouchee,voucher,vouge,vow,vowed,vowel,vowely,vower,vowess,vowless,voyage,voyager,voyance,voyeur,vraic,vrbaite,vriddhi,vrother,vug,vuggy,vulgar,vulgare,vulgate,vulgus,vuln,vulnose,vulpic,vulpine,vulture,vulturn,vulva,vulval,vulvar,vulvate,vum,vying,vyingly,w,wa,waag,waapa,waar,wab,wabber,wabble,wabbly,wabby,wabe,wabeno,wabster,wacago,wace,wachna,wack,wacke,wacken,wacker,wacky,wad,waddent,wadder,wadding,waddler,waddly,waddy,wade,wader,wadi,wading,wadlike,wadmal,wadmeal,wadna,wadset,wae,waeg,waer,waesome,waesuck,wafer,waferer,wafery,waff,waffle,waffly,waft,waftage,wafter,wafture,wafty,wag,wagaun,wage,waged,wagedom,wager,wagerer,wages,waggel,wagger,waggery,waggie,waggish,waggle,waggly,waggy,waglike,wagling,wagon,wagoner,wagonry,wagsome,wagtail,wagwag,wagwit,wah,wahahe,wahine,wahoo,waiata,waif,waik,waikly,wail,wailer,wailful,waily,wain,wainage,wainer,wainful,wainman,waipiro,wairch,waird,wairepo,wairsh,waise,waist,waisted,waister,wait,waiter,waiting,waive,waiver,waivery,waivod,waiwode,wajang,waka,wakan,wake,wakeel,wakeful,waken,wakener,waker,wakes,wakf,wakif,wakiki,waking,wakiup,wakken,wakon,wakonda,waky,walahee,wale,waled,waler,wali,waling,walk,walker,walking,walkist,walkout,walkway,wall,wallaba,wallaby,wallah,walled,waller,wallet,walleye,wallful,walling,wallise,wallman,walloon,wallop,wallow,wally,walnut,walrus,walsh,walt,walter,walth,waltz,waltzer,wamara,wambais,wamble,wambly,wame,wamefou,wamel,wamp,wampee,wample,wampum,wampus,wamus,wan,wand,wander,wandery,wandle,wandoo,wandy,wane,waned,wang,wanga,wangala,wangan,wanghee,wangle,wangler,wanhope,wanhorn,wanigan,waning,wankle,wankly,wanle,wanly,wanner,wanness,wannish,wanny,wanrufe,want,wantage,wanter,wantful,wanting,wanton,wantwit,wanty,wany,wap,wapacut,wapatoo,wapiti,wapp,wapper,wapping,war,warabi,waratah,warble,warbled,warbler,warblet,warbly,warch,ward,wardage,warday,warded,warden,warder,warding,wardite,wardman,ware,warehou,wareman,warf,warfare,warful,warily,warish,warison,wark,warl,warless,warlike,warlock,warluck,warly,warm,warman,warmed,warmer,warmful,warming,warmish,warmly,warmth,warmus,warn,warnel,warner,warning,warnish,warnoth,warnt,warp,warpage,warped,warper,warping,warple,warran,warrand,warrant,warree,warren,warrer,warrin,warrior,warrok,warsaw,warse,warsel,warship,warsle,warsler,warst,wart,warted,wartern,warth,wartime,wartlet,warty,warve,warwolf,warworn,wary,was,wasabi,wase,wasel,wash,washday,washed,washen,washer,washery,washin,washing,washman,washoff,washout,washpot,washrag,washtub,washway,washy,wasnt,wasp,waspen,waspily,waspish,waspy,wassail,wassie,wast,wastage,waste,wasted,wastel,waster,wasting,wastrel,wasty,wat,watap,watch,watched,watcher,water,watered,waterer,waterie,watery,wath,watt,wattage,wattape,wattle,wattled,wattman,wauble,wauch,wauchle,waucht,wauf,waugh,waughy,wauken,waukit,waul,waumle,wauner,wauns,waup,waur,wauve,wavable,wavably,wave,waved,wavelet,waver,waverer,wavery,waveson,wavey,wavicle,wavily,waving,wavy,waw,wawa,wawah,wax,waxbill,waxbird,waxbush,waxen,waxer,waxily,waxing,waxlike,waxman,waxweed,waxwing,waxwork,waxy,way,wayaka,wayang,wayback,waybill,waybird,waybook,waybung,wayfare,waygang,waygate,waygone,waying,waylaid,waylay,wayless,wayman,waymark,waymate,waypost,ways,wayside,wayward,waywode,wayworn,waywort,we,weak,weaken,weakish,weakly,weaky,weal,weald,wealth,wealthy,weam,wean,weanel,weaner,weanyer,weapon,wear,wearer,wearied,wearier,wearily,wearing,wearish,weary,weasand,weasel,weaser,weason,weather,weave,weaved,weaver,weaving,weazen,weazeny,web,webbed,webber,webbing,webby,weber,webeye,webfoot,webless,weblike,webster,webwork,webworm,wecht,wed,wedana,wedbed,wedded,wedder,wedding,wede,wedge,wedged,wedger,wedging,wedgy,wedlock,wedset,wee,weeble,weed,weeda,weedage,weeded,weeder,weedery,weedful,weedish,weedow,weedy,week,weekday,weekend,weekly,weekwam,weel,weemen,ween,weeness,weening,weenong,weeny,weep,weeper,weepful,weeping,weeps,weepy,weesh,weeshy,weet,weever,weevil,weevily,weewow,weeze,weft,weftage,wefted,wefty,weigh,weighed,weigher,weighin,weight,weighty,weir,weird,weirdly,weiring,weism,wejack,weka,wekau,wekeen,weki,welcome,weld,welder,welding,weldor,welfare,welk,welkin,well,wellat,welling,wellish,wellman,welly,wels,welsh,welsher,welsium,welt,welted,welter,welting,wem,wemless,wen,wench,wencher,wend,wende,wene,wennish,wenny,went,wenzel,wept,wer,were,werefox,werent,werf,wergil,weri,wert,wervel,wese,weskit,west,weste,wester,western,westing,westy,wet,weta,wetback,wetbird,wetched,wetchet,wether,wetly,wetness,wetted,wetter,wetting,wettish,weve,wevet,wey,wha,whabby,whack,whacker,whacky,whale,whaler,whalery,whaling,whalish,whally,whalm,whalp,whaly,wham,whamble,whame,whammle,whamp,whampee,whample,whan,whand,whang,whangam,whangee,whank,whap,whappet,whapuka,whapuku,whar,whare,whareer,wharf,wharl,wharp,wharry,whart,wharve,whase,whasle,what,whata,whatkin,whatna,whatnot,whats,whatso,whatten,whau,whauk,whaup,whaur,whauve,wheal,whealy,wheam,wheat,wheaten,wheaty,whedder,whee,wheedle,wheel,wheeled,wheeler,wheely,wheem,wheen,wheenge,wheep,wheeple,wheer,wheesht,wheetle,wheeze,wheezer,wheezle,wheezy,wheft,whein,whekau,wheki,whelk,whelked,whelker,whelky,whelm,whelp,whelve,whemmel,when,whenas,whence,wheneer,whenso,where,whereas,whereat,whereby,whereer,wherein,whereof,whereon,whereso,whereto,whereup,wherret,wherrit,wherry,whet,whether,whetile,whetter,whew,whewer,whewl,whewt,whey,wheyey,wheyish,whiba,which,whick,whicken,whicker,whid,whidah,whidder,whiff,whiffer,whiffet,whiffle,whiffy,whift,whig,while,whileen,whilere,whiles,whilie,whilk,whill,whilly,whilock,whilom,whils,whilst,whilter,whim,whimble,whimmy,whimper,whimsey,whimsic,whin,whincow,whindle,whine,whiner,whing,whinge,whinger,whinnel,whinner,whinny,whiny,whip,whipcat,whipman,whippa,whipped,whipper,whippet,whippy,whipsaw,whipt,whir,whirken,whirl,whirled,whirler,whirley,whirly,whirret,whirrey,whirroo,whirry,whirtle,whish,whisk,whisker,whiskey,whisky,whisp,whisper,whissle,whist,whister,whistle,whistly,whit,white,whited,whitely,whiten,whites,whither,whiting,whitish,whitlow,whits,whittaw,whitten,whitter,whittle,whity,whiz,whizgig,whizzer,whizzle,who,whoa,whoever,whole,wholly,whom,whomble,whomso,whone,whoo,whoof,whoop,whoopee,whooper,whoops,whoosh,whop,whopper,whorage,whore,whorish,whorl,whorled,whorly,whort,whortle,whose,whosen,whud,whuff,whuffle,whulk,whulter,whummle,whun,whup,whush,whuskie,whussle,whute,whuther,whutter,whuz,why,whyever,whyfor,whyness,whyo,wi,wice,wicht,wichtje,wick,wicked,wicken,wicker,wicket,wicking,wickiup,wickup,wicky,wicopy,wid,widbin,widder,widdle,widdy,wide,widegab,widely,widen,widener,widgeon,widish,widow,widowed,widower,widowly,widowy,width,widu,wield,wielder,wieldy,wiener,wienie,wife,wifedom,wifeism,wifekin,wifelet,wifely,wifie,wifish,wifock,wig,wigan,wigdom,wigful,wigged,wiggen,wigger,wiggery,wigging,wiggish,wiggism,wiggle,wiggler,wiggly,wiggy,wight,wightly,wigless,wiglet,wiglike,wigtail,wigwag,wigwam,wiikite,wild,wildcat,wilded,wilder,wilding,wildish,wildly,wile,wileful,wilga,wilgers,wilily,wilk,wilkin,will,willawa,willed,willer,willet,willey,willful,willie,willier,willies,willing,willock,willow,willowy,willy,willyer,wilsome,wilt,wilter,wily,wim,wimble,wimbrel,wime,wimick,wimple,win,wince,wincer,wincey,winch,wincher,wincing,wind,windage,windbag,winddog,winded,winder,windigo,windily,winding,windle,windles,windlin,windock,windore,window,windowy,windrow,windup,windway,windy,wine,wined,winemay,winepot,winer,winery,winesop,winevat,winful,wing,wingcut,winged,winger,wingle,winglet,wingman,wingy,winish,wink,winkel,winker,winking,winkle,winklet,winly,winna,winnard,winnel,winner,winning,winnle,winnow,winrace,winrow,winsome,wint,winter,wintle,wintry,winy,winze,wipe,wiper,wippen,wips,wir,wirable,wirble,wird,wire,wirebar,wired,wireman,wirer,wireway,wirily,wiring,wirl,wirling,wirr,wirra,wirrah,wiry,wis,wisdom,wise,wisely,wiseman,wisen,wisent,wiser,wish,wisha,wished,wisher,wishful,wishing,wishly,wishmay,wisht,wisket,wisp,wispish,wispy,wiss,wisse,wissel,wist,wiste,wistful,wistit,wistiti,wit,witan,witch,witched,witchen,witchet,witchy,wite,witess,witful,with,withal,withe,withen,wither,withers,withery,within,without,withy,witjar,witless,witlet,witling,witloof,witness,witney,witship,wittal,witted,witter,wittily,witting,wittol,witty,witwall,wive,wiver,wivern,wiz,wizard,wizen,wizened,wizier,wizzen,wloka,wo,woad,woader,woadman,woady,woak,woald,woan,wob,wobble,wobbler,wobbly,wobster,wod,woddie,wode,wodge,wodgy,woe,woeful,woesome,woevine,woeworn,woffler,woft,wog,wogiet,woibe,wokas,woke,wokowi,wold,woldy,wolf,wolfdom,wolfen,wolfer,wolfish,wolfkin,wolfram,wollop,wolter,wolve,wolver,woman,womanly,womb,wombat,wombed,womble,womby,womera,won,wonder,wone,wonegan,wong,wonga,wongen,wongshy,wongsky,woning,wonky,wonna,wonned,wonner,wonning,wonnot,wont,wonted,wonting,woo,wooable,wood,woodbin,woodcut,wooded,wooden,woodeny,woodine,wooding,woodish,woodlet,woodly,woodman,woodrow,woodsy,woodwax,woody,wooer,woof,woofed,woofell,woofer,woofy,woohoo,wooing,wool,woold,woolder,wooled,woolen,wooler,woolert,woolly,woolman,woolsey,woom,woomer,woon,woons,woorali,woorari,woosh,wootz,woozle,woozy,wop,woppish,wops,worble,word,wordage,worded,worder,wordily,wording,wordish,wordle,wordman,wordy,wore,work,workbag,workbox,workday,worked,worker,working,workman,workout,workpan,works,worky,world,worlded,worldly,worldy,worm,wormed,wormer,wormil,worming,wormy,worn,wornil,worral,worried,worrier,worrit,worry,worse,worsen,worser,worset,worship,worst,worsted,wort,worth,worthy,wosbird,wot,wote,wots,wottest,wotteth,woubit,wouch,wouf,wough,would,wouldnt,wouldst,wound,wounded,wounder,wounds,woundy,wourali,wourari,wournil,wove,woven,wow,wowser,wowsery,wowt,woy,wrack,wracker,wraggle,wraith,wraithe,wraithy,wraitly,wramp,wran,wrang,wrangle,wranny,wrap,wrapped,wrapper,wrasse,wrastle,wrath,wrathy,wraw,wrawl,wrawler,wraxle,wreak,wreat,wreath,wreathe,wreathy,wreck,wrecker,wrecky,wren,wrench,wrenlet,wrest,wrester,wrestle,wretch,wricht,wrick,wride,wried,wrier,wriest,wrig,wriggle,wriggly,wright,wring,wringer,wrinkle,wrinkly,wrist,wristed,wrister,writ,write,writee,writer,writh,writhe,writhed,writhen,writher,writhy,writing,written,writter,wrive,wro,wrocht,wroke,wroken,wrong,wronged,wronger,wrongly,wrossle,wrote,wroth,wrothly,wrothy,wrought,wrox,wrung,wry,wrybill,wryly,wryneck,wryness,wrytail,wud,wuddie,wudge,wudu,wugg,wulk,wull,wullcat,wulliwa,wumble,wumman,wummel,wun,wungee,wunna,wunner,wunsome,wup,wur,wurley,wurmal,wurrus,wurset,wurzel,wush,wusp,wuss,wusser,wust,wut,wuther,wuzu,wuzzer,wuzzle,wuzzy,wy,wyde,wye,wyke,wyle,wymote,wyn,wynd,wyne,wynn,wype,wyson,wyss,wyve,wyver,x,xanthic,xanthin,xanthyl,xarque,xebec,xenia,xenial,xenian,xenium,xenon,xenyl,xerafin,xerarch,xerasia,xeric,xeriff,xerogel,xeroma,xeronic,xerosis,xerotes,xerotic,xi,xiphias,xiphiid,xiphoid,xoana,xoanon,xurel,xyla,xylan,xylate,xylem,xylene,xylenol,xylenyl,xyletic,xylic,xylidic,xylinid,xylite,xylitol,xylogen,xyloid,xylol,xyloma,xylon,xylonic,xylose,xyloyl,xylyl,xylylic,xyphoid,xyrid,xyst,xyster,xysti,xystos,xystum,xystus,y,ya,yaba,yabber,yabbi,yabble,yabby,yabu,yacal,yacca,yachan,yacht,yachter,yachty,yad,yade,yaff,yaffle,yagger,yagi,yagua,yaguaza,yah,yahan,yahoo,yair,yaird,yaje,yajeine,yak,yakalo,yakamik,yakin,yakka,yakman,yalb,yale,yali,yalla,yallaer,yallow,yam,yamamai,yamanai,yamen,yamilke,yammer,yamp,yampa,yamph,yamshik,yan,yander,yang,yangtao,yank,yanking,yanky,yaoort,yaourti,yap,yapa,yaply,yapness,yapok,yapp,yapped,yapper,yapping,yappish,yappy,yapster,yar,yarak,yaray,yarb,yard,yardage,yardang,yardarm,yarder,yardful,yarding,yardman,yare,yareta,yark,yarke,yarl,yarly,yarm,yarn,yarnen,yarner,yarpha,yarr,yarran,yarrow,yarth,yarthen,yarwhip,yas,yashiro,yashmak,yat,yate,yati,yatter,yaud,yauld,yaupon,yautia,yava,yaw,yawl,yawler,yawn,yawner,yawney,yawnful,yawnily,yawning,yawnups,yawny,yawp,yawper,yawroot,yaws,yawweed,yawy,yaxche,yaya,ycie,yday,ye,yea,yeah,yealing,yean,year,yeara,yeard,yearday,yearful,yearly,yearn,yearock,yearth,yeast,yeasty,yeat,yeather,yed,yede,yee,yeel,yees,yegg,yeggman,yeguita,yeld,yeldrin,yelk,yell,yeller,yelling,yelloch,yellow,yellows,yellowy,yelm,yelmer,yelp,yelper,yelt,yen,yender,yeni,yenite,yeo,yeoman,yep,yer,yerb,yerba,yercum,yerd,yere,yerga,yerk,yern,yerth,yes,yese,yeso,yesso,yest,yester,yestern,yesty,yet,yeta,yetapa,yeth,yether,yetlin,yeuk,yeuky,yeven,yew,yex,yez,yezzy,ygapo,yield,yielden,yielder,yieldy,yigh,yill,yilt,yin,yince,yinst,yip,yird,yirk,yirm,yirn,yirr,yirth,yis,yite,ym,yn,ynambu,yo,yobi,yocco,yochel,yock,yockel,yodel,yodeler,yodh,yoe,yoga,yogh,yoghurt,yogi,yogin,yogism,yogist,yogoite,yohimbe,yohimbi,yoi,yoick,yoicks,yojan,yojana,yok,yoke,yokeage,yokel,yokelry,yoker,yoking,yoky,yolden,yolk,yolked,yolky,yom,yomer,yon,yond,yonder,yonner,yonside,yont,yook,yoop,yor,yore,york,yorker,yot,yote,you,youd,youden,youdith,youff,youl,young,younger,youngly,youngun,younker,youp,your,yourn,yours,yoursel,youse,youth,youthen,youthy,youve,youward,youze,yoven,yow,yowie,yowl,yowler,yowley,yowt,yox,yoy,yperite,yr,yttria,yttric,yttrium,yuan,yuca,yucca,yuck,yuckel,yucker,yuckle,yucky,yuft,yugada,yuh,yukkel,yulan,yule,yummy,yungan,yurt,yurta,yus,yusdrum,yutu,yuzlik,yuzluk,z,za,zabeta,zabra,zabti,zabtie,zac,zacate,zacaton,zachun,zad,zadruga,zaffar,zaffer,zafree,zag,zagged,zain,zak,zakkeu,zaman,zamang,zamarra,zamarro,zambo,zamorin,zamouse,zander,zanella,zant,zante,zany,zanyish,zanyism,zanze,zapas,zaphara,zapota,zaptiah,zaptieh,zapupe,zaqqum,zar,zareba,zarf,zarnich,zarp,zat,zati,zattare,zax,zayat,zayin,zeal,zealful,zealot,zealous,zebra,zebraic,zebrass,zebrine,zebroid,zebrula,zebrule,zebu,zebub,zeburro,zechin,zed,zedoary,zee,zeed,zehner,zein,zeism,zeist,zel,zelator,zemeism,zemi,zemmi,zemni,zemstvo,zenana,zendik,zenick,zenith,zenu,zeolite,zephyr,zephyry,zequin,zer,zerda,zero,zeroize,zest,zestful,zesty,zeta,zetetic,zeugma,ziamet,ziara,ziarat,zibet,zibetum,ziega,zieger,ziffs,zig,ziganka,zigzag,zihar,zikurat,zillah,zimarra,zimb,zimbi,zimme,zimmi,zimmis,zimocca,zinc,zincate,zincic,zincide,zincify,zincing,zincite,zincize,zincke,zincky,zinco,zincous,zincum,zing,zingel,zink,zinsang,zip,ziphian,zipper,zipping,zippy,zira,zirai,zircite,zircon,zither,zizz,zloty,zo,zoa,zoacum,zoaria,zoarial,zoarium,zobo,zocco,zoccolo,zodiac,zoea,zoeal,zoeform,zoetic,zogan,zogo,zoic,zoid,zoisite,zoism,zoist,zoistic,zokor,zoll,zolle,zombi,zombie,zonal,zonally,zonar,zonary,zonate,zonated,zone,zoned,zonelet,zonic,zoning,zonite,zonitid,zonoid,zonular,zonule,zonulet,zonure,zonurid,zoo,zoocarp,zoocyst,zooecia,zoogamy,zoogene,zoogeny,zoogony,zooid,zooidal,zooks,zoolite,zoolith,zoology,zoom,zoon,zoonal,zoonic,zoonist,zoonite,zoonomy,zoons,zoonule,zoopery,zoopsia,zoosis,zootaxy,zooter,zootic,zootomy,zootype,zoozoo,zorgite,zoril,zorilla,zorillo,zorro,zoster,zounds,zowie,zudda,zuisin,zumatic,zunyite,zuza,zwitter,zyga,zygal,zygion,zygite,zygoma,zygon,zygose,zygosis,zygote,zygotic,zygous,zymase,zyme,zymic,zymin,zymite,zymogen,zymoid,zymome,zymomin,zymosis,zymotic,zymurgy,zythem,zythum" +words = "a,aa,aal,aalii,aam,aba,abac,abaca,abacate,abacay,abacist,aback,abactor,abacus,abaff,abaft,abaiser,abalone,abandon,abas,abase,abased,abaser,abash,abashed,abasia,abasic,abask,abate,abater,abatis,abaton,abator,abature,abave,abaxial,abaxile,abaze,abb,abbacy,abbas,abbasi,abbassi,abbess,abbey,abbot,abbotcy,abdal,abdat,abdest,abdomen,abduce,abduct,abeam,abear,abed,abeigh,abele,abelite,abet,abettal,abettor,abey,abeyant,abfarad,abhenry,abhor,abidal,abide,abider,abidi,abiding,abietic,abietin,abigail,abigeat,abigeus,abilao,ability,abilla,abilo,abiosis,abiotic,abir,abiston,abiuret,abject,abjoint,abjudge,abjure,abjurer,abkar,abkari,ablach,ablare,ablate,ablator,ablaut,ablaze,able,ableeze,abler,ablest,ablins,abloom,ablow,ablude,abluent,ablush,ably,abmho,abnet,aboard,abode,abody,abohm,aboil,abolish,abolla,aboma,abomine,aboon,aborad,aboral,abord,abort,aborted,abortin,abortus,abound,about,abouts,above,abox,abrade,abrader,abraid,abrasax,abrase,abrash,abraum,abraxas,abreact,abreast,abret,abrico,abridge,abrim,abrin,abroach,abroad,abrook,abrupt,abscess,abscind,abscise,absciss,abscond,absence,absent,absit,absmho,absohm,absolve,absorb,absorpt,abstain,absume,absurd,absvolt,abthain,abu,abucco,abulia,abulic,abuna,abura,aburban,aburst,aburton,abuse,abusee,abuser,abusion,abusive,abut,abuttal,abutter,abuzz,abvolt,abwab,aby,abysm,abysmal,abyss,abyssal,acaciin,acacin,academe,academy,acajou,acaleph,acana,acanth,acantha,acapnia,acapu,acara,acardia,acari,acarian,acarid,acarine,acaroid,acarol,acate,acatery,acaudal,acca,accede,acceder,accend,accent,accept,accerse,access,accidia,accidie,accinge,accite,acclaim,accloy,accoast,accoil,accolle,accompt,accord,accost,account,accoy,accrete,accrual,accrue,accruer,accurse,accusal,accuse,accused,accuser,ace,acedia,acedy,acephal,acerate,acerb,acerbic,acerdol,acerin,acerose,acerous,acerra,aceship,acetal,acetate,acetic,acetify,acetin,acetize,acetoin,acetol,acetone,acetose,acetous,acetum,acetyl,ach,achage,achar,achate,ache,achene,acher,achete,achieve,achigan,achill,achime,aching,achira,acholia,acholic,achor,achree,achroma,achtel,achy,achylia,achymia,acicula,acid,acider,acidic,acidify,acidite,acidity,acidize,acidly,acidoid,acidyl,acier,aciform,acinar,acinary,acinic,acinose,acinous,acinus,aciurgy,acker,ackey,ackman,acknow,acle,aclinal,aclinic,acloud,aclys,acmatic,acme,acmic,acmite,acne,acnemia,acnodal,acnode,acock,acocotl,acoin,acoine,acold,acology,acolous,acolyte,acoma,acomia,acomous,acone,aconic,aconin,aconine,aconite,acopic,acopon,acor,acorea,acoria,acorn,acorned,acosmic,acouasm,acouchi,acouchy,acoupa,acquest,acquire,acquist,acquit,acracy,acraein,acrasia,acratia,acrawl,acraze,acre,acreage,acreak,acream,acred,acreman,acrid,acridan,acridic,acridly,acridyl,acrinyl,acrisia,acritan,acrite,acritol,acroama,acrobat,acrogen,acron,acronyc,acronym,acronyx,acrook,acrose,across,acrotic,acryl,acrylic,acrylyl,act,acta,actable,actify,actin,actinal,actine,acting,actinic,actinon,action,active,activin,actless,acton,actor,actress,actu,actual,actuary,acture,acuate,acuity,aculea,aculeus,acumen,acushla,acutate,acute,acutely,acutish,acyclic,acyesis,acyetic,acyl,acylate,acyloin,acyloxy,acystia,ad,adactyl,adad,adage,adagial,adagio,adamant,adamas,adamine,adamite,adance,adangle,adapid,adapt,adapter,adaptor,adarme,adat,adati,adatom,adaunt,adaw,adawe,adawlut,adawn,adaxial,aday,adays,adazzle,adcraft,add,adda,addable,addax,added,addedly,addend,addenda,adder,addible,addict,addle,addlins,address,addrest,adduce,adducer,adduct,ade,adead,adeem,adeep,adeling,adelite,adenase,adenia,adenine,adenoid,adenoma,adenose,adenyl,adept,adermia,adermin,adet,adevism,adfix,adhaka,adharma,adhere,adherer,adhibit,adiate,adicity,adieu,adieux,adinole,adion,adipate,adipic,adipoid,adipoma,adipose,adipous,adipsia,adipsic,adipsy,adipyl,adit,adital,aditus,adjag,adject,adjiger,adjoin,adjoint,adjourn,adjudge,adjunct,adjure,adjurer,adjust,adlay,adless,adlet,adman,admi,admiral,admire,admired,admirer,admit,admix,adnate,adnex,adnexal,adnexed,adnoun,ado,adobe,adonin,adonite,adonize,adopt,adopted,adoptee,adopter,adoral,adorant,adore,adorer,adorn,adorner,adossed,adoulie,adown,adoxy,adoze,adpao,adpress,adread,adream,adreamt,adrenal,adrenin,adrift,adrip,adroit,adroop,adrop,adrowse,adrue,adry,adsbud,adsmith,adsorb,adtevac,adular,adulate,adult,adulter,adunc,adusk,adust,advance,advene,adverb,adverse,advert,advice,advisal,advise,advised,advisee,adviser,advisor,advowee,ady,adynamy,adyta,adyton,adytum,adz,adze,adzer,adzooks,ae,aecial,aecium,aedile,aedilic,aefald,aefaldy,aefauld,aegis,aenach,aenean,aeneous,aeolid,aeolina,aeoline,aeon,aeonial,aeonian,aeonist,aer,aerage,aerate,aerator,aerial,aeric,aerical,aerie,aeried,aerify,aero,aerobe,aerobic,aerobus,aerogel,aerogen,aerogun,aeronat,aeronef,aerose,aerosol,aerugo,aery,aes,aevia,aface,afaint,afar,afara,afear,afeard,afeared,afernan,afetal,affa,affable,affably,affair,affaite,affect,affeer,affeir,affiant,affinal,affine,affined,affirm,affix,affixal,affixer,afflict,afflux,afforce,afford,affray,affront,affuse,affy,afghani,afield,afire,aflame,aflare,aflat,aflaunt,aflight,afloat,aflow,aflower,aflush,afoam,afoot,afore,afoul,afraid,afreet,afresh,afret,afront,afrown,aft,aftaba,after,aftergo,aftmost,aftosa,aftward,aga,again,against,agal,agalaxy,agalite,agallop,agalma,agama,agamete,agami,agamian,agamic,agamid,agamoid,agamont,agamous,agamy,agape,agapeti,agar,agaric,agarita,agarwal,agasp,agate,agathin,agatine,agatize,agatoid,agaty,agavose,agaze,agazed,age,aged,agedly,agee,ageless,agelong,agen,agency,agenda,agendum,agent,agentry,ager,ageusia,ageusic,agger,aggrade,aggrate,aggress,aggroup,aggry,aggur,agha,aghanee,aghast,agile,agilely,agility,aging,agio,agist,agistor,agitant,agitate,agla,aglance,aglare,agleaf,agleam,aglet,agley,aglint,aglow,aglucon,agnail,agname,agnamed,agnate,agnatic,agnel,agnize,agnomen,agnosia,agnosis,agnosy,agnus,ago,agog,agoge,agogic,agogics,agoho,agoing,agon,agonal,agone,agonic,agonied,agonist,agonium,agonize,agony,agora,agouara,agouta,agouti,agpaite,agrah,agral,agre,agree,agreed,agreer,agrege,agria,agrin,agrise,agrito,agroan,agrom,agroof,agrope,aground,agrufe,agruif,agsam,agua,ague,aguey,aguish,agunah,agush,agust,agy,agynary,agynous,agyrate,agyria,ah,aha,ahaaina,ahaunch,ahead,aheap,ahem,ahey,ahimsa,ahind,ahint,ahmadi,aho,ahong,ahorse,ahoy,ahsan,ahu,ahuatle,ahull,ahum,ahungry,ahunt,ahura,ahush,ahwal,ahypnia,ai,aid,aidable,aidance,aidant,aide,aider,aidful,aidless,aiel,aiglet,ail,ailanto,aile,aileron,ailette,ailing,aillt,ailment,ailsyte,ailuro,ailweed,aim,aimara,aimer,aimful,aiming,aimless,ainaleh,ainhum,ainoi,ainsell,aint,aion,aionial,air,airable,airampo,airan,aircrew,airdock,airdrop,aire,airer,airfoil,airhead,airily,airing,airish,airless,airlift,airlike,airmail,airman,airmark,airpark,airport,airship,airsick,airt,airward,airway,airy,aisle,aisled,aisling,ait,aitch,aitesis,aition,aiwan,aizle,ajaja,ajangle,ajar,ajari,ajava,ajhar,ajivika,ajog,ajoint,ajowan,ak,aka,akala,akaroa,akasa,akazga,akcheh,ake,akeake,akebi,akee,akeki,akeley,akepiro,akerite,akey,akhoond,akhrot,akhyana,akia,akimbo,akin,akindle,akinete,akmudar,aknee,ako,akoasm,akoasma,akonge,akov,akpek,akra,aku,akule,akund,al,ala,alacha,alack,alada,alaihi,alaite,alala,alalite,alalus,alameda,alamo,alamoth,alan,aland,alangin,alani,alanine,alannah,alantic,alantin,alantol,alanyl,alar,alares,alarm,alarmed,alarum,alary,alas,alate,alated,alatern,alation,alb,alba,alban,albarco,albata,albe,albedo,albee,albeit,albetad,albify,albinal,albinic,albino,albite,albitic,albugo,album,albumen,albumin,alburn,albus,alcaide,alcalde,alcanna,alcazar,alchemy,alchera,alchimy,alchymy,alcine,alclad,alco,alcoate,alcogel,alcohol,alcosol,alcove,alcyon,aldane,aldazin,aldehol,alder,aldern,aldim,aldime,aldine,aldol,aldose,ale,aleak,alec,alecize,alecost,alecup,alee,alef,aleft,alegar,alehoof,alem,alemana,alembic,alemite,alemmal,alen,aleph,alephs,alepole,alepot,alerce,alerse,alert,alertly,alesan,aletap,alette,alevin,alewife,alexia,alexic,alexin,aleyard,alf,alfa,alfaje,alfalfa,alfaqui,alfet,alfiona,alfonso,alforja,alga,algae,algal,algalia,algate,algebra,algedo,algesia,algesic,algesis,algetic,algic,algid,algific,algin,algine,alginic,algist,algoid,algor,algosis,algous,algum,alhenna,alias,alibi,alible,alichel,alidade,alien,aliency,alienee,aliener,alienor,alif,aliform,alight,align,aligner,aliipoe,alike,alima,aliment,alimony,alin,aliofar,alipata,aliped,aliptes,aliptic,aliquot,alish,alisier,alismad,alismal,aliso,alison,alisp,alist,alit,alite,aliunde,alive,aliyah,alizari,aljoba,alk,alkali,alkalic,alkamin,alkane,alkanet,alkene,alkenna,alkenyl,alkide,alkine,alkool,alkoxy,alkoxyl,alky,alkyd,alkyl,alkylic,alkyne,all,allan,allay,allayer,allbone,allege,alleger,allegro,allele,allelic,allene,aller,allergy,alley,alleyed,allgood,allheal,allice,allied,allies,allness,allonym,alloquy,allose,allot,allotee,allover,allow,allower,alloxan,alloy,allseed,alltud,allude,allure,allurer,alluvia,allwork,ally,allyl,allylic,alma,almadia,almadie,almagra,almanac,alme,almemar,almique,almirah,almoign,almon,almond,almondy,almoner,almonry,almost,almous,alms,almsful,almsman,almuce,almud,almude,almug,almuten,aln,alnage,alnager,alnein,alnico,alnoite,alnuin,alo,alochia,alod,alodial,alodian,alodium,alody,aloe,aloed,aloesol,aloetic,aloft,alogia,alogism,alogy,aloid,aloin,aloma,alone,along,alongst,aloof,aloofly,aloose,alop,alopeke,alose,aloud,alow,alowe,alp,alpaca,alpeen,alpha,alphol,alphorn,alphos,alphyl,alpieu,alpine,alpist,alquier,alraun,already,alright,alroot,alruna,also,alsoon,alt,altaite,altar,altared,alter,alterer,altern,alterne,althea,althein,altho,althorn,altilik,altin,alto,altoun,altrose,altun,aludel,alula,alular,alulet,alum,alumic,alumina,alumine,alumish,alumite,alumium,alumna,alumnae,alumnal,alumni,alumnus,alunite,alupag,alure,aluta,alvar,alveary,alveloz,alveola,alveole,alveoli,alveus,alvine,alvite,alvus,alway,always,aly,alypin,alysson,am,ama,amaas,amadou,amaga,amah,amain,amakebe,amala,amalaka,amalgam,amaltas,amamau,amandin,amang,amani,amania,amanori,amanous,amapa,amar,amarin,amarine,amarity,amaroid,amass,amasser,amastia,amasty,amateur,amative,amatol,amatory,amaze,amazed,amazia,amazing,amba,ambage,ambalam,amban,ambar,ambaree,ambary,ambash,ambassy,ambatch,ambay,ambeer,amber,ambery,ambiens,ambient,ambier,ambit,ambital,ambitty,ambitus,amble,ambler,ambling,ambo,ambon,ambos,ambrain,ambrein,ambrite,ambroid,ambrose,ambry,ambsace,ambury,ambush,amchoor,ame,ameed,ameen,amelia,amellus,amelu,amelus,amen,amend,amende,amender,amends,amene,amenia,amenity,ament,amental,amentia,amentum,amerce,amercer,amerism,amesite,ametria,amgarn,amhar,amhran,ami,amiable,amiably,amianth,amic,amical,amice,amiced,amicron,amid,amidase,amidate,amide,amidic,amidid,amidide,amidin,amidine,amido,amidol,amidon,amidoxy,amidst,amil,amimia,amimide,amin,aminate,amine,amini,aminic,aminity,aminize,amino,aminoid,amir,amiray,amiss,amity,amixia,amla,amli,amlikar,amlong,amma,amman,ammelin,ammer,ammeter,ammine,ammo,ammonal,ammonia,ammonic,ammono,ammu,amnesia,amnesic,amnesty,amnia,amniac,amnic,amnion,amniote,amober,amobyr,amoeba,amoebae,amoeban,amoebic,amoebid,amok,amoke,amole,amomal,amomum,among,amongst,amor,amorado,amoraic,amoraim,amoral,amoret,amorism,amorist,amoroso,amorous,amorphy,amort,amotion,amotus,amount,amour,amove,ampalea,amper,ampere,ampery,amphid,amphide,amphora,amphore,ample,amplify,amply,ampoule,ampul,ampulla,amputee,ampyx,amra,amreeta,amrita,amsath,amsel,amt,amtman,amuck,amuguis,amula,amulet,amulla,amunam,amurca,amuse,amused,amusee,amuser,amusia,amusing,amusive,amutter,amuyon,amuyong,amuze,amvis,amy,amyelia,amyelic,amygdal,amyl,amylan,amylase,amylate,amylene,amylic,amylin,amylo,amyloid,amylom,amylon,amylose,amylum,amyous,amyrin,amyrol,amyroot,an,ana,anabata,anabo,anabong,anacara,anacard,anacid,anadem,anadrom,anaemia,anaemic,anagap,anagep,anagoge,anagogy,anagram,anagua,anahau,anal,analav,analgen,analgia,analgic,anally,analogy,analyse,analyst,analyze,anam,anama,anamite,anan,anana,ananas,ananda,ananym,anaphia,anapnea,anapsid,anaqua,anarch,anarchy,anareta,anarya,anatase,anatifa,anatine,anatomy,anatox,anatron,anaudia,anaxial,anaxon,anaxone,anay,anba,anbury,anchor,anchovy,ancient,ancile,ancilla,ancon,anconad,anconal,ancone,ancony,ancora,ancoral,and,anda,andante,andirin,andiron,andric,android,androl,andron,anear,aneath,anele,anemia,anemic,anemone,anemony,anend,anenst,anent,anepia,anergia,anergic,anergy,anerly,aneroid,anes,anesis,aneuria,aneuric,aneurin,anew,angaria,angary,angekok,angel,angelet,angelic,angelin,angelot,anger,angerly,angeyok,angico,angild,angili,angina,anginal,angioid,angioma,angle,angled,angler,angling,angloid,ango,angolar,angor,angrily,angrite,angry,angst,angster,anguid,anguine,anguis,anguish,angula,angular,anguria,anhang,anhima,anhinga,ani,anicut,anidian,aniente,anigh,anight,anights,anil,anilao,anilau,anile,anilic,anilid,anilide,aniline,anility,anilla,anima,animal,animate,anime,animi,animism,animist,animize,animous,animus,anion,anionic,anis,anisal,anisate,anise,aniseed,anisic,anisil,anisoin,anisole,anisoyl,anisum,anisyl,anither,anjan,ankee,anker,ankh,ankle,anklet,anklong,ankus,ankusha,anlace,anlaut,ann,anna,annal,annale,annals,annat,annates,annatto,anneal,annelid,annet,annex,annexa,annexal,annexer,annite,annona,annoy,annoyer,annual,annuary,annuent,annuity,annul,annular,annulet,annulus,anoa,anodal,anode,anodic,anodize,anodos,anodyne,anoesia,anoesis,anoetic,anoil,anoine,anoint,anole,anoli,anolian,anolyte,anomaly,anomite,anomy,anon,anonang,anonol,anonym,anonyma,anopia,anopsia,anorak,anorexy,anormal,anorth,anosmia,anosmic,another,anotia,anotta,anotto,anotus,anounou,anoxia,anoxic,ansa,ansar,ansate,ansu,answer,ant,anta,antacid,antal,antapex,antdom,ante,anteact,anteal,antefix,antenna,antes,antewar,anthela,anthem,anthema,anthemy,anther,anthill,anthine,anthoid,anthood,anthrax,anthrol,anthryl,anti,antiae,antiar,antic,antical,anticly,anticor,anticum,antifat,antigen,antigod,antihum,antiqua,antique,antired,antirun,antisun,antitax,antiwar,antiwit,antler,antlia,antling,antoeci,antonym,antra,antral,antre,antrin,antrum,antship,antu,antwise,anubing,anuloma,anuran,anuria,anuric,anurous,anury,anus,anusim,anvil,anxiety,anxious,any,anybody,anyhow,anyone,anyway,anyways,anywhen,anywhy,anywise,aogiri,aonach,aorist,aorta,aortal,aortic,aortism,aosmic,aoudad,apa,apace,apache,apadana,apagoge,apaid,apalit,apandry,apar,aparejo,apart,apasote,apatan,apathic,apathy,apatite,ape,apeak,apedom,apehood,apeiron,apelet,apelike,apeling,apepsia,apepsy,apeptic,aper,aperch,aperea,apert,apertly,apery,apetaly,apex,apexed,aphagia,aphakia,aphakic,aphasia,aphasic,aphemia,aphemic,aphesis,apheta,aphetic,aphid,aphides,aphidid,aphodal,aphodus,aphonia,aphonic,aphony,aphoria,aphotic,aphrite,aphtha,aphthic,aphylly,aphyric,apian,apiary,apiator,apicad,apical,apices,apicula,apiece,apieces,apii,apiin,apilary,apinch,aping,apinoid,apio,apioid,apiole,apiolin,apionol,apiose,apish,apishly,apism,apitong,apitpat,aplanat,aplasia,aplenty,aplite,aplitic,aplomb,aplome,apnea,apneal,apneic,apocarp,apocha,apocope,apod,apodal,apodan,apodema,apodeme,apodia,apodous,apogamy,apogeal,apogean,apogee,apogeic,apogeny,apohyal,apoise,apojove,apokrea,apolar,apology,aponia,aponic,apoop,apoplex,apopyle,aporia,aporose,aport,aposia,aposoro,apostil,apostle,apothem,apotome,apotype,apout,apozem,apozema,appall,apparel,appay,appeal,appear,appease,append,appet,appete,applaud,apple,applied,applier,applot,apply,appoint,apport,appose,apposer,apprend,apprise,apprize,approof,approve,appulse,apraxia,apraxic,apricot,apriori,apron,apropos,apse,apsidal,apsides,apsis,apt,apteral,apteran,aptly,aptness,aptote,aptotic,apulse,apyonin,apyrene,apyrexy,apyrous,aqua,aquabib,aquage,aquaria,aquatic,aquavit,aqueous,aquifer,aquiver,aquo,aquose,ar,ara,araba,araban,arabana,arabin,arabit,arable,araca,aracari,arachic,arachin,arad,arado,arain,arake,araliad,aralie,aralkyl,aramina,araneid,aranein,aranga,arango,arar,arara,ararao,arariba,araroba,arati,aration,aratory,arba,arbacin,arbalo,arbiter,arbor,arboral,arbored,arboret,arbute,arbutin,arbutus,arc,arca,arcade,arcana,arcanal,arcane,arcanum,arcate,arch,archae,archaic,arche,archeal,arched,archer,archery,arches,archeus,archfoe,archgod,archil,arching,archive,archly,archon,archont,archsee,archsin,archspy,archwag,archway,archy,arcing,arcked,arcking,arctian,arctic,arctiid,arctoid,arcual,arcuale,arcuate,arcula,ardeb,ardella,ardency,ardent,ardish,ardoise,ardor,ardri,ardu,arduous,are,area,areach,aread,areal,arear,areaway,arecain,ared,areek,areel,arefact,areito,arena,arenae,arend,areng,arenoid,arenose,arent,areola,areolar,areole,areolet,arete,argal,argala,argali,argans,argasid,argeers,argel,argenol,argent,arghan,arghel,arghool,argil,argo,argol,argolet,argon,argosy,argot,argotic,argue,arguer,argufy,argute,argyria,argyric,arhar,arhat,aria,aribine,aricine,arid,aridge,aridian,aridity,aridly,ariel,arienzo,arietta,aright,arigue,aril,ariled,arillus,ariose,arioso,ariot,aripple,arisard,arise,arisen,arist,arista,arite,arjun,ark,arkite,arkose,arkosic,arles,arm,armada,armbone,armed,armer,armet,armful,armhole,armhoop,armied,armiger,armil,armilla,arming,armless,armlet,armload,armoire,armor,armored,armorer,armory,armpit,armrack,armrest,arms,armscye,armure,army,arn,arna,arnee,arni,arnica,arnotta,arnotto,arnut,aroar,aroast,arock,aroeira,aroid,aroint,arolium,arolla,aroma,aroon,arose,around,arousal,arouse,arouser,arow,aroxyl,arpen,arpent,arrack,arrah,arraign,arrame,arrange,arrant,arras,arrased,arratel,arrau,array,arrayal,arrayer,arrear,arrect,arrent,arrest,arriage,arriba,arride,arridge,arrie,arriere,arrimby,arris,arrish,arrival,arrive,arriver,arroba,arrope,arrow,arrowed,arrowy,arroyo,arse,arsenal,arsenic,arseno,arsenyl,arses,arsheen,arshin,arshine,arsine,arsinic,arsino,arsis,arsle,arsoite,arson,arsonic,arsono,arsyl,art,artaba,artabe,artal,artar,artel,arterin,artery,artful,artha,arthel,arthral,artiad,article,artisan,artist,artiste,artless,artlet,artlike,artware,arty,aru,arui,aruke,arumin,arupa,arusa,arusha,arustle,arval,arvel,arx,ary,aryl,arylate,arzan,arzun,as,asaddle,asak,asale,asana,asaphia,asaphid,asaprol,asarite,asaron,asarone,asbest,asbolin,ascan,ascare,ascarid,ascaron,ascend,ascent,ascetic,ascham,asci,ascian,ascii,ascites,ascitic,asclent,ascoma,ascon,ascot,ascribe,ascript,ascry,ascula,ascus,asdic,ase,asearch,aseethe,aseity,asem,asemia,asepsis,aseptic,aseptol,asexual,ash,ashake,ashame,ashamed,ashamnu,ashcake,ashen,asherah,ashery,ashes,ashet,ashily,ashine,ashiver,ashkoko,ashlar,ashless,ashling,ashman,ashore,ashpan,ashpit,ashraf,ashrafi,ashur,ashweed,ashwort,ashy,asialia,aside,asideu,asiento,asilid,asimen,asimmer,asinego,asinine,asitia,ask,askable,askance,askant,askar,askari,asker,askew,askip,asklent,askos,aslant,aslaver,asleep,aslop,aslope,asmack,asmalte,asmear,asmile,asmoke,asnort,asoak,asocial,asok,asoka,asonant,asonia,asop,asor,asouth,asp,aspace,aspect,aspen,asper,asperge,asperse,asphalt,asphyxy,aspic,aspire,aspirer,aspirin,aspish,asport,aspout,asprawl,aspread,aspring,asprout,asquare,asquat,asqueal,asquint,asquirm,ass,assacu,assagai,assai,assail,assapan,assart,assary,assate,assault,assaut,assay,assayer,assbaa,asse,assegai,asself,assent,assert,assess,asset,assets,assever,asshead,assi,assify,assign,assilag,assis,assise,assish,assist,assize,assizer,assizes,asslike,assman,assoil,assort,assuade,assuage,assume,assumed,assumer,assure,assured,assurer,assurge,ast,asta,astalk,astare,astart,astasia,astatic,astay,asteam,asteep,asteer,asteism,astelic,astely,aster,asteria,asterin,astern,astheny,asthma,asthore,astilbe,astint,astir,astite,astomia,astony,astoop,astor,astound,astrain,astral,astrand,astray,astream,astrer,astrict,astride,astrier,astrild,astroid,astrut,astute,astylar,asudden,asunder,aswail,aswarm,asway,asweat,aswell,aswim,aswing,aswirl,aswoon,asyla,asylum,at,atabal,atabeg,atabek,atactic,atafter,ataman,atangle,atap,ataraxy,ataunt,atavi,atavic,atavism,atavist,atavus,ataxia,ataxic,ataxite,ataxy,atazir,atbash,ate,atebrin,atechny,ateeter,atef,atelets,atelier,atelo,ates,ateuchi,athanor,athar,atheism,atheist,atheize,athelia,athenee,athenor,atheous,athing,athirst,athlete,athodyd,athort,athrill,athrive,athrob,athrong,athwart,athymia,athymic,athymy,athyria,athyrid,atilt,atimon,atinga,atingle,atinkle,atip,atis,atlas,atlatl,atle,atlee,atloid,atma,atman,atmid,atmo,atmos,atocha,atocia,atokal,atoke,atokous,atoll,atom,atomerg,atomic,atomics,atomism,atomist,atomity,atomize,atomy,atonal,atone,atoner,atonia,atonic,atony,atop,atophan,atopic,atopite,atopy,atour,atoxic,atoxyl,atrail,atrepsy,atresia,atresic,atresy,atretic,atria,atrial,atrip,atrium,atrocha,atropal,atrophy,atropia,atropic,atrous,atry,atta,attacco,attach,attache,attack,attacus,attagen,attain,attaint,attaleh,attar,attask,attempt,attend,attent,atter,attern,attery,attest,attic,attid,attinge,attire,attired,attirer,attorn,attract,attrap,attrist,attrite,attune,atule,atumble,atune,atwain,atweel,atween,atwin,atwirl,atwist,atwitch,atwixt,atwo,atypic,atypy,auantic,aube,aubrite,auburn,auca,auchlet,auction,aucuba,audible,audibly,audient,audile,audio,audion,audit,auditor,auge,augen,augend,auger,augerer,augh,aught,augite,augitic,augment,augur,augural,augury,august,auh,auhuhu,auk,auklet,aula,aulae,auld,auletai,aulete,auletes,auletic,aulic,auloi,aulos,aulu,aum,aumaga,aumail,aumbry,aumery,aumil,aumous,aumrie,auncel,aune,aunt,auntie,auntish,auntly,aupaka,aura,aurae,aural,aurally,aurar,aurate,aurated,aureate,aureity,aurelia,aureola,aureole,aureous,auresca,aureus,auric,auricle,auride,aurific,aurify,aurigal,aurin,aurir,aurist,aurite,aurochs,auronal,aurora,aurorae,auroral,aurore,aurous,aurum,aurure,auryl,auscult,auslaut,auspex,auspice,auspicy,austere,austral,ausu,ausubo,autarch,autarky,aute,autecy,autem,author,autism,autist,auto,autobus,autocab,autocar,autoecy,autoist,automa,automat,autonym,autopsy,autumn,auxesis,auxetic,auxin,auxinic,auxotox,ava,avadana,avahi,avail,aval,avalent,avania,avarice,avast,avaunt,ave,avellan,aveloz,avenage,avener,avenge,avenger,avenin,avenous,avens,avenue,aver,avera,average,averah,averil,averin,averral,averse,avert,averted,averter,avian,aviary,aviate,aviatic,aviator,avichi,avicide,avick,avid,avidity,avidly,avidous,avidya,avigate,avijja,avine,aviso,avital,avitic,avives,avo,avocado,avocate,avocet,avodire,avoid,avoider,avolate,avouch,avow,avowal,avowant,avowed,avower,avowry,avoyer,avulse,aw,awa,awabi,awaft,awag,await,awaiter,awake,awaken,awald,awalim,awalt,awane,awapuhi,award,awarder,aware,awash,awaste,awat,awatch,awater,awave,away,awber,awd,awe,aweary,aweband,awee,aweek,aweel,aweigh,awesome,awest,aweto,awfu,awful,awfully,awheel,awheft,awhet,awhile,awhir,awhirl,awide,awiggle,awin,awing,awink,awiwi,awkward,awl,awless,awlwort,awmous,awn,awned,awner,awning,awnless,awnlike,awny,awoke,awork,awreck,awrist,awrong,awry,ax,axal,axe,axed,axenic,axes,axfetch,axhead,axial,axially,axiate,axiform,axil,axile,axilla,axillae,axillar,axine,axinite,axiom,axion,axis,axised,axite,axle,axled,axmaker,axman,axogamy,axoid,axolotl,axon,axonal,axonost,axseed,axstone,axtree,axunge,axweed,axwise,axwort,ay,ayah,aye,ayelp,ayin,ayless,aylet,ayllu,ayond,ayont,ayous,ayu,azafrin,azalea,azarole,azelaic,azelate,azide,azilut,azimene,azimide,azimine,azimino,azimuth,azine,aziola,azo,azoch,azofier,azofy,azoic,azole,azon,azonal,azonic,azonium,azophen,azorite,azotate,azote,azoted,azoth,azotic,azotine,azotite,azotize,azotous,azox,azoxime,azoxine,azoxy,azteca,azulene,azulite,azulmic,azumbre,azure,azurean,azured,azurine,azurite,azurous,azury,azygos,azygous,azyme,azymite,azymous,b,ba,baa,baal,baar,baba,babai,babasco,babassu,babbitt,babble,babbler,babbly,babby,babe,babelet,babery,babiche,babied,babish,bablah,babloh,baboen,baboo,baboon,baboot,babroot,babu,babudom,babuina,babuism,babul,baby,babydom,babyish,babyism,bac,bacaba,bacach,bacalao,bacao,bacca,baccae,baccara,baccate,bacchar,bacchic,bacchii,bach,bache,bachel,bacilli,back,backage,backcap,backed,backen,backer,backet,backie,backing,backjaw,backlet,backlog,backrun,backsaw,backset,backup,backway,baclin,bacon,baconer,bacony,bacula,bacule,baculi,baculum,baculus,bacury,bad,badan,baddish,baddock,bade,badge,badger,badiaga,badian,badious,badland,badly,badness,bae,baetuli,baetyl,bafaro,baff,baffeta,baffle,baffler,baffy,baft,bafta,bag,baga,bagani,bagasse,bagel,bagful,baggage,baggala,bagged,bagger,baggie,baggily,bagging,baggit,baggy,baglike,bagman,bagnio,bagnut,bago,bagonet,bagpipe,bagre,bagreef,bagroom,bagwig,bagworm,bagwyn,bah,bahan,bahar,bahay,bahera,bahisti,bahnung,baho,bahoe,bahoo,baht,bahur,bahut,baignet,baikie,bail,bailage,bailee,bailer,bailey,bailie,bailiff,bailor,bain,bainie,baioc,baiocco,bairagi,bairn,bairnie,bairnly,baister,bait,baiter,baith,baittle,baize,bajada,bajan,bajra,bajree,bajri,bajury,baka,bakal,bake,baked,baken,bakepan,baker,bakerly,bakery,bakie,baking,bakli,baktun,baku,bakula,bal,balafo,balagan,balai,balance,balanic,balanid,balao,balas,balata,balboa,balcony,bald,balden,balder,baldish,baldly,baldrib,baldric,baldy,bale,baleen,baleful,balei,baleise,baler,balete,bali,baline,balita,balk,balker,balky,ball,ballad,ballade,ballam,ballan,ballant,ballast,ballata,ballate,balldom,balled,baller,ballet,balli,ballist,ballium,balloon,ballot,ballow,ballup,bally,balm,balmily,balmony,balmy,balneal,balonea,baloney,baloo,balow,balsa,balsam,balsamo,balsamy,baltei,balter,balteus,balu,balut,balza,bam,bamban,bambini,bambino,bamboo,bamoth,ban,banaba,banago,banak,banal,banally,banana,banat,banc,banca,bancal,banchi,banco,bancus,band,banda,bandage,bandaka,bandala,bandar,bandbox,bande,bandeau,banded,bander,bandhu,bandi,bandie,banding,bandit,bandle,bandlet,bandman,bando,bandog,bandore,bandrol,bandy,bane,baneful,bang,banga,bange,banger,banghy,banging,bangkok,bangle,bangled,bani,banian,banig,banilad,banish,baniwa,baniya,banjo,banjore,banjuke,bank,banked,banker,bankera,banket,banking,bankman,banky,banner,bannet,banning,bannock,banns,bannut,banquet,banshee,bant,bantam,bantay,banteng,banter,bantery,banty,banuyo,banya,banyan,banzai,baobab,bap,baptism,baptize,bar,bara,barad,barauna,barb,barbal,barbary,barbas,barbate,barbe,barbed,barbel,barber,barbet,barbion,barblet,barbone,barbudo,barbule,bard,bardane,bardash,bardel,bardess,bardic,bardie,bardily,barding,bardish,bardism,bardlet,bardo,bardy,bare,bareca,barefit,barely,barer,baresma,baretta,barff,barfish,barfly,barful,bargain,barge,bargee,bargeer,barger,bargh,bargham,bari,baria,baric,barid,barie,barile,barilla,baring,baris,barish,barit,barite,barium,bark,barken,barker,barkery,barkey,barkhan,barking,barkle,barky,barless,barley,barling,barlock,barlow,barm,barmaid,barman,barmkin,barmote,barmy,barn,barnard,barney,barnful,barnman,barny,baroi,barolo,baron,baronet,barong,baronry,barony,baroque,baroto,barpost,barra,barrack,barrad,barrage,barras,barred,barrel,barren,barrer,barret,barrico,barrier,barring,barrio,barroom,barrow,barruly,barry,barse,barsom,barter,barth,barton,baru,baruria,barvel,barwal,barway,barways,barwise,barwood,barye,baryta,barytes,barytic,baryton,bas,basal,basale,basalia,basally,basalt,basaree,bascule,base,based,basely,baseman,basenji,bases,bash,bashaw,bashful,bashlyk,basial,basiate,basic,basidia,basify,basil,basilar,basilic,basin,basined,basinet,basion,basis,bask,basker,basket,basoid,bason,basos,basote,basque,basqued,bass,bassan,bassara,basset,bassie,bassine,bassist,basso,bassoon,bassus,bast,basta,bastard,baste,basten,baster,bastide,basting,bastion,bastite,basto,baston,bat,bataan,batad,batakan,batara,batata,batch,batcher,bate,batea,bateau,bateaux,bated,batel,bateman,bater,batfish,batfowl,bath,bathe,bather,bathic,bathing,bathman,bathmic,bathos,bathtub,bathyal,batik,batiker,bating,batino,batiste,batlan,batlike,batling,batlon,batman,batoid,baton,batonne,bats,batsman,batster,batt,batta,battel,batten,batter,battery,battik,batting,battish,battle,battled,battler,battue,batty,batule,batwing,batz,batzen,bauble,bauch,bauchle,bauckie,baud,baul,bauleah,baun,bauno,bauson,bausond,bauta,bauxite,bavaroy,bavary,bavian,baviere,bavin,bavoso,baw,bawbee,bawcock,bawd,bawdily,bawdry,bawl,bawler,bawley,bawn,bawtie,baxter,baxtone,bay,baya,bayal,bayamo,bayard,baybolt,baybush,baycuru,bayed,bayeta,baygall,bayhead,bayish,baylet,baylike,bayman,bayness,bayok,bayonet,bayou,baywood,bazaar,baze,bazoo,bazooka,bazzite,bdellid,be,beach,beached,beachy,beacon,bead,beaded,beader,beadily,beading,beadle,beadlet,beadman,beadrow,beady,beagle,beak,beaked,beaker,beakful,beaky,beal,beala,bealing,beam,beamage,beamed,beamer,beamful,beamily,beaming,beamish,beamlet,beamman,beamy,bean,beanbag,beancod,beanery,beanie,beano,beant,beany,bear,beard,bearded,bearder,beardie,beardom,beardy,bearer,bearess,bearing,bearish,bearlet,bearm,beast,beastie,beastly,beat,beata,beatae,beatee,beaten,beater,beath,beatify,beating,beatus,beau,beaufin,beauish,beauism,beauti,beauty,beaux,beaver,beavery,beback,bebait,bebang,bebar,bebaron,bebaste,bebat,bebathe,bebay,bebeast,bebed,bebeeru,bebilya,bebite,beblain,beblear,bebled,bebless,beblood,bebloom,bebog,bebop,beboss,bebotch,bebrave,bebrine,bebrush,bebump,bebusy,becall,becalm,becap,becard,becarve,becater,because,becense,bechalk,becharm,bechase,becheck,becher,bechern,bechirp,becivet,beck,becker,becket,beckon,beclad,beclang,beclart,beclasp,beclaw,becloak,beclog,becloud,beclout,beclown,becolme,becolor,become,becomes,becomma,becoom,becost,becovet,becram,becramp,becrawl,becreep,becrime,becroak,becross,becrowd,becrown,becrush,becrust,becry,becuiba,becuna,becurl,becurry,becurse,becut,bed,bedad,bedamn,bedamp,bedare,bedark,bedash,bedaub,bedawn,beday,bedaze,bedbug,bedcap,bedcase,bedcord,bedded,bedder,bedding,bedead,bedeaf,bedebt,bedeck,bedel,beden,bedene,bedevil,bedew,bedewer,bedfast,bedfoot,bedgery,bedgoer,bedgown,bedight,bedikah,bedim,bedin,bedip,bedirt,bedirty,bedizen,bedkey,bedlam,bedlar,bedless,bedlids,bedman,bedmate,bedog,bedolt,bedot,bedote,bedouse,bedown,bedoyo,bedpan,bedpost,bedrail,bedral,bedrape,bedress,bedrid,bedrift,bedrip,bedrock,bedroll,bedroom,bedrop,bedrown,bedrug,bedsick,bedside,bedsite,bedsock,bedsore,bedtick,bedtime,bedub,beduck,beduke,bedull,bedumb,bedunce,bedunch,bedung,bedur,bedusk,bedust,bedwarf,bedway,bedways,bedwell,bedye,bee,beearn,beech,beechen,beechy,beedged,beedom,beef,beefer,beefily,beefin,beefish,beefy,beehead,beeherd,beehive,beeish,beek,beekite,beelbow,beelike,beeline,beelol,beeman,been,beennut,beer,beerage,beerily,beerish,beery,bees,beest,beeswax,beet,beeth,beetle,beetled,beetler,beety,beeve,beevish,beeware,beeway,beeweed,beewise,beewort,befall,befame,befan,befancy,befavor,befilch,befile,befilth,befire,befist,befit,beflag,beflap,beflea,befleck,beflour,beflout,beflum,befoam,befog,befool,befop,before,befoul,befret,befrill,befriz,befume,beg,begad,begall,begani,begar,begari,begash,begat,begaud,begaudy,begay,begaze,begeck,begem,beget,beggar,beggary,begging,begift,begild,begin,begird,beglad,beglare,beglic,beglide,begloom,begloze,begluc,beglue,begnaw,bego,begob,begobs,begohm,begone,begonia,begorra,begorry,begoud,begowk,begrace,begrain,begrave,begray,begreen,begrett,begrim,begrime,begroan,begrown,beguard,beguess,beguile,beguine,begulf,begum,begun,begunk,begut,behale,behalf,behap,behave,behead,behear,behears,behedge,beheld,behelp,behen,behenic,behest,behind,behint,behn,behold,behoney,behoof,behoot,behoove,behorn,behowl,behung,behymn,beice,beige,being,beinked,beira,beisa,bejade,bejan,bejant,bejazz,bejel,bejewel,bejig,bekah,bekick,beking,bekiss,bekko,beknave,beknit,beknow,beknown,bel,bela,belabor,belaced,beladle,belady,belage,belah,belam,belanda,belar,belard,belash,belate,belated,belaud,belay,belayer,belch,belcher,beld,beldam,beleaf,beleap,beleave,belee,belfry,belga,belibel,belick,belie,belief,belier,believe,belight,beliked,belion,belite,belive,bell,bellboy,belle,belled,bellhop,bellied,belling,bellite,bellman,bellote,bellow,bellows,belly,bellyer,beloam,beloid,belong,belonid,belord,belout,belove,beloved,below,belsire,belt,belted,belter,beltie,beltine,belting,beltman,belton,beluga,belute,belve,bely,belying,bema,bemad,bemadam,bemail,bemaim,beman,bemar,bemask,bemat,bemata,bemaul,bemazed,bemeal,bemean,bemercy,bemire,bemist,bemix,bemoan,bemoat,bemock,bemoil,bemole,bemolt,bemoon,bemotto,bemoult,bemouth,bemuck,bemud,bemuddy,bemuse,bemused,bemusk,ben,bena,benab,bename,benami,benasty,benben,bench,bencher,benchy,bencite,bend,benda,bended,bender,bending,bendlet,bendy,bene,beneath,benefic,benefit,benempt,benet,beng,beni,benight,benign,benison,benj,benjy,benmost,benn,benne,bennel,bennet,benny,beno,benorth,benote,bensel,bensh,benshea,benshee,benshi,bent,bentang,benthal,benthic,benthon,benthos,benting,benty,benumb,benward,benweed,benzal,benzein,benzene,benzil,benzine,benzo,benzoic,benzoid,benzoin,benzol,benzole,benzoxy,benzoyl,benzyl,beode,bepaid,bepale,bepaper,beparch,beparse,bepart,bepaste,bepat,bepaw,bepearl,bepelt,bepen,bepewed,bepiece,bepile,bepill,bepinch,bepity,beprank,bepray,bepress,bepride,beprose,bepuff,bepun,bequalm,bequest,bequote,ber,berain,berakah,berake,berapt,berat,berate,beray,bere,bereave,bereft,berend,beret,berg,berger,berglet,bergut,bergy,bergylt,berhyme,beride,berinse,berith,berley,berlin,berline,berm,berne,berobed,beroll,beround,berret,berri,berried,berrier,berry,berseem,berserk,berth,berthed,berther,bertram,bertrum,berust,bervie,berycid,beryl,bes,besa,besagne,besaiel,besaint,besan,besauce,bescab,bescarf,bescent,bescorn,bescour,bescurf,beseam,besee,beseech,beseem,beseen,beset,beshade,beshag,beshake,beshame,beshear,beshell,beshine,beshlik,beshod,beshout,beshow,beshrew,beside,besides,besiege,besigh,besin,besing,besiren,besit,beslab,beslap,beslash,beslave,beslime,beslow,beslur,besmear,besmell,besmile,besmoke,besmut,besnare,besneer,besnow,besnuff,besogne,besoil,besom,besomer,besoot,besot,besoul,besour,bespate,bespawl,bespeak,besped,bespeed,bespell,bespend,bespete,bespew,bespice,bespill,bespin,bespit,besplit,bespoke,bespot,bespout,bespray,bespy,besquib,besra,best,bestab,bestain,bestamp,bestar,bestare,bestay,bestead,besteer,bester,bestial,bestick,bestill,bestink,bestir,bestock,bestore,bestorm,bestove,bestow,bestraw,bestrew,bestuck,bestud,besugar,besuit,besully,beswarm,beswim,bet,beta,betag,betail,betaine,betalk,betask,betaxed,betear,beteela,beteem,betel,beth,bethel,bethink,bethumb,bethump,betide,betimes,betinge,betire,betis,betitle,betoil,betoken,betone,betony,betoss,betowel,betrace,betrail,betrap,betray,betread,betrend,betrim,betroth,betrunk,betso,betted,better,betters,betting,bettong,bettor,betty,betulin,betutor,between,betwine,betwit,betwixt,beveil,bevel,beveled,beveler,bevenom,bever,beverse,beveto,bevined,bevomit,bevue,bevy,bewail,bewall,beware,bewash,bewaste,bewater,beweary,beweep,bewept,bewest,bewet,bewhig,bewhite,bewidow,bewig,bewired,bewitch,bewith,bework,beworm,beworn,beworry,bewrap,bewray,bewreck,bewrite,bey,beydom,beylic,beyond,beyship,bezant,bezanty,bezel,bezetta,bezique,bezoar,bezzi,bezzle,bezzo,bhabar,bhakta,bhakti,bhalu,bhandar,bhang,bhangi,bhara,bharal,bhat,bhava,bheesty,bhikku,bhikshu,bhoosa,bhoy,bhungi,bhut,biabo,biacid,biacuru,bialate,biallyl,bianco,biarchy,bias,biaxal,biaxial,bib,bibasic,bibb,bibber,bibble,bibbler,bibbons,bibcock,bibi,bibiri,bibless,biblus,bice,biceps,bicetyl,bichir,bichord,bichy,bick,bicker,bickern,bicolor,bicone,biconic,bicorn,bicorne,bicron,bicycle,bicyclo,bid,bidar,bidarka,bidcock,bidder,bidding,biddy,bide,bident,bider,bidet,biding,bidri,biduous,bield,bieldy,bien,bienly,biennia,bier,bietle,bifara,bifer,biff,biffin,bifid,bifidly,bifilar,biflex,bifocal,bifoil,bifold,bifolia,biform,bifront,big,biga,bigamic,bigamy,bigener,bigeye,bigg,biggah,biggen,bigger,biggest,biggin,biggish,bigha,bighead,bighorn,bight,biglot,bigness,bignou,bigot,bigoted,bigotry,bigotty,bigroot,bigwig,bija,bijasal,bijou,bijoux,bike,bikh,bikini,bilabe,bilalo,bilbie,bilbo,bilby,bilch,bilcock,bildar,bilders,bile,bilge,bilgy,biliary,biliate,bilic,bilify,bilimbi,bilio,bilious,bilith,bilk,bilker,bill,billa,billbug,billed,biller,billet,billety,billian,billing,billion,billman,billon,billot,billow,billowy,billy,billyer,bilo,bilobe,bilobed,bilsh,bilsted,biltong,bimalar,bimanal,bimane,bimasty,bimbil,bimeby,bimodal,bin,binal,binary,binate,bind,binder,bindery,binding,bindle,bindlet,bindweb,bine,bing,binge,bingey,binghi,bingle,bingo,bingy,binh,bink,binman,binna,binning,binnite,bino,binocle,binodal,binode,binotic,binous,bint,binukau,biod,biodyne,biogen,biogeny,bioherm,biolith,biology,biome,bion,bionomy,biopsic,biopsy,bioral,biorgan,bios,biose,biosis,biota,biotaxy,biotic,biotics,biotin,biotite,biotome,biotomy,biotope,biotype,bioxide,bipack,biparty,biped,bipedal,biphase,biplane,bipod,bipolar,biprism,biprong,birch,birchen,bird,birddom,birdeen,birder,birdie,birding,birdlet,birdman,birdy,bireme,biretta,biri,biriba,birk,birken,birkie,birl,birle,birler,birlie,birlinn,birma,birn,birny,birr,birse,birsle,birsy,birth,birthy,bis,bisabol,bisalt,biscuit,bisect,bisexed,bisext,bishop,bismar,bismite,bismuth,bisnaga,bison,bispore,bisque,bissext,bisson,bistate,bister,bisti,bistort,bistro,bit,bitable,bitch,bite,biter,biti,biting,bitless,bito,bitolyl,bitt,bitted,bitten,bitter,bittern,bitters,bittie,bittock,bitty,bitume,bitumed,bitumen,bitwise,bityite,bitypic,biune,biunial,biunity,biurate,biurea,biuret,bivalve,bivinyl,bivious,bivocal,bivouac,biwa,bixin,biz,bizarre,bizet,bizonal,bizone,bizz,blab,blabber,black,blacken,blacker,blackey,blackie,blackit,blackly,blacky,blad,bladder,blade,bladed,blader,blading,bladish,blady,blae,blaff,blaflum,blah,blain,blair,blake,blame,blamed,blamer,blaming,blan,blanc,blanca,blanch,blanco,bland,blanda,blandly,blank,blanked,blanket,blankly,blanky,blanque,blare,blarney,blarnid,blarny,blart,blas,blase,blash,blashy,blast,blasted,blaster,blastid,blastie,blasty,blat,blatant,blate,blately,blather,blatta,blatter,blatti,blattid,blaubok,blaver,blaw,blawort,blay,blaze,blazer,blazing,blazon,blazy,bleach,bleak,bleakly,bleaky,blear,bleared,bleary,bleat,bleater,bleaty,bleb,blebby,bleck,blee,bleed,bleeder,bleery,bleeze,bleezy,blellum,blemish,blench,blend,blende,blended,blender,blendor,blenny,blent,bleo,blesbok,bless,blessed,blesser,blest,blet,blewits,blibe,blick,blickey,blight,blighty,blimp,blimy,blind,blinded,blinder,blindly,blink,blinked,blinker,blinks,blinky,blinter,blintze,blip,bliss,blissom,blister,blite,blithe,blithen,blither,blitter,blitz,blizz,blo,bloat,bloated,bloater,blob,blobbed,blobber,blobby,bloc,block,blocked,blocker,blocky,blodite,bloke,blolly,blonde,blood,blooded,bloody,blooey,bloom,bloomer,bloomy,bloop,blooper,blore,blosmy,blossom,blot,blotch,blotchy,blotter,blotto,blotty,blouse,bloused,blout,blow,blowen,blower,blowfly,blowgun,blowing,blown,blowoff,blowout,blowth,blowup,blowy,blowze,blowzed,blowzy,blub,blubber,blucher,blue,bluecap,bluecup,blueing,blueleg,bluely,bluer,blues,bluet,bluetop,bluey,bluff,bluffer,bluffly,bluffy,bluggy,bluing,bluish,bluism,blunder,blunge,blunger,blunk,blunker,blunks,blunnen,blunt,blunter,bluntie,bluntly,blup,blur,blurb,blurred,blurrer,blurry,blurt,blush,blusher,blushy,bluster,blype,bo,boa,boagane,boar,board,boarder,boardly,boardy,boarish,boast,boaster,boat,boatage,boater,boatful,boatie,boating,boatlip,boatly,boatman,bob,boba,bobac,bobbed,bobber,bobbery,bobbin,bobbing,bobbish,bobble,bobby,bobcat,bobcoat,bobeche,bobfly,bobo,bobotie,bobsled,bobstay,bobtail,bobwood,bocal,bocardo,bocca,boccale,boccaro,bocce,boce,bocher,bock,bocking,bocoy,bod,bodach,bode,bodeful,bodega,boden,boder,bodge,bodger,bodgery,bodhi,bodice,bodiced,bodied,bodier,bodikin,bodily,boding,bodkin,bodle,bodock,body,bog,boga,bogan,bogard,bogart,bogey,boggart,boggin,boggish,boggle,boggler,boggy,boghole,bogie,bogier,bogland,bogle,boglet,bogman,bogmire,bogo,bogong,bogtrot,bogue,bogum,bogus,bogway,bogwood,bogwort,bogy,bogydom,bogyism,bohawn,bohea,boho,bohor,bohunk,boid,boil,boiled,boiler,boilery,boiling,boily,boist,bojite,bojo,bokadam,bokard,bokark,boke,bokom,bola,bolar,bold,bolden,boldine,boldly,boldo,bole,boled,boleite,bolero,bolete,bolide,bolimba,bolis,bolivar,bolivia,bolk,boll,bollard,bolled,boller,bolling,bollock,bolly,bolo,boloman,boloney,bolson,bolster,bolt,boltage,boltant,boltel,bolter,bolti,bolting,bolus,bom,boma,bomb,bombard,bombast,bombed,bomber,bombo,bombola,bombous,bon,bonaci,bonagh,bonaght,bonair,bonally,bonang,bonanza,bonasus,bonbon,bonce,bond,bondage,bondar,bonded,bonder,bonding,bondman,bonduc,bone,boned,bonedog,bonelet,boner,boneset,bonfire,bong,bongo,boniata,bonify,bonito,bonk,bonnaz,bonnet,bonnily,bonny,bonsai,bonus,bonxie,bony,bonze,bonzer,bonzery,bonzian,boo,boob,boobery,boobily,boobook,booby,bood,boodie,boodle,boodler,boody,boof,booger,boohoo,boojum,book,bookdom,booked,booker,bookery,bookful,bookie,booking,bookish,bookism,booklet,bookman,booky,bool,booly,boolya,boom,boomage,boomah,boomdas,boomer,booming,boomlet,boomy,boon,boonk,boopis,boor,boorish,boort,boose,boost,booster,boosy,boot,bootboy,booted,bootee,booter,bootery,bootful,booth,boother,bootied,booting,bootleg,boots,booty,booze,boozed,boozer,boozily,boozy,bop,bopeep,boppist,bopyrid,bor,bora,borable,boracic,borage,borak,boral,borasca,borate,borax,bord,bordage,bordar,bordel,border,bordure,bore,boread,boreal,borean,boredom,boree,boreen,boregat,boreism,borele,borer,borg,borgh,borh,boric,boride,borine,boring,borish,borism,bority,borize,borlase,born,borne,borneol,borning,bornite,bornyl,boro,boron,boronic,borough,borrel,borrow,borsch,borscht,borsht,bort,bortsch,borty,bortz,borwort,boryl,borzoi,boscage,bosch,bose,boser,bosh,bosher,bosk,bosker,bosket,bosky,bosn,bosom,bosomed,bosomer,bosomy,boss,bossage,bossdom,bossed,bosser,bosset,bossing,bossism,bosslet,bossy,boston,bostryx,bosun,bot,bota,botanic,botany,botargo,botch,botched,botcher,botchka,botchy,bote,botella,boterol,botfly,both,bother,bothros,bothway,bothy,botonee,botong,bott,bottine,bottle,bottled,bottler,bottom,botulin,bouchal,bouche,boucher,boud,boudoir,bougar,bouge,bouget,bough,boughed,bought,boughy,bougie,bouk,boukit,boulder,boule,boultel,boulter,boun,bounce,bouncer,bound,bounded,bounden,bounder,boundly,bounty,bouquet,bourbon,bourd,bourder,bourdon,bourg,bourn,bourock,bourse,bouse,bouser,bousy,bout,boutade,bouto,bouw,bovate,bovid,bovine,bovoid,bow,bowable,bowback,bowbent,bowboy,bowed,bowel,boweled,bowels,bower,bowery,bowet,bowfin,bowhead,bowie,bowing,bowk,bowkail,bowker,bowknot,bowl,bowla,bowleg,bowler,bowless,bowlful,bowlike,bowline,bowling,bowls,bowly,bowman,bowpin,bowshot,bowwood,bowwort,bowwow,bowyer,boxbush,boxcar,boxen,boxer,boxfish,boxful,boxhaul,boxhead,boxing,boxlike,boxman,boxty,boxwood,boxwork,boxy,boy,boyang,boyar,boyard,boycott,boydom,boyer,boyhood,boyish,boyism,boyla,boylike,boyship,boza,bozal,bozo,bozze,bra,brab,brabant,brabble,braca,braccia,braccio,brace,braced,bracer,bracero,braces,brach,brachet,bracing,brack,bracken,bracker,bracket,bracky,bract,bractea,bracted,brad,bradawl,bradsot,brae,braeman,brag,braggat,bragger,bragget,bragite,braid,braided,braider,brail,brain,brainer,brainge,brains,brainy,braird,brairo,braise,brake,braker,brakie,braky,bramble,brambly,bran,branch,branchi,branchy,brand,branded,brander,brandy,brangle,branial,brank,brankie,branle,branner,branny,bransle,brant,brash,brashy,brasque,brass,brasse,brasser,brasset,brassic,brassie,brassy,brat,brattie,brattle,brauna,bravade,bravado,brave,bravely,braver,bravery,braving,bravish,bravo,bravura,braw,brawl,brawler,brawly,brawlys,brawn,brawned,brawner,brawny,braws,braxy,bray,brayer,brayera,braza,braze,brazen,brazer,brazera,brazier,brazil,breach,breachy,bread,breaden,breadth,breaghe,break,breakax,breaker,breakup,bream,breards,breast,breath,breathe,breathy,breba,breccia,brecham,breck,brecken,bred,brede,bredi,bree,breech,breed,breeder,breedy,breek,breeze,breezy,bregma,brehon,brei,brekkle,brelaw,breme,bremely,brent,brephic,bret,breth,brett,breva,breve,brevet,brevier,brevit,brevity,brew,brewage,brewer,brewery,brewing,brewis,brewst,brey,briar,bribe,bribee,briber,bribery,brichen,brick,brickel,bricken,brickle,brickly,bricky,bricole,bridal,bridale,bride,bridely,bridge,bridged,bridger,bridle,bridled,bridler,bridoon,brief,briefly,briefs,brier,briered,briery,brieve,brig,brigade,brigand,bright,brill,brills,brim,brimful,briming,brimmed,brimmer,brin,brine,briner,bring,bringal,bringer,brinish,brinjal,brink,briny,brioche,brique,brisk,brisken,brisket,briskly,brisque,briss,bristle,bristly,brisure,brit,brith,brither,britska,britten,brittle,brizz,broach,broad,broadax,broaden,broadly,brob,brocade,brocard,broch,brochan,broche,brocho,brock,brocked,brocket,brockle,brod,brodder,brog,brogan,brogger,broggle,brogue,broguer,broider,broigne,broil,broiler,brokage,broke,broken,broker,broking,brolga,broll,brolly,broma,bromal,bromate,brome,bromic,bromide,bromine,bromism,bromite,bromize,bromoil,bromol,bromous,bronc,bronchi,bronco,bronk,bronze,bronzed,bronzen,bronzer,bronzy,broo,brooch,brood,brooder,broody,brook,brooked,brookie,brooky,brool,broom,broomer,broomy,broon,broose,brose,brosot,brosy,brot,brotan,brotany,broth,brothel,brother,brothy,brough,brought,brow,browden,browed,browis,browman,brown,browner,brownie,brownly,browny,browse,browser,browst,bruang,brucia,brucina,brucine,brucite,bruckle,brugh,bruin,bruise,bruiser,bruit,bruiter,bruke,brulee,brulyie,brumal,brumby,brume,brumous,brunch,brunet,brunt,bruscus,brush,brushed,brusher,brushes,brushet,brushy,brusque,brustle,brut,brutage,brutal,brute,brutely,brutify,bruting,brutish,brutism,brutter,bruzz,bryonin,bryony,bu,bual,buaze,bub,buba,bubal,bubalis,bubble,bubbler,bubbly,bubby,bubinga,bubo,buboed,bubonic,bubukle,bucare,bucca,buccal,buccan,buccate,buccina,buccula,buchite,buchu,buck,bucked,buckeen,bucker,bucket,buckety,buckeye,buckie,bucking,buckish,buckle,buckled,buckler,bucklum,bucko,buckpot,buckra,buckram,bucksaw,bucky,bucolic,bucrane,bud,buda,buddage,budder,buddhi,budding,buddle,buddler,buddy,budge,budger,budget,budless,budlet,budlike,budmash,budtime,budwood,budworm,budzat,bufagin,buff,buffalo,buffed,buffer,buffet,buffing,buffle,buffont,buffoon,buffy,bufidin,bufo,bug,bugaboo,bugan,bugbane,bugbear,bugbite,bugdom,bugfish,bugger,buggery,buggy,bughead,bugle,bugled,bugler,buglet,bugloss,bugre,bugseed,bugweed,bugwort,buhl,buhr,build,builder,buildup,built,buirdly,buisson,buist,bukh,bukshi,bulak,bulb,bulbar,bulbed,bulbil,bulblet,bulbose,bulbous,bulbul,bulbule,bulby,bulchin,bulge,bulger,bulgy,bulimia,bulimic,bulimy,bulk,bulked,bulker,bulkily,bulkish,bulky,bull,bulla,bullace,bullan,bullary,bullate,bullbat,bulldog,buller,bullet,bullety,bulling,bullion,bullish,bullism,bullit,bullnut,bullock,bullous,bullule,bully,bulrush,bulse,bult,bulter,bultey,bultong,bultow,bulwand,bulwark,bum,bumbaze,bumbee,bumble,bumbler,bumbo,bumboat,bumicky,bummalo,bummed,bummer,bummie,bumming,bummler,bummock,bump,bumpee,bumper,bumpily,bumping,bumpkin,bumpy,bumtrap,bumwood,bun,buna,buncal,bunce,bunch,buncher,bunchy,bund,bunder,bundle,bundler,bundlet,bundook,bundy,bung,bungee,bungey,bungfu,bungle,bungler,bungo,bungy,bunion,bunk,bunker,bunkery,bunkie,bunko,bunkum,bunnell,bunny,bunt,buntal,bunted,bunter,bunting,bunton,bunty,bunya,bunyah,bunyip,buoy,buoyage,buoyant,bur,buran,burao,burbank,burbark,burble,burbler,burbly,burbot,burbush,burd,burden,burdie,burdock,burdon,bure,bureau,bureaux,burel,burele,buret,burette,burfish,burg,burgage,burgall,burgee,burgeon,burgess,burgh,burghal,burgher,burglar,burgle,burgoo,burgul,burgus,burhead,buri,burial,burian,buried,burier,burin,burion,buriti,burka,burke,burker,burl,burlap,burled,burler,burlet,burlily,burly,burmite,burn,burned,burner,burnet,burnie,burning,burnish,burnous,burnout,burnt,burnut,burny,buro,burp,burr,burrah,burred,burrel,burrer,burring,burrish,burrito,burro,burrow,burry,bursa,bursal,bursar,bursary,bursate,burse,burseed,burst,burster,burt,burton,burucha,burweed,bury,burying,bus,busby,buscarl,bush,bushed,bushel,busher,bushful,bushi,bushily,bushing,bushlet,bushwa,bushy,busied,busily,busine,busk,busked,busker,busket,buskin,buskle,busky,busman,buss,busser,bussock,bussu,bust,bustard,busted,bustee,buster,bustic,bustle,bustled,bustler,busy,busying,busyish,but,butanal,butane,butanol,butch,butcher,butein,butene,butenyl,butic,butine,butler,butlery,butment,butoxy,butoxyl,butt,butte,butter,buttery,butting,buttle,buttock,button,buttons,buttony,butty,butyl,butylic,butyne,butyr,butyral,butyric,butyrin,butyryl,buxerry,buxom,buxomly,buy,buyable,buyer,buzane,buzz,buzzard,buzzer,buzzies,buzzing,buzzle,buzzwig,buzzy,by,bycoket,bye,byee,byeman,byepath,byerite,bygane,bygo,bygoing,bygone,byhand,bylaw,byname,byon,byous,byously,bypass,bypast,bypath,byplay,byre,byreman,byrlaw,byrnie,byroad,byrrus,bysen,byspell,byssal,byssin,byssine,byssoid,byssus,byth,bytime,bywalk,byway,bywoner,byword,bywork,c,ca,caam,caama,caaming,caapeba,cab,caba,cabaan,caback,cabaho,cabal,cabala,cabalic,caban,cabana,cabaret,cabas,cabbage,cabbagy,cabber,cabble,cabbler,cabby,cabda,caber,cabezon,cabin,cabinet,cabio,cable,cabled,cabler,cablet,cabling,cabman,cabob,cabocle,cabook,caboose,cabot,cabree,cabrit,cabuya,cacam,cacao,cachaza,cache,cachet,cachexy,cachou,cachrys,cacique,cack,cackle,cackler,cacodyl,cacoepy,caconym,cacoon,cacti,cactoid,cacur,cad,cadamba,cadaver,cadbait,cadbit,cadbote,caddice,caddie,caddis,caddish,caddle,caddow,caddy,cade,cadelle,cadence,cadency,cadent,cadenza,cader,caderas,cadet,cadetcy,cadette,cadew,cadge,cadger,cadgily,cadgy,cadi,cadism,cadjan,cadlock,cadmia,cadmic,cadmide,cadmium,cados,cadrans,cadre,cadua,caduac,caduca,cadus,cadweed,caeca,caecal,caecum,caeoma,caesura,cafeneh,cafenet,caffa,caffeic,caffeol,caffiso,caffle,caffoy,cafh,cafiz,caftan,cag,cage,caged,cageful,cageman,cager,cagey,caggy,cagily,cagit,cagmag,cahiz,cahoot,cahot,cahow,caickle,caid,caiman,caimito,cain,caique,caird,cairn,cairned,cairny,caisson,caitiff,cajeput,cajole,cajoler,cajuela,cajun,cajuput,cake,cakebox,caker,cakette,cakey,caky,cal,calaba,calaber,calade,calais,calalu,calamus,calash,calcar,calced,calcic,calcify,calcine,calcite,calcium,calculi,calden,caldron,calean,calends,calepin,calf,calfish,caliber,calibre,calices,calicle,calico,calid,caliga,caligo,calinda,calinut,calipee,caliper,caliph,caliver,calix,calk,calkage,calker,calkin,calking,call,callant,callboy,caller,callet,calli,callid,calling,callo,callose,callous,callow,callus,calm,calmant,calmer,calmly,calmy,calomba,calomel,calool,calor,caloric,calorie,caloris,calotte,caloyer,calp,calpac,calpack,caltrap,caltrop,calumba,calumet,calumny,calve,calved,calver,calves,calvish,calvity,calvous,calx,calyces,calycle,calymma,calypso,calyx,cam,camaca,camagon,camail,caman,camansi,camara,camass,camata,camb,cambaye,camber,cambial,cambism,cambist,cambium,cambrel,cambuca,came,cameist,camel,camelry,cameo,camera,cameral,camilla,camion,camise,camisia,camlet,cammed,cammock,camoodi,camp,campana,campane,camper,campho,camphol,camphor,campion,cample,campo,campody,campoo,campus,camus,camused,camwood,can,canaba,canada,canadol,canal,canamo,canape,canard,canari,canarin,canary,canasta,canaut,cancan,cancel,cancer,canch,cancrum,cand,candela,candent,candid,candied,candier,candify,candiru,candle,candler,candock,candor,candroy,candy,candys,cane,canel,canella,canelo,caner,canette,canful,cangan,cangia,cangle,cangler,cangue,canhoop,canid,canille,caninal,canine,caninus,canions,canjac,cank,canker,cankery,canman,canna,cannach,canned,cannel,canner,cannery,cannet,cannily,canning,cannon,cannot,cannula,canny,canoe,canon,canonic,canonry,canopic,canopy,canroy,canso,cant,cantala,cantar,cantara,cantaro,cantata,canted,canteen,canter,canthal,canthus,cantic,cantico,cantily,cantina,canting,cantion,cantish,cantle,cantlet,canto,canton,cantoon,cantor,cantred,cantref,cantrip,cantus,canty,canun,canvas,canvass,cany,canyon,canzon,caoba,cap,capable,capably,capanna,capanne,capax,capcase,cape,caped,capel,capelet,capelin,caper,caperer,capes,capful,caph,caphar,caphite,capias,capicha,capital,capitan,capivi,capkin,capless,caplin,capman,capmint,capomo,capon,caporal,capot,capote,capped,capper,cappie,capping,capple,cappy,caprate,capreol,capric,caprice,caprid,caprin,caprine,caproic,caproin,caprone,caproyl,capryl,capsa,capsid,capsize,capstan,capsula,capsule,captain,caption,captive,captor,capture,capuche,capulet,capulin,car,carabao,carabid,carabin,carabus,caracal,caracol,caract,carafe,caraibe,caraipi,caramba,caramel,caranda,carane,caranna,carapax,carapo,carat,caratch,caravan,caravel,caraway,carbarn,carbeen,carbene,carbide,carbine,carbo,carbon,carbona,carbora,carboxy,carboy,carbro,carbure,carbyl,carcake,carcass,carceag,carcel,carcoon,card,cardecu,carded,cardel,carder,cardia,cardiac,cardial,cardin,carding,cardo,cardol,cardon,cardona,cardoon,care,careen,career,careful,carene,carer,caress,carest,caret,carfare,carfax,carful,carga,cargo,carhop,cariama,caribou,carid,caries,carina,carinal,cariole,carious,cark,carking,carkled,carl,carless,carlet,carlie,carlin,carline,carling,carlish,carload,carlot,carls,carman,carmele,carmine,carmot,carnage,carnal,carnate,carneol,carney,carnic,carnify,carnose,carnous,caroa,carob,caroba,caroche,carol,caroler,caroli,carolin,carolus,carom,carone,caronic,caroome,caroon,carotic,carotid,carotin,carouse,carp,carpal,carpale,carpel,carpent,carper,carpet,carpid,carping,carpium,carport,carpos,carpus,carr,carrack,carrel,carrick,carried,carrier,carrion,carrizo,carroch,carrot,carroty,carrow,carry,carse,carshop,carsick,cart,cartage,carte,cartel,carter,cartful,cartman,carton,cartoon,cartway,carty,carua,carucal,carval,carve,carvel,carven,carvene,carver,carving,carvol,carvone,carvyl,caryl,casaba,casabe,casal,casalty,casate,casaun,casava,casave,casavi,casbah,cascade,cascado,cascara,casco,cascol,case,casease,caseate,casebox,cased,caseful,casefy,caseic,casein,caseose,caseous,caser,casern,caseum,cash,casha,cashaw,cashbox,cashboy,cashel,cashew,cashier,casing,casino,casiri,cask,casket,casking,casque,casqued,casquet,cass,cassady,casse,cassena,cassia,cassie,cassina,cassine,cassino,cassis,cassock,casson,cassoon,cast,caste,caster,castice,casting,castle,castled,castlet,castock,castoff,castor,castory,castra,castral,castrum,castuli,casual,casuary,casuist,casula,cat,catalpa,catan,catapan,cataria,catarrh,catasta,catbird,catboat,catcall,catch,catcher,catchup,catchy,catclaw,catdom,cate,catechu,catella,catena,catenae,cater,cateran,caterer,caterva,cateye,catface,catfall,catfish,catfoot,catgut,cathead,cathect,catheti,cathin,cathine,cathion,cathode,cathole,cathood,cathop,cathro,cation,cativo,catjang,catkin,catlap,catlike,catlin,catling,catmint,catnip,catpipe,catskin,catstep,catsup,cattabu,cattail,cattalo,cattery,cattily,catting,cattish,cattle,catty,catvine,catwalk,catwise,catwood,catwort,caubeen,cauboge,cauch,caucho,caucus,cauda,caudad,caudae,caudal,caudata,caudate,caudex,caudle,caught,cauk,caul,cauld,caules,cauline,caulis,caulome,caulote,caum,cauma,caunch,caup,caupo,caurale,causal,causate,cause,causer,causey,causing,causse,causson,caustic,cautel,cauter,cautery,caution,cautivo,cava,cavae,caval,cavalla,cavalry,cavate,cave,caveat,cavel,cavelet,cavern,cavetto,caviar,cavie,cavil,caviler,caving,cavings,cavish,cavity,caviya,cavort,cavus,cavy,caw,cawk,cawky,cawney,cawquaw,caxiri,caxon,cay,cayenne,cayman,caza,cazimi,ce,cearin,cease,ceasmic,cebell,cebian,cebid,cebil,cebine,ceboid,cebur,cecils,cecity,cedar,cedared,cedarn,cedary,cede,cedent,ceder,cedilla,cedrat,cedrate,cedre,cedrene,cedrin,cedrine,cedrium,cedrol,cedron,cedry,cedula,cee,ceibo,ceil,ceile,ceiler,ceilidh,ceiling,celadon,celemin,celery,celesta,celeste,celiac,celite,cell,cella,cellae,cellar,celled,cellist,cello,celloid,cellose,cellule,celsian,celt,celtium,celtuce,cembalo,cement,cenacle,cendre,cenoby,cense,censer,censive,censor,censual,censure,census,cent,centage,cental,centare,centaur,centavo,centena,center,centiar,centile,centime,centimo,centner,cento,centrad,central,centric,centrum,centry,centum,century,ceorl,cep,cepa,cepe,cephid,ceps,ceptor,cequi,cerago,ceral,ceramal,ceramic,ceras,cerasin,cerata,cerate,cerated,cercal,cerci,cercus,cere,cereal,cerebra,cered,cereous,cerer,ceresin,cerevis,ceria,ceric,ceride,cerillo,ceriman,cerin,cerine,ceriops,cerise,cerite,cerium,cermet,cern,cero,ceroma,cerote,cerotic,cerotin,cerous,cerrero,cerrial,cerris,certain,certie,certify,certis,certy,cerule,cerumen,ceruse,cervid,cervine,cervix,cervoid,ceryl,cesious,cesium,cess,cesser,cession,cessor,cesspit,cest,cestode,cestoid,cestrum,cestus,cetane,cetene,ceti,cetic,cetin,cetyl,cetylic,cevine,cha,chaa,chab,chabot,chabouk,chabuk,chacate,chack,chacker,chackle,chacma,chacona,chacte,chad,chaeta,chafe,chafer,chafery,chaff,chaffer,chaffy,chaft,chafted,chagan,chagrin,chaguar,chagul,chahar,chai,chain,chained,chainer,chainon,chair,chairer,chais,chaise,chaitya,chaja,chaka,chakar,chakari,chakazi,chakdar,chakobu,chakra,chakram,chaksi,chal,chalaco,chalana,chalaza,chalaze,chalcid,chalcon,chalcus,chalder,chalet,chalice,chalk,chalker,chalky,challah,challie,challis,chalmer,chalon,chalone,chalque,chalta,chalutz,cham,chamal,chamar,chamber,chambul,chamfer,chamiso,chamite,chamma,chamois,champ,champac,champer,champy,chance,chancel,chancer,chanche,chanco,chancre,chancy,chandam,chandi,chandoo,chandu,chandul,chang,changa,changar,change,changer,chank,channel,channer,chanson,chanst,chant,chanter,chantey,chantry,chao,chaos,chaotic,chap,chapah,chape,chapeau,chaped,chapel,chapin,chaplet,chapman,chapped,chapper,chappie,chappin,chappow,chappy,chaps,chapt,chapter,char,charac,charade,charas,charbon,chard,chare,charer,charet,charge,chargee,charger,charier,charily,chariot,charism,charity,chark,charka,charkha,charm,charmel,charmer,charnel,charpit,charpoy,charqui,charr,charry,chart,charter,charuk,chary,chase,chaser,chasing,chasm,chasma,chasmal,chasmed,chasmic,chasmy,chasse,chassis,chaste,chasten,chat,chataka,chateau,chati,chatta,chattel,chatter,chatty,chauk,chaus,chaute,chauth,chavish,chaw,chawan,chawer,chawk,chawl,chay,chaya,chayote,chazan,che,cheap,cheapen,cheaply,cheat,cheatee,cheater,chebec,chebel,chebog,chebule,check,checked,checker,checkup,checky,cheder,chee,cheecha,cheek,cheeker,cheeky,cheep,cheeper,cheepy,cheer,cheered,cheerer,cheerio,cheerly,cheery,cheese,cheeser,cheesy,cheet,cheetah,cheeter,cheetie,chef,chegoe,chegre,cheir,chekan,cheke,cheki,chekmak,chela,chelate,chelem,chelide,chello,chelone,chelp,chelys,chemic,chemis,chemise,chemism,chemist,chena,chende,cheng,chenica,cheque,cherem,cherish,cheroot,cherry,chert,cherte,cherty,cherub,chervil,cheson,chess,chessel,chesser,chest,chester,chesty,cheth,chettik,chetty,chevage,cheval,cheve,cheven,chevin,chevise,chevon,chevron,chevy,chew,chewer,chewink,chewy,cheyney,chhatri,chi,chia,chiasm,chiasma,chiaus,chibouk,chibrit,chic,chicane,chichi,chick,chicken,chicker,chicky,chicle,chico,chicory,chicot,chicote,chid,chidden,chide,chider,chiding,chidra,chief,chiefly,chield,chien,chiffer,chiffon,chiggak,chigger,chignon,chigoe,chih,chihfu,chikara,chil,child,childe,childed,childly,chile,chili,chiliad,chill,chilla,chilled,chiller,chillo,chillum,chilly,chiloma,chilver,chimble,chime,chimer,chimera,chimney,chin,china,chinar,chinch,chincha,chinche,chine,chined,ching,chingma,chinik,chinin,chink,chinker,chinkle,chinks,chinky,chinnam,chinned,chinny,chino,chinoa,chinol,chinse,chint,chintz,chip,chiplet,chipped,chipper,chippy,chips,chiral,chirata,chiripa,chirk,chirm,chiro,chirp,chirper,chirpy,chirr,chirrup,chisel,chit,chitak,chital,chitin,chiton,chitose,chitra,chitter,chitty,chive,chivey,chkalik,chlamyd,chlamys,chlor,chloral,chlore,chloric,chloryl,cho,choana,choate,choaty,chob,choca,chocard,chocho,chock,chocker,choel,choenix,choffer,choga,chogak,chogset,choice,choicy,choil,choiler,choir,chokage,choke,choker,choking,chokra,choky,chol,chola,cholane,cholate,chold,choleic,choler,cholera,choli,cholic,choline,cholla,choller,cholum,chomp,chondre,chonta,choop,choose,chooser,choosy,chop,chopa,chopin,chopine,chopped,chopper,choppy,choragy,choral,chord,chorda,chordal,chorded,chore,chorea,choreal,choree,choregy,choreic,choreus,chorial,choric,chorine,chorion,chorism,chorist,chorogi,choroid,chorook,chort,chorten,chortle,chorus,choryos,chose,chosen,chott,chough,chouka,choup,chous,chouse,chouser,chow,chowder,chowk,chowry,choya,chria,chrism,chrisma,chrisom,chroma,chrome,chromic,chromid,chromo,chromy,chromyl,chronal,chronic,chrotta,chrysal,chrysid,chrysin,chub,chubbed,chubby,chuck,chucker,chuckle,chucky,chuddar,chufa,chuff,chuffy,chug,chugger,chuhra,chukar,chukker,chukor,chulan,chullpa,chum,chummer,chummy,chump,chumpy,chun,chunari,chunga,chunk,chunky,chunner,chunnia,chunter,chupak,chupon,church,churchy,churel,churl,churled,churly,churm,churn,churr,churrus,chut,chute,chuter,chutney,chyack,chyak,chyle,chylify,chyloid,chylous,chymase,chyme,chymia,chymic,chymify,chymous,chypre,chytra,chytrid,cibol,cibory,ciboule,cicad,cicada,cicadid,cicala,cicely,cicer,cichlid,cidarid,cidaris,cider,cig,cigala,cigar,cigua,cilia,ciliary,ciliate,cilice,cilium,cimbia,cimelia,cimex,cimicid,cimline,cinch,cincher,cinclis,cinct,cinder,cindery,cine,cinel,cinema,cinene,cineole,cinerea,cingle,cinnyl,cinque,cinter,cinuran,cion,cipher,cipo,cipolin,cippus,circa,circle,circled,circler,circlet,circuit,circus,circusy,cirque,cirrate,cirri,cirrose,cirrous,cirrus,cirsoid,ciruela,cisco,cise,cisele,cissing,cissoid,cist,cista,cistae,cisted,cistern,cistic,cit,citable,citadel,citator,cite,citee,citer,citess,cithara,cither,citied,citify,citizen,citole,citral,citrate,citrean,citrene,citric,citril,citrin,citrine,citron,citrous,citrus,cittern,citua,city,citydom,cityful,cityish,cive,civet,civic,civics,civil,civilly,civism,civvy,cixiid,clabber,clachan,clack,clacker,clacket,clad,cladine,cladode,cladose,cladus,clag,claggum,claggy,claim,claimer,clairce,claith,claiver,clam,clamant,clamb,clamber,clame,clamer,clammed,clammer,clammy,clamor,clamp,clamper,clan,clang,clangor,clank,clanned,clap,clapnet,clapped,clapper,clapt,claque,claquer,clarain,claret,clarify,clarin,clarion,clarity,clark,claro,clart,clarty,clary,clash,clasher,clashy,clasp,clasper,claspt,class,classed,classer,classes,classic,classis,classy,clastic,clat,clatch,clatter,clatty,claught,clausal,clause,claut,clava,claval,clavate,clave,clavel,claver,clavial,clavier,claviol,clavis,clavola,clavus,clavy,claw,clawed,clawer,clawk,clawker,clay,clayen,clayer,clayey,clayish,clayman,claypan,cleach,clead,cleaded,cleam,cleamer,clean,cleaner,cleanly,cleanse,cleanup,clear,clearer,clearly,cleat,cleave,cleaver,cleche,cleck,cled,cledge,cledgy,clee,cleek,cleeked,cleeky,clef,cleft,clefted,cleg,clem,clement,clench,cleoid,clep,clergy,cleric,clerid,clerisy,clerk,clerkly,cleruch,cletch,cleuch,cleve,clever,clevis,clew,cliack,cliche,click,clicker,clicket,clicky,cliency,client,cliff,cliffed,cliffy,clift,clifty,clima,climata,climate,climath,climax,climb,climber,clime,clinal,clinch,cline,cling,clinger,clingy,clinia,clinic,clinium,clink,clinker,clinkum,clinoid,clint,clinty,clip,clipei,clipeus,clipped,clipper,clips,clipse,clipt,clique,cliquy,clisere,clit,clitch,clite,clites,clithe,clitia,clition,clitter,clival,clive,clivers,clivis,clivus,cloaca,cloacal,cloak,cloaked,cloam,cloamen,cloamer,clobber,clochan,cloche,clocher,clock,clocked,clocker,clod,clodder,cloddy,clodlet,cloff,clog,clogger,cloggy,cloghad,clogwyn,cloit,clomb,clomben,clonal,clone,clonic,clonism,clonus,cloof,cloop,cloot,clootie,clop,close,closed,closely,closen,closer,closet,closh,closish,closter,closure,clot,clotbur,clote,cloth,clothe,clothes,clothy,clotter,clotty,cloture,cloud,clouded,cloudy,clough,clour,clout,clouted,clouter,clouty,clove,cloven,clovene,clover,clovery,clow,clown,cloy,cloyer,cloying,club,clubbed,clubber,clubby,clubdom,clubman,cluck,clue,cluff,clump,clumpy,clumse,clumsy,clunch,clung,clunk,clupeid,cluster,clutch,cluther,clutter,cly,clyer,clype,clypeal,clypeus,clysis,clysma,clysmic,clyster,cnemial,cnemis,cnicin,cnida,coabode,coach,coachee,coacher,coachy,coact,coactor,coadapt,coadmit,coadore,coaged,coagent,coagula,coaid,coaita,coak,coakum,coal,coalbag,coalbin,coalbox,coaler,coalify,coalize,coalpit,coaly,coaming,coannex,coapt,coarb,coarse,coarsen,coast,coastal,coaster,coat,coated,coatee,coater,coati,coatie,coating,coax,coaxal,coaxer,coaxial,coaxing,coaxy,cob,cobaea,cobalt,cobang,cobbed,cobber,cobbing,cobble,cobbler,cobbly,cobbra,cobby,cobcab,cobego,cobhead,cobia,cobiron,coble,cobless,cobloaf,cobnut,cobola,cobourg,cobra,coburg,cobweb,cobwork,coca,cocaine,cocash,cocause,coccal,cocci,coccid,cocco,coccoid,coccous,coccule,coccus,coccyx,cochal,cochief,cochlea,cock,cockade,cockal,cocked,cocker,cocket,cockeye,cockily,cocking,cockish,cockle,cockled,cockler,cocklet,cockly,cockney,cockpit,cockshy,cockup,cocky,coco,cocoa,cocoach,coconut,cocoon,cocotte,coctile,coction,cocuisa,cocullo,cocuyo,cod,coda,codbank,codder,codding,coddle,coddler,code,codeine,coder,codex,codfish,codger,codhead,codical,codices,codicil,codify,codilla,codille,codist,codling,codman,codo,codol,codon,codworm,coe,coecal,coecum,coed,coelar,coelder,coelect,coelho,coelia,coeliac,coelian,coelin,coeline,coelom,coeloma,coempt,coenact,coenjoy,coenobe,coequal,coerce,coercer,coetus,coeval,coexert,coexist,coff,coffee,coffer,coffin,coffle,coffret,coft,cog,cogence,cogency,cogener,cogent,cogged,cogger,coggie,cogging,coggle,coggly,coghle,cogman,cognac,cognate,cognize,cogon,cogonal,cograil,cogroad,cogue,cogway,cogwood,cohabit,coheir,cohere,coherer,cohibit,coho,cohoba,cohol,cohort,cohosh,cohune,coif,coifed,coign,coigue,coil,coiled,coiler,coiling,coin,coinage,coiner,coinfer,coining,cointer,coiny,coir,coital,coition,coiture,coitus,cojudge,cojuror,coke,cokeman,coker,cokery,coking,coky,col,cola,colane,colarin,colate,colauxe,colback,cold,colder,coldish,coldly,cole,coletit,coleur,coli,colibri,colic,colical,colicky,colima,colin,coling,colitic,colitis,colk,coll,collage,collar,collard,collare,collate,collaud,collect,colleen,college,collery,collet,colley,collide,collie,collied,collier,collin,colline,colling,collins,collock,colloid,collop,collude,collum,colly,collyba,colmar,colobin,colon,colonel,colonic,colony,color,colored,colorer,colorin,colors,colory,coloss,colossi,colove,colp,colpeo,colport,colpus,colt,colter,coltish,colugo,columbo,column,colunar,colure,coly,colyone,colytic,colyum,colza,coma,comaker,comal,comamie,comanic,comart,comate,comb,combat,combed,comber,combine,combing,comble,comboy,combure,combust,comby,come,comedic,comedo,comedy,comely,comenic,comer,comes,comet,cometic,comfit,comfort,comfrey,comfy,comic,comical,comicry,coming,comino,comism,comital,comitia,comity,comma,command,commend,comment,commie,commit,commix,commixt,commode,common,commons,commot,commove,communa,commune,commute,comoid,comose,comourn,comous,compact,company,compare,compart,compass,compear,compeer,compel,compend,compete,compile,complex,complin,complot,comply,compo,compoer,compole,compone,compony,comport,compos,compose,compost,compote,compreg,compter,compute,comrade,con,conacre,conal,conamed,conatus,concave,conceal,concede,conceit,concent,concept,concern,concert,conch,concha,conchal,conche,conched,concher,conchy,concile,concise,concoct,concord,concupy,concur,concuss,cond,condemn,condign,condite,condole,condone,condor,conduce,conduct,conduit,condyle,cone,coned,coneen,coneine,conelet,coner,cones,confab,confact,confect,confess,confide,confine,confirm,confix,conflow,conflux,conform,confuse,confute,conga,congeal,congee,conger,congest,congius,congou,conic,conical,conicle,conics,conidia,conifer,conima,conin,conine,conject,conjoin,conjure,conjury,conk,conker,conkers,conky,conn,connach,connate,connect,conner,connex,conning,connive,connote,conoid,conopid,conquer,conred,consent,consign,consist,consol,console,consort,conspue,constat,consul,consult,consume,consute,contact,contain,conte,contect,contemn,content,conter,contest,context,contise,conto,contort,contour,contra,control,contund,contuse,conure,conus,conusee,conusor,conuzee,conuzor,convect,convene,convent,convert,conveth,convex,convey,convict,convive,convoke,convoy,cony,coo,cooba,coodle,cooee,cooer,coof,cooing,cooja,cook,cookdom,cookee,cooker,cookery,cooking,cookish,cookout,cooky,cool,coolant,coolen,cooler,coolie,cooling,coolish,coolly,coolth,coolung,cooly,coom,coomb,coomy,coon,cooncan,coonily,coontie,coony,coop,cooper,coopery,cooree,coorie,cooser,coost,coot,cooter,coothay,cootie,cop,copa,copable,copaene,copaiba,copaiye,copal,copalm,copart,coparty,cope,copei,copeman,copen,copepod,coper,coperta,copied,copier,copilot,coping,copious,copis,copist,copita,copolar,copped,copper,coppery,coppet,coppice,coppin,copping,copple,coppled,coppy,copr,copra,coprose,copse,copsing,copsy,copter,copula,copular,copus,copy,copycat,copyism,copyist,copyman,coque,coquet,coquina,coquita,coquito,cor,cora,corach,coracle,corah,coraise,coral,coraled,coram,coranto,corban,corbeau,corbeil,corbel,corbie,corbula,corcass,corcir,cord,cordage,cordant,cordate,cordax,corded,cordel,corder,cordial,cordies,cording,cordite,cordoba,cordon,cordy,cordyl,core,corebel,cored,coreid,coreign,corella,corer,corf,corge,corgi,corial,coriin,coring,corinne,corium,cork,corkage,corke,corked,corker,corking,corkish,corkite,corky,corm,cormel,cormoid,cormous,cormus,corn,cornage,cornbin,corncob,cornea,corneal,cornein,cornel,corner,cornet,corneum,cornic,cornice,cornin,corning,cornu,cornual,cornule,cornute,cornuto,corny,coroa,corody,corol,corolla,corona,coronad,coronae,coronal,coroner,coronet,corozo,corp,corpora,corps,corpse,corpus,corrade,corral,correal,correct,corrie,corrige,corrode,corrupt,corsac,corsage,corsair,corse,corset,corsie,corsite,corta,cortege,cortex,cortez,cortin,cortina,coruco,coruler,corupay,corver,corvina,corvine,corvoid,coryl,corylin,corymb,coryza,cos,cosaque,coscet,coseat,cosec,cosech,coseism,coset,cosh,cosher,coshery,cosily,cosine,cosmic,cosmism,cosmist,cosmos,coss,cossas,cosse,cosset,cossid,cost,costa,costal,costar,costard,costate,costean,coster,costing,costive,costly,costrel,costula,costume,cosy,cot,cotch,cote,coteful,coterie,coth,cothe,cothish,cothon,cothurn,cothy,cotidal,cotise,cotland,cotman,coto,cotoin,cotoro,cotrine,cotset,cotta,cottage,cotte,cotted,cotter,cottid,cottier,cottoid,cotton,cottony,cotty,cotuit,cotula,cotutor,cotwin,cotwist,cotyla,cotylar,cotype,couac,coucal,couch,couched,couchee,coucher,couchy,coude,coudee,coue,cougar,cough,cougher,cougnar,coul,could,coulee,coulomb,coulure,couma,coumara,council,counite,counsel,count,counter,countor,country,county,coup,coupage,coupe,couped,coupee,couper,couple,coupled,coupler,couplet,coupon,coupure,courage,courant,courap,courb,courge,courida,courier,couril,courlan,course,coursed,courser,court,courter,courtin,courtly,cousin,cousiny,coutel,couter,couth,couthie,coutil,couvade,couxia,covado,cove,coved,covent,cover,covered,coverer,covert,covet,coveter,covey,covid,covin,coving,covisit,covite,cow,cowal,coward,cowardy,cowbane,cowbell,cowbind,cowbird,cowboy,cowdie,coween,cower,cowfish,cowgate,cowgram,cowhage,cowheel,cowherb,cowherd,cowhide,cowhorn,cowish,cowitch,cowl,cowle,cowled,cowlick,cowlike,cowling,cowman,cowpath,cowpea,cowpen,cowpock,cowpox,cowrie,cowroid,cowshed,cowskin,cowslip,cowtail,cowweed,cowy,cowyard,cox,coxa,coxal,coxcomb,coxite,coxitis,coxy,coy,coyan,coydog,coyish,coyly,coyness,coynye,coyo,coyol,coyote,coypu,coyure,coz,coze,cozen,cozener,cozier,cozily,cozy,crab,crabbed,crabber,crabby,craber,crablet,crabman,crack,cracked,cracker,crackle,crackly,cracky,craddy,cradge,cradle,cradler,craft,crafty,crag,craggan,cragged,craggy,craichy,crain,craisey,craizey,crajuru,crake,crakow,cram,crambe,crambid,cramble,crambly,crambo,crammer,cramp,cramped,cramper,crampet,crampon,crampy,cran,cranage,crance,crane,craner,craney,crania,craniad,cranial,cranian,cranic,cranium,crank,cranked,cranker,crankle,crankly,crankum,cranky,crannog,cranny,crants,crap,crapaud,crape,crappie,crappin,crapple,crappo,craps,crapy,crare,crash,crasher,crasis,crass,crassly,cratch,crate,crater,craunch,cravat,crave,craven,craver,craving,cravo,craw,crawdad,crawful,crawl,crawler,crawley,crawly,crawm,crawtae,crayer,crayon,craze,crazed,crazily,crazy,crea,creagh,creaght,creak,creaker,creaky,cream,creamer,creamy,creance,creant,crease,creaser,creasy,creat,create,creatic,creator,creche,credent,credit,cree,creed,creedal,creeded,creek,creeker,creeky,creel,creeler,creem,creen,creep,creeper,creepie,creepy,creese,creesh,creeshy,cremate,cremone,cremor,cremule,crena,crenate,crenel,crenele,crenic,crenula,creole,creosol,crepe,crepine,crepon,crept,crepy,cresol,cresoxy,cress,cressed,cresset,cresson,cressy,crest,crested,cresyl,creta,cretic,cretify,cretin,cretion,crevice,crew,crewel,crewer,crewman,crib,cribber,cribble,cribo,cribral,cric,crick,cricket,crickey,crickle,cricoid,cried,crier,criey,crig,crile,crime,crimine,crimp,crimper,crimple,crimpy,crimson,crin,crinal,crine,crined,crinet,cringe,cringer,cringle,crinite,crink,crinkle,crinkly,crinoid,crinose,crinula,cripes,cripple,cripply,crises,crisic,crisis,crisp,crisped,crisper,crisply,crispy,criss,crissal,crissum,crista,critch,crith,critic,crizzle,cro,croak,croaker,croaky,croc,crocard,croceic,crocein,croche,crochet,croci,crocin,crock,crocker,crocket,crocky,crocus,croft,crofter,crome,crone,cronet,cronish,cronk,crony,crood,croodle,crook,crooked,crooken,crookle,crool,croon,crooner,crop,cropman,croppa,cropper,croppie,croppy,croquet,crore,crosa,crosier,crosnes,cross,crosse,crossed,crosser,crossly,crotal,crotalo,crotch,crotchy,crotin,crottle,crotyl,crouch,croup,croupal,croupe,croupy,crouse,crout,croute,crouton,crow,crowbar,crowd,crowded,crowder,crowdy,crower,crowhop,crowing,crowl,crown,crowned,crowner,crowtoe,croy,croyden,croydon,croze,crozer,crozzle,crozzly,crubeen,cruce,cruces,cruche,crucial,crucian,crucify,crucily,cruck,crude,crudely,crudity,cruel,cruelly,cruels,cruelty,cruent,cruet,cruety,cruise,cruiser,cruive,cruller,crum,crumb,crumber,crumble,crumbly,crumby,crumen,crumlet,crummie,crummy,crump,crumper,crumpet,crumple,crumply,crumpy,crunch,crunchy,crunk,crunkle,crunode,crunt,cruor,crupper,crural,crureus,crus,crusade,crusado,cruse,crush,crushed,crusher,crusie,crusily,crust,crusta,crustal,crusted,cruster,crusty,crutch,cruth,crutter,crux,cry,cryable,crybaby,crying,cryogen,cryosel,crypt,crypta,cryptal,crypted,cryptic,crystal,crystic,csardas,ctene,ctenoid,cuadra,cuarta,cub,cubage,cubbing,cubbish,cubby,cubdom,cube,cubeb,cubelet,cuber,cubhood,cubi,cubic,cubica,cubical,cubicle,cubicly,cubism,cubist,cubit,cubital,cubited,cubito,cubitus,cuboid,cuck,cuckold,cuckoo,cuculla,cud,cudava,cudbear,cudden,cuddle,cuddly,cuddy,cudgel,cudweed,cue,cueball,cueca,cueist,cueman,cuerda,cuesta,cuff,cuffer,cuffin,cuffy,cuinage,cuir,cuirass,cuisine,cuisse,cuissen,cuisten,cuke,culbut,culebra,culet,culeus,culgee,culicid,cull,culla,cullage,culler,cullet,culling,cullion,cullis,cully,culm,culmen,culmy,culotte,culpa,culpose,culprit,cult,cultch,cultic,cultish,cultism,cultist,cultual,culture,cultus,culver,culvert,cum,cumal,cumay,cumbent,cumber,cumbha,cumbly,cumbre,cumbu,cumene,cumenyl,cumhal,cumic,cumidin,cumin,cuminal,cuminic,cuminol,cuminyl,cummer,cummin,cumol,cump,cumshaw,cumular,cumuli,cumulus,cumyl,cuneal,cuneate,cunette,cuneus,cunila,cunjah,cunjer,cunner,cunning,cunye,cuorin,cup,cupay,cupcake,cupel,cupeler,cupful,cuphead,cupidon,cupless,cupman,cupmate,cupola,cupolar,cupped,cupper,cupping,cuppy,cuprene,cupric,cupride,cuprite,cuproid,cuprose,cuprous,cuprum,cupseed,cupula,cupule,cur,curable,curably,curacao,curacy,curare,curate,curatel,curatic,curator,curb,curber,curbing,curby,curcas,curch,curd,curdle,curdler,curdly,curdy,cure,curer,curette,curfew,curial,curiate,curie,curin,curine,curing,curio,curiosa,curioso,curious,curite,curium,curl,curled,curler,curlew,curlike,curlily,curling,curly,curn,curney,curnock,curple,curr,currach,currack,curragh,currant,current,curried,currier,currish,curry,cursal,curse,cursed,curser,curship,cursive,cursor,cursory,curst,curstly,cursus,curt,curtail,curtain,curtal,curtate,curtesy,curtly,curtsy,curua,curuba,curule,cururo,curvant,curvate,curve,curved,curver,curvet,curvity,curvous,curvy,cuscus,cusec,cush,cushag,cushat,cushaw,cushion,cushy,cusie,cusk,cusp,cuspal,cuspate,cusped,cuspid,cuspule,cuss,cussed,cusser,cusso,custard,custody,custom,customs,cut,cutaway,cutback,cutch,cutcher,cute,cutely,cutheal,cuticle,cutie,cutin,cutis,cutitis,cutlass,cutler,cutlery,cutlet,cutling,cutlips,cutoff,cutout,cutover,cuttage,cuttail,cutted,cutter,cutting,cuttle,cuttler,cuttoo,cutty,cutup,cutweed,cutwork,cutworm,cuvette,cuvy,cuya,cwierc,cwm,cyan,cyanate,cyanean,cyanic,cyanide,cyanin,cyanine,cyanite,cyanize,cyanol,cyanole,cyanose,cyanus,cyath,cyathos,cyathus,cycad,cyclane,cyclar,cyclas,cycle,cyclene,cycler,cyclian,cyclic,cyclide,cycling,cyclism,cyclist,cyclize,cycloid,cyclone,cyclope,cyclopy,cyclose,cyclus,cyesis,cygnet,cygnine,cyke,cylix,cyma,cymar,cymba,cymbal,cymbalo,cymbate,cyme,cymelet,cymene,cymling,cymoid,cymose,cymous,cymule,cynebot,cynic,cynical,cynipid,cynism,cynoid,cyp,cypre,cypres,cypress,cyprine,cypsela,cyrus,cyst,cystal,cysted,cystic,cystid,cystine,cystis,cystoid,cystoma,cystose,cystous,cytase,cytasic,cytitis,cytode,cytoid,cytoma,cyton,cytost,cytula,czar,czardas,czardom,czarian,czaric,czarina,czarish,czarism,czarist,d,da,daalder,dab,dabb,dabba,dabber,dabble,dabbler,dabby,dablet,daboia,daboya,dabster,dace,dacite,dacitic,dacker,dacoit,dacoity,dacryon,dactyl,dad,dada,dadap,dadder,daddle,daddock,daddy,dade,dado,dae,daedal,daemon,daemony,daer,daff,daffery,daffing,daffish,daffle,daffy,daft,daftly,dag,dagaba,dagame,dagassa,dagesh,dagga,dagger,daggers,daggle,daggly,daggy,daghesh,daglock,dagoba,dags,dah,dahoon,daidle,daidly,daiker,daikon,daily,daimen,daimio,daimon,dain,daincha,dainty,daira,dairi,dairy,dais,daisied,daisy,daitya,daiva,dak,daker,dakir,dal,dalar,dale,daleman,daler,daleth,dali,dalk,dallack,dalle,dalles,dallier,dally,dalt,dalteen,dalton,dam,dama,damage,damager,damages,daman,damask,damasse,dambose,dambrod,dame,damiana,damie,damier,damine,damlike,dammar,damme,dammer,dammish,damn,damned,damner,damnify,damning,damnous,damp,dampang,damped,dampen,damper,damping,dampish,damply,dampy,damsel,damson,dan,danaid,danaide,danaine,danaite,dance,dancer,dancery,dancing,dand,danda,dander,dandify,dandily,dandle,dandler,dandy,dang,danger,dangle,dangler,danglin,danio,dank,dankish,dankly,danli,danner,dannock,dansant,danta,danton,dao,daoine,dap,daphnin,dapicho,dapico,dapifer,dapper,dapple,dappled,dar,darac,daraf,darat,darbha,darby,dardaol,dare,dareall,dareful,darer,daresay,darg,dargah,darger,dargue,dari,daribah,daric,daring,dariole,dark,darken,darkful,darkish,darkle,darkly,darky,darling,darn,darned,darnel,darner,darnex,darning,daroga,daroo,darr,darrein,darst,dart,dartars,darter,darting,dartle,dartman,dartoic,dartoid,dartos,dartre,darts,darzee,das,dash,dashed,dashee,dasheen,dasher,dashing,dashpot,dashy,dasi,dasnt,dassie,dassy,dastard,dastur,dasturi,dasyure,data,datable,datably,dataria,datary,datch,datcha,date,dater,datil,dating,dation,datival,dative,dattock,datum,daturic,daub,daube,dauber,daubery,daubing,dauby,daud,daunch,dauncy,daunt,daunter,daunton,dauphin,daut,dautie,dauw,davach,daven,daver,daverdy,davit,davoch,davy,davyne,daw,dawdle,dawdler,dawdy,dawish,dawkin,dawn,dawning,dawny,dawtet,dawtit,dawut,day,dayal,daybeam,daybook,daydawn,dayfly,dayless,daylit,daylong,dayman,daymare,daymark,dayroom,days,daysman,daystar,daytale,daytide,daytime,dayward,daywork,daywrit,daze,dazed,dazedly,dazy,dazzle,dazzler,de,deacon,dead,deaden,deader,deadeye,deading,deadish,deadly,deadman,deadpan,deadpay,deaf,deafen,deafish,deafly,deair,deal,dealate,dealer,dealing,dealt,dean,deaner,deanery,deaness,dear,dearie,dearly,dearth,deary,deash,deasil,death,deathin,deathly,deathy,deave,deavely,deb,debacle,debadge,debar,debark,debase,debaser,debate,debater,debauch,debby,debeige,deben,debile,debind,debit,debord,debosh,debouch,debride,debrief,debris,debt,debtee,debtful,debtor,debunk,debus,debut,decad,decadal,decade,decadic,decafid,decagon,decal,decamp,decan,decanal,decane,decani,decant,decap,decapod,decarch,decare,decart,decast,decate,decator,decatyl,decay,decayed,decayer,decease,deceit,deceive,decence,decency,decene,decent,decenyl,decern,decess,deciare,decibel,decide,decided,decider,decidua,decil,decile,decima,decimal,deck,decke,decked,deckel,decker,deckie,decking,deckle,declaim,declare,declass,decline,declive,decoat,decoct,decode,decoic,decoke,decolor,decorum,decoy,decoyer,decream,decree,decreer,decreet,decrete,decrew,decrial,decried,decrier,decrown,decry,decuman,decuple,decuria,decurve,decury,decus,decyl,decylic,decyne,dedimus,dedo,deduce,deduct,dee,deed,deedbox,deedeed,deedful,deedily,deedy,deem,deemer,deemie,deep,deepen,deeping,deepish,deeply,deer,deerdog,deerlet,deevey,deface,defacer,defalk,defame,defamed,defamer,defassa,defat,default,defease,defeat,defect,defence,defend,defense,defer,defial,defiant,defiber,deficit,defier,defile,defiled,defiler,define,defined,definer,deflate,deflect,deflesh,deflex,defog,deforce,deform,defoul,defraud,defray,defrock,defrost,deft,deftly,defunct,defuse,defy,deg,degas,degauss,degerm,degged,degger,deglaze,degorge,degrade,degrain,degree,degu,degum,degust,dehair,dehisce,dehorn,dehors,dehort,dehull,dehusk,deice,deicer,deicide,deictic,deific,deifier,deiform,deify,deign,deink,deinos,deiseal,deism,deist,deistic,deity,deject,dejecta,dejeune,dekko,dekle,delaine,delapse,delate,delater,delator,delawn,delay,delayer,dele,delead,delenda,delete,delf,delft,delible,delict,delight,delime,delimit,delint,deliver,dell,deloul,delouse,delta,deltaic,deltal,deltic,deltoid,delude,deluder,deluge,deluxe,delve,delver,demagog,demal,demand,demarch,demark,demast,deme,demean,demency,dement,demerit,demesne,demi,demibob,demidog,demigod,demihag,demiman,demiowl,demiox,demiram,demirep,demise,demiss,demit,demivol,demob,demoded,demoid,demon,demonic,demonry,demos,demote,demotic,demount,demulce,demure,demy,den,denaro,denary,denat,denda,dendral,dendric,dendron,dene,dengue,denial,denier,denim,denizen,dennet,denote,dense,densely,densen,densher,densify,density,dent,dental,dentale,dentary,dentata,dentate,dentel,denter,dentex,dentil,dentile,dentin,dentine,dentist,dentoid,denture,denty,denude,denuder,deny,deodand,deodara,deota,depa,depaint,depark,depart,depas,depass,depend,depeter,dephase,depict,deplane,deplete,deplore,deploy,deplume,deplump,depoh,depone,deport,deposal,depose,deposer,deposit,depot,deprave,depress,deprint,deprive,depside,depth,depthen,depute,deputy,dequeen,derah,deraign,derail,derange,derat,derate,derater,deray,derby,dere,dereism,deric,deride,derider,derival,derive,derived,deriver,derm,derma,dermad,dermal,dermic,dermis,dermoid,dermol,dern,dernier,derout,derrick,derride,derries,derry,dertrum,derust,dervish,desalt,desand,descale,descant,descend,descent,descort,descry,deseed,deseret,desert,deserve,desex,desi,desight,design,desire,desired,desirer,desist,desize,desk,deslime,desma,desman,desmic,desmid,desmine,desmoid,desmoma,desmon,despair,despect,despise,despite,despoil,despond,despot,dess,dessa,dessert,dessil,destain,destine,destiny,destour,destroy,desuete,desugar,desyl,detach,detail,detain,detar,detax,detect,detent,deter,deterge,detest,detin,detinet,detinue,detour,detract,detrain,detrude,detune,detur,deuce,deuced,deul,deuton,dev,deva,devall,devalue,devance,devast,devata,develin,develop,devest,deviant,deviate,device,devil,deviled,deviler,devilet,devilry,devily,devious,devisal,devise,devisee,deviser,devisor,devoice,devoid,devoir,devolve,devote,devoted,devotee,devoter,devour,devout,devow,devvel,dew,dewan,dewanee,dewater,dewax,dewbeam,dewclaw,dewcup,dewdamp,dewdrop,dewer,dewfall,dewily,dewlap,dewless,dewlike,dewool,deworm,dewret,dewtry,dewworm,dewy,dexter,dextrad,dextral,dextran,dextrin,dextro,dey,deyship,dezinc,dha,dhabb,dhai,dhak,dhamnoo,dhan,dhangar,dhanuk,dhanush,dharana,dharani,dharma,dharna,dhaura,dhauri,dhava,dhaw,dheri,dhobi,dhole,dhoni,dhoon,dhoti,dhoul,dhow,dhu,dhunchi,dhurra,dhyal,dhyana,di,diabase,diacid,diacle,diacope,diact,diactin,diadem,diaderm,diaene,diagram,dial,dialect,dialer,dialin,dialing,dialist,dialkyl,diallel,diallyl,dialyze,diamb,diambic,diamide,diamine,diamond,dian,diander,dianite,diapase,diapasm,diaper,diaplex,diapsid,diarch,diarchy,diarial,diarian,diarist,diarize,diary,diastem,diaster,diasyrm,diatom,diaulic,diaulos,diaxial,diaxon,diazide,diazine,diazoic,diazole,diazoma,dib,dibase,dibasic,dibatag,dibber,dibble,dibbler,dibbuk,dibhole,dibrach,dibrom,dibs,dicast,dice,dicebox,dicecup,diceman,dicer,dicetyl,dich,dichas,dichord,dicing,dick,dickens,dicker,dickey,dicky,dicolic,dicolon,dicot,dicotyl,dicta,dictate,dictic,diction,dictum,dicycle,did,didder,diddle,diddler,diddy,didelph,didie,didine,didle,didna,didnt,didromy,didst,didym,didymia,didymus,die,dieb,dieback,diedral,diedric,diehard,dielike,diem,diene,dier,diesel,diesis,diet,dietal,dietary,dieter,diethyl,dietic,dietics,dietine,dietist,diewise,diffame,differ,diffide,difform,diffuse,dig,digamma,digamy,digenic,digeny,digest,digger,digging,dight,dighter,digit,digital,digitus,diglot,diglyph,digmeat,dignify,dignity,digram,digraph,digress,digs,dihalo,diiamb,diiodo,dika,dikage,dike,diker,diketo,dikkop,dilate,dilated,dilater,dilator,dildo,dilemma,dilker,dill,dilli,dillier,dilling,dillue,dilluer,dilly,dilo,dilogy,diluent,dilute,diluted,dilutee,diluter,dilutor,diluvia,dim,dimber,dimble,dime,dimer,dimeran,dimeric,dimeter,dimiss,dimit,dimity,dimly,dimmed,dimmer,dimmest,dimmet,dimmish,dimness,dimoric,dimorph,dimple,dimply,dimps,dimpsy,din,dinar,dinder,dindle,dine,diner,dineric,dinero,dinette,ding,dingar,dingbat,dinge,dingee,dinghee,dinghy,dingily,dingle,dingly,dingo,dingus,dingy,dinic,dinical,dining,dinitro,dink,dinkey,dinkum,dinky,dinmont,dinner,dinnery,dinomic,dinsome,dint,dinus,diobely,diobol,diocese,diode,diodont,dioecy,diol,dionise,dionym,diopter,dioptra,dioptry,diorama,diorite,diose,diosmin,diota,diotic,dioxane,dioxide,dioxime,dioxy,dip,dipetto,diphase,diphead,diplex,diploe,diploic,diploid,diplois,diploma,diplont,diplopy,dipnoan,dipnoid,dipode,dipodic,dipody,dipolar,dipole,diporpa,dipped,dipper,dipping,dipsas,dipsey,dipter,diptote,diptych,dipware,dipygus,dipylon,dipyre,dird,dirdum,dire,direct,direful,direly,dirempt,dirge,dirgler,dirhem,dirk,dirl,dirndl,dirt,dirten,dirtily,dirty,dis,disable,disagio,disally,disarm,disavow,disawa,disazo,disband,disbar,disbark,disbody,disbud,disbury,disc,discage,discal,discard,discase,discept,discern,discerp,discoid,discord,discous,discus,discuss,disdain,disdub,disease,disedge,diseme,disemic,disfame,disfen,disgig,disglut,disgood,disgown,disgulf,disgust,dish,dished,dishelm,disher,dishful,dishome,dishorn,dishpan,dishrag,disject,disjoin,disjune,disk,disleaf,dislike,dislimn,dislink,dislip,disload,dislove,dismain,dismal,disman,dismark,dismask,dismast,dismay,disme,dismiss,disna,disnest,disnew,disobey,disodic,disomic,disomus,disorb,disown,dispark,dispart,dispel,dispend,display,dispone,dispope,disport,dispose,dispost,dispulp,dispute,disrank,disrate,disring,disrobe,disroof,disroot,disrump,disrupt,diss,disseat,dissect,dissent,dissert,dissoul,dissuit,distad,distaff,distain,distal,distale,distant,distend,distent,distich,distill,distome,distort,distune,disturb,disturn,disuse,diswood,disyoke,dit,dita,dital,ditch,ditcher,dite,diter,dither,dithery,dithion,ditolyl,ditone,dittamy,dittany,dittay,dittied,ditto,ditty,diurnal,diurne,div,diva,divan,divata,dive,divel,diver,diverge,divers,diverse,divert,divest,divide,divided,divider,divine,diviner,diving,divinyl,divisor,divorce,divot,divoto,divulge,divulse,divus,divvy,diwata,dixie,dixit,dixy,dizain,dizen,dizoic,dizzard,dizzily,dizzy,djave,djehad,djerib,djersa,do,doab,doable,doarium,doat,doated,doater,doating,doatish,dob,dobbed,dobber,dobbin,dobbing,dobby,dobe,dobla,doblon,dobra,dobrao,dobson,doby,doc,docent,docible,docile,docity,dock,dockage,docken,docker,docket,dockize,dockman,docmac,doctor,doctrix,dod,dodd,doddart,dodded,dodder,doddery,doddie,dodding,doddle,doddy,dodecyl,dodge,dodger,dodgery,dodgily,dodgy,dodkin,dodlet,dodman,dodo,dodoism,dodrans,doe,doebird,doeglic,doer,does,doeskin,doesnt,doest,doff,doffer,dog,dogal,dogate,dogbane,dogbite,dogblow,dogboat,dogbolt,dogbush,dogcart,dogdom,doge,dogedom,dogface,dogfall,dogfish,dogfoot,dogged,dogger,doggery,doggess,doggish,doggo,doggone,doggrel,doggy,doghead,doghole,doghood,dogie,dogless,doglike,dogly,dogma,dogman,dogmata,dogs,dogship,dogskin,dogtail,dogtie,dogtrot,dogvane,dogwood,dogy,doigt,doiled,doily,doina,doing,doings,doit,doited,doitkin,doke,dokhma,dola,dolabra,dolcan,dolcian,dolcino,doldrum,dole,doleful,dolent,doless,doli,dolia,dolina,doline,dolium,doll,dollar,dolldom,dollier,dollish,dollop,dolly,dolman,dolmen,dolor,dolose,dolous,dolphin,dolt,doltish,dom,domain,domal,domba,dome,doment,domer,domett,domic,domical,domine,dominie,domino,dominus,domite,domitic,domn,domnei,domoid,dompt,domy,don,donable,donary,donate,donated,donatee,donator,donax,done,donee,doney,dong,donga,dongon,donjon,donkey,donna,donnert,donnish,donnism,donnot,donor,donship,donsie,dont,donum,doob,doocot,doodab,doodad,doodle,doodler,dooja,dook,dooket,dookit,dool,doolee,dooley,dooli,doolie,dooly,doom,doomage,doomer,doomful,dooms,doon,door,doorba,doorboy,doored,doorman,doorway,dop,dopa,dopatta,dope,doper,dopey,dopper,doppia,dor,dorab,dorad,dorado,doree,dorhawk,doria,dorje,dorlach,dorlot,dorm,dormant,dormer,dormie,dormy,dorn,dorneck,dornic,dornick,dornock,dorp,dorsad,dorsal,dorsale,dorsel,dorser,dorsum,dorter,dorts,dorty,doruck,dory,dos,dosa,dosadh,dosage,dose,doser,dosis,doss,dossal,dossel,dosser,dossier,dossil,dossman,dot,dotage,dotal,dotard,dotardy,dotate,dotchin,dote,doted,doter,doting,dotish,dotkin,dotless,dotlike,dotted,dotter,dottily,dotting,dottle,dottler,dotty,doty,douar,double,doubled,doubler,doublet,doubly,doubt,doubter,douc,douce,doucely,doucet,douche,doucin,doucine,doudle,dough,dought,doughty,doughy,doum,doup,douping,dour,dourine,dourly,douse,douser,dout,douter,doutous,dove,dovecot,dovekey,dovekie,dovelet,dover,dovish,dow,dowable,dowager,dowcet,dowd,dowdily,dowdy,dowed,dowel,dower,doweral,dowery,dowf,dowie,dowily,dowitch,dowl,dowlas,dowless,down,downby,downcry,downcut,downer,downily,downlie,downset,downway,downy,dowp,dowry,dowse,dowser,dowset,doxa,doxy,doze,dozed,dozen,dozener,dozenth,dozer,dozily,dozy,dozzled,drab,drabbet,drabble,drabby,drably,drachm,drachma,dracma,draff,draffy,draft,draftee,drafter,drafty,drag,dragade,dragbar,dragged,dragger,draggle,draggly,draggy,dragman,dragnet,drago,dragon,dragoon,dragsaw,drail,drain,draine,drained,drainer,drake,dram,drama,dramm,dramme,drammed,drammer,drang,drank,drant,drape,draper,drapery,drassid,drastic,drat,drate,dratted,draught,dravya,draw,drawarm,drawbar,drawboy,drawcut,drawee,drawer,drawers,drawing,drawk,drawl,drawler,drawly,drawn,drawnet,drawoff,drawout,drawrod,dray,drayage,drayman,drazel,dread,dreader,dreadly,dream,dreamer,dreamsy,dreamt,dreamy,drear,drearly,dreary,dredge,dredger,dree,dreep,dreepy,dreg,dreggy,dregs,drench,dreng,dress,dressed,dresser,dressy,drest,drew,drewite,drias,drib,dribble,driblet,driddle,dried,drier,driest,drift,drifter,drifty,drill,driller,drillet,dringle,drink,drinker,drinn,drip,dripper,dripple,drippy,drisk,drivage,drive,drivel,driven,driver,driving,drizzle,drizzly,droddum,drogh,drogher,drogue,droit,droll,drolly,drome,dromic,dromond,dromos,drona,dronage,drone,droner,drongo,dronish,drony,drool,droop,drooper,droopt,droopy,drop,droplet,dropman,dropout,dropper,droppy,dropsy,dropt,droshky,drosky,dross,drossel,drosser,drossy,drostdy,droud,drought,drouk,drove,drover,drovy,drow,drown,drowner,drowse,drowsy,drub,drubber,drubbly,drucken,drudge,drudger,druery,drug,drugger,drugget,druggy,drugman,druid,druidic,druidry,druith,drum,drumble,drumlin,drumly,drummer,drummy,drung,drungar,drunk,drunken,drupal,drupe,drupel,druse,drusy,druxy,dry,dryad,dryadic,dryas,drycoal,dryfoot,drying,dryish,dryly,dryness,dryster,dryth,duad,duadic,dual,duali,dualin,dualism,dualist,duality,dualize,dually,duarch,duarchy,dub,dubash,dubb,dubba,dubbah,dubber,dubbing,dubby,dubiety,dubious,dubs,ducal,ducally,ducape,ducat,ducato,ducdame,duces,duchess,duchy,duck,ducker,duckery,duckie,ducking,duckpin,duct,ducted,ductile,duction,ductor,ductule,dud,dudaim,dudder,duddery,duddies,dude,dudeen,dudgeon,dudine,dudish,dudism,dudler,dudley,dudman,due,duel,dueler,dueling,duelist,duello,dueness,duenna,duer,duet,duff,duffel,duffer,duffing,dufoil,dufter,duftery,dug,dugal,dugdug,duggler,dugong,dugout,dugway,duhat,duiker,duim,duit,dujan,duke,dukedom,dukely,dukery,dukhn,dukker,dulbert,dulcet,dulcian,dulcify,dulcose,duledge,duler,dulia,dull,dullard,duller,dullery,dullify,dullish,dullity,dully,dulosis,dulotic,dulse,dult,dultie,duly,dum,duma,dumaist,dumb,dumba,dumbcow,dumbly,dumdum,dummel,dummy,dumose,dump,dumpage,dumper,dumpily,dumping,dumpish,dumple,dumpoke,dumpy,dumsola,dun,dunair,dunal,dunbird,dunce,duncery,dunch,duncify,duncish,dunder,dune,dunfish,dung,dungeon,dunger,dungol,dungon,dungy,dunite,dunk,dunker,dunlin,dunnage,dunne,dunner,dunness,dunnish,dunnite,dunnock,dunny,dunst,dunt,duntle,duny,duo,duodena,duodene,duole,duopod,duopoly,duotone,duotype,dup,dupable,dupe,dupedom,duper,dupery,dupion,dupla,duple,duplet,duplex,duplify,duplone,duppy,dura,durable,durably,durain,dural,duramen,durance,durant,durax,durbar,dure,durene,durenol,duress,durgan,durian,during,durity,durmast,durn,duro,durra,durrie,durrin,durry,durst,durwaun,duryl,dusack,duscle,dush,dusio,dusk,dusken,duskily,duskish,duskly,dusky,dust,dustbin,dustbox,dustee,duster,dustily,dusting,dustman,dustpan,dustuck,dusty,dutch,duteous,dutied,dutiful,dutra,duty,duumvir,duvet,duvetyn,dux,duyker,dvaita,dvandva,dwale,dwalm,dwang,dwarf,dwarfy,dwell,dwelled,dweller,dwelt,dwindle,dwine,dyad,dyadic,dyarchy,dyaster,dyce,dye,dyeable,dyeing,dyer,dyester,dyeware,dyeweed,dyewood,dying,dyingly,dyke,dyker,dynamic,dynamis,dynamo,dynast,dynasty,dyne,dyphone,dyslogy,dysnomy,dyspnea,dystome,dysuria,dysuric,dzeren,e,ea,each,eager,eagerly,eagle,eagless,eaglet,eagre,ean,ear,earache,earbob,earcap,eardrop,eardrum,eared,earful,earhole,earing,earl,earlap,earldom,earless,earlet,earlike,earlish,earlock,early,earmark,earn,earner,earnest,earnful,earning,earpick,earplug,earring,earshot,earsore,eartab,earth,earthed,earthen,earthly,earthy,earwax,earwig,earworm,earwort,ease,easeful,easel,easer,easier,easiest,easily,easing,east,easter,eastern,easting,easy,eat,eatable,eatage,eaten,eater,eatery,eating,eats,eave,eaved,eaver,eaves,ebb,ebbman,eboe,ebon,ebonist,ebonite,ebonize,ebony,ebriate,ebriety,ebrious,ebulus,eburine,ecad,ecanda,ecarte,ecbatic,ecbole,ecbolic,ecdemic,ecderon,ecdysis,ecesic,ecesis,eche,echea,echelon,echidna,echinal,echinid,echinus,echo,echoer,echoic,echoism,echoist,echoize,ecize,ecklein,eclair,eclat,eclegm,eclegma,eclipse,eclogue,ecoid,ecole,ecology,economy,ecotone,ecotype,ecphore,ecru,ecstasy,ectad,ectal,ectally,ectasia,ectasis,ectatic,ectene,ecthyma,ectiris,ectopia,ectopic,ectopy,ectozoa,ectypal,ectype,eczema,edacity,edaphic,edaphon,edder,eddish,eddo,eddy,edea,edeagra,edeitis,edema,edemic,edenite,edental,edestan,edestin,edge,edged,edgeman,edger,edging,edgrew,edgy,edh,edible,edict,edictal,edicule,edifice,edifier,edify,edit,edital,edition,editor,educand,educate,educe,educive,educt,eductor,eegrass,eel,eelboat,eelbob,eelcake,eeler,eelery,eelfare,eelfish,eellike,eelpot,eelpout,eelshop,eelskin,eelware,eelworm,eely,eer,eerie,eerily,effable,efface,effacer,effect,effects,effendi,effete,effigy,efflate,efflux,efform,effort,effulge,effund,effuse,eft,eftest,egad,egality,egence,egeran,egest,egesta,egg,eggcup,egger,eggfish,egghead,egghot,egging,eggler,eggless,egglike,eggnog,eggy,egilops,egipto,egma,ego,egohood,egoism,egoist,egoity,egoize,egoizer,egol,egomism,egotism,egotist,egotize,egress,egret,eh,eheu,ehlite,ehuawa,eident,eider,eidetic,eidolic,eidolon,eight,eighth,eighty,eigne,eimer,einkorn,eisodic,either,eject,ejecta,ejector,ejoo,ekaha,eke,eker,ekerite,eking,ekka,ekphore,ektene,ektenes,el,elaidic,elaidin,elain,elaine,elance,eland,elanet,elapid,elapine,elapoid,elapse,elastic,elastin,elatcha,elate,elated,elater,elation,elative,elator,elb,elbow,elbowed,elbower,elbowy,elcaja,elchee,eld,elder,elderly,eldest,eldin,elding,eldress,elect,electee,electly,elector,electro,elegant,elegiac,elegist,elegit,elegize,elegy,eleidin,element,elemi,elemin,elench,elenchi,elenge,elevate,eleven,elevon,elf,elfhood,elfic,elfin,elfish,elfkin,elfland,elflike,elflock,elfship,elfwife,elfwort,elicit,elide,elision,elisor,elite,elixir,elk,elkhorn,elkslip,elkwood,ell,ellagic,elle,elleck,ellfish,ellipse,ellops,ellwand,elm,elmy,elocute,elod,eloge,elogium,eloign,elope,eloper,elops,els,else,elsehow,elsin,elt,eluate,elude,eluder,elusion,elusive,elusory,elute,elution,elutor,eluvial,eluvium,elvan,elver,elves,elvet,elvish,elysia,elytral,elytrin,elytron,elytrum,em,emanant,emanate,emanium,emarcid,emball,embalm,embank,embar,embargo,embark,embassy,embathe,embay,embed,embelic,ember,embind,embira,emblaze,emblem,emblema,emblic,embody,embog,embole,embolic,embolo,embolum,embolus,emboly,embosom,emboss,embound,embow,embowed,embowel,embower,embox,embrace,embrail,embroil,embrown,embryo,embryon,embuia,embus,embusk,emcee,eme,emeer,emend,emender,emerald,emerge,emerize,emerse,emersed,emery,emesis,emetic,emetine,emgalla,emigree,eminent,emir,emirate,emit,emitter,emma,emmenic,emmer,emmet,emodin,emoloa,emote,emotion,emotive,empall,empanel,empaper,empark,empasm,empathy,emperor,empery,empire,empiric,emplace,emplane,employ,emplume,emporia,empower,empress,emprise,empt,emptier,emptily,emptins,emption,emptor,empty,empyema,emu,emulant,emulate,emulous,emulsin,emulsor,emyd,emydian,en,enable,enabler,enact,enactor,enaena,enage,enalid,enam,enamber,enamdar,enamel,enamor,enapt,enarbor,enarch,enarm,enarme,enate,enatic,enation,enbrave,encage,encake,encamp,encase,encash,encauma,encave,encell,enchain,enchair,enchant,enchase,enchest,encina,encinal,encist,enclasp,enclave,encloak,enclose,encloud,encoach,encode,encoil,encolor,encomia,encomic,encoop,encore,encowl,encraal,encraty,encreel,encrisp,encrown,encrust,encrypt,encup,encurl,encyst,end,endable,endarch,endaze,endear,ended,endemic,ender,endere,enderon,endevil,endew,endgate,ending,endite,endive,endless,endlong,endmost,endogen,endome,endopod,endoral,endore,endorse,endoss,endotys,endow,endower,endozoa,endue,endura,endure,endurer,endways,endwise,endyma,endymal,endysis,enema,enemy,energic,energid,energy,eneuch,eneugh,enface,enfelon,enfeoff,enfever,enfile,enfiled,enflesh,enfoil,enfold,enforce,enfork,enfoul,enframe,enfree,engage,engaged,engager,engaol,engarb,engaud,engaze,engem,engild,engine,engird,engirt,englad,englobe,engloom,englory,englut,englyn,engobe,engold,engore,engorge,engrace,engraff,engraft,engrail,engrain,engram,engrasp,engrave,engreen,engross,enguard,engulf,enhalo,enhance,enhat,enhaunt,enheart,enhedge,enhelm,enherit,enhusk,eniac,enigma,enisle,enjail,enjamb,enjelly,enjewel,enjoin,enjoy,enjoyer,enkraal,enlace,enlard,enlarge,enleaf,enlief,enlife,enlight,enlink,enlist,enliven,enlock,enlodge,enmask,enmass,enmesh,enmist,enmity,enmoss,ennead,ennerve,enniche,ennoble,ennoic,ennomic,ennui,enocyte,enodal,enoil,enol,enolate,enolic,enolize,enomoty,enoplan,enorm,enough,enounce,enow,enplane,enquire,enquiry,enrace,enrage,enraged,enrange,enrank,enrapt,enray,enrib,enrich,enring,enrive,enrobe,enrober,enrol,enroll,enroot,enrough,enruin,enrut,ens,ensaint,ensand,ensate,enscene,ense,enseam,enseat,enseem,enserf,ensete,enshade,enshawl,enshell,ensign,ensile,ensky,enslave,ensmall,ensnare,ensnarl,ensnow,ensoul,enspell,enstamp,enstar,enstate,ensteel,enstool,enstore,ensuant,ensue,ensuer,ensure,ensurer,ensweep,entach,entad,entail,ental,entame,entasia,entasis,entelam,entente,enter,enteral,enterer,enteria,enteric,enteron,entheal,enthral,enthuse,entia,entice,enticer,entify,entire,entiris,entitle,entity,entoil,entomb,entomic,entone,entopic,entotic,entozoa,entrail,entrain,entrant,entrap,entreat,entree,entropy,entrust,entry,entwine,entwist,enure,enurny,envapor,envault,enveil,envelop,envenom,envied,envier,envious,environ,envoy,envy,envying,enwiden,enwind,enwisen,enwoman,enwomb,enwood,enwound,enwrap,enwrite,enzone,enzooty,enzym,enzyme,enzymic,eoan,eolith,eon,eonism,eophyte,eosate,eoside,eosin,eosinic,eozoon,epacme,epacrid,epact,epactal,epagoge,epanody,eparch,eparchy,epaule,epaulet,epaxial,epee,epeeist,epeiric,epeirid,epergne,epha,ephah,ephebe,ephebic,ephebos,ephebus,ephelis,ephetae,ephete,ephetic,ephod,ephor,ephoral,ephoric,ephorus,ephyra,epibole,epiboly,epic,epical,epicarp,epicede,epicele,epicene,epichil,epicism,epicist,epicly,epicure,epicyte,epidemy,epiderm,epidote,epigeal,epigean,epigeic,epigene,epigone,epigram,epigyne,epigyny,epihyal,epikeia,epilate,epilobe,epimer,epimere,epimyth,epinaos,epinine,epiotic,epipial,episode,epistle,epitaph,epitela,epithem,epithet,epitoke,epitome,epiural,epizoa,epizoal,epizoan,epizoic,epizoon,epoch,epocha,epochal,epode,epodic,eponym,eponymy,epopee,epopt,epoptes,epoptic,epos,epsilon,epulary,epulis,epulo,epuloid,epural,epurate,equable,equably,equal,equally,equant,equate,equator,equerry,equid,equine,equinia,equinox,equinus,equip,equiped,equison,equites,equity,equoid,er,era,erade,eral,eranist,erase,erased,eraser,erasion,erasure,erbia,erbium,erd,erdvark,ere,erect,erecter,erectly,erector,erelong,eremic,eremite,erenach,erenow,erepsin,erept,ereptic,erethic,erg,ergal,ergasia,ergates,ergodic,ergoism,ergon,ergot,ergoted,ergotic,ergotin,ergusia,eria,eric,ericad,erical,ericius,ericoid,erika,erikite,erineum,erinite,erinose,eristic,erizo,erlking,ermelin,ermine,ermined,erminee,ermines,erne,erode,eroded,erodent,erogeny,eros,erose,erosely,erosion,erosive,eroteme,erotic,erotica,erotism,err,errable,errancy,errand,errant,errata,erratic,erratum,errhine,erring,errite,error,ers,ersatz,erth,erthen,erthly,eruc,eruca,erucic,erucin,eruct,erudit,erudite,erugate,erupt,eryngo,es,esca,escalan,escalin,escalop,escape,escapee,escaper,escarp,eschar,eschara,escheat,eschew,escoba,escolar,escort,escribe,escrol,escrow,escudo,esculin,esere,eserine,esexual,eshin,esker,esne,esodic,esotery,espadon,esparto,espave,espial,espier,espinal,espino,esplees,espouse,espy,esquire,ess,essang,essay,essayer,essed,essence,essency,essling,essoin,estadal,estadio,estado,estamp,estate,ehive,ester,estevin,estival,estmark,estoc,estoile,estop,estrade,estray,estre,estreat,estrepe,estrin,estriol,estrone,estrous,estrual,estuary,estufa,estuous,estus,eta,etacism,etacist,etalon,etamine,etch,etcher,etching,eternal,etesian,ethal,ethanal,ethane,ethanol,ethel,ethene,ethenic,ethenol,ethenyl,ether,ethered,etheric,etherin,ethic,ethical,ethics,ethid,ethide,ethine,ethiops,ethmoid,ethnal,ethnic,ethnize,ethnos,ethos,ethoxyl,ethrog,ethyl,ethylic,ethylin,ethyne,ethynyl,etiolin,etna,ettle,etua,etude,etui,etym,etymic,etymon,etypic,eu,euaster,eucaine,euchre,euchred,euclase,eucone,euconic,eucrasy,eucrite,euge,eugenic,eugenol,eugeny,eulalia,eulogia,eulogic,eulogy,eumenid,eunicid,eunomy,eunuch,euonym,euonymy,euouae,eupad,eupathy,eupepsy,euphemy,euphon,euphone,euphony,euphory,euphroe,eupione,euploid,eupnea,eureka,euripus,eurite,eurobin,euryon,eusol,eustyle,eutaxic,eutaxy,eutexia,eutony,evacue,evacuee,evade,evader,evalue,evangel,evanish,evase,evasion,evasive,eve,evejar,evelong,even,evener,evening,evenly,evens,event,eveque,ever,evert,evertor,everwho,every,evestar,evetide,eveweed,evict,evictor,evident,evil,evilly,evince,evirate,evisite,evitate,evocate,evoe,evoke,evoker,evolute,evolve,evolver,evovae,evulse,evzone,ewder,ewe,ewer,ewerer,ewery,ewry,ex,exact,exacter,exactly,exactor,exalate,exalt,exalted,exalter,exam,examen,examine,example,exarate,exarch,exarchy,excamb,excave,exceed,excel,except,excerpt,excess,excide,exciple,excise,excisor,excite,excited,exciter,excitor,exclaim,exclave,exclude,excreta,excrete,excurse,excusal,excuse,excuser,excuss,excyst,exdie,exeat,execute,exedent,exedra,exegete,exempt,exequy,exergue,exert,exes,exeunt,exflect,exhale,exhaust,exhibit,exhort,exhume,exhumer,exigent,exile,exiler,exilian,exilic,exility,exist,exister,exit,exite,exition,exitus,exlex,exocarp,exocone,exode,exoderm,exodic,exodist,exodos,exodus,exody,exogamy,exogen,exogeny,exomion,exomis,exon,exoner,exopod,exordia,exormia,exosmic,exostra,exotic,exotism,expand,expanse,expect,expede,expel,expend,expense,expert,expiate,expire,expiree,expirer,expiry,explain,explant,explode,exploit,explore,expone,export,exposal,expose,exposed,exposer,exposit,expound,express,expugn,expulse,expunge,expurge,exradio,exscind,exsect,exsert,exship,exsurge,extant,extend,extense,extent,exter,extern,externe,extima,extinct,extine,extol,extoll,extort,extra,extract,extrait,extreme,extrude,extund,exudate,exude,exult,exultet,exuviae,exuvial,ey,eyah,eyalet,eyas,eye,eyeball,eyebalm,eyebar,eyebeam,eyebolt,eyebree,eyebrow,eyecup,eyed,eyedot,eyedrop,eyeflap,eyeful,eyehole,eyelash,eyeless,eyelet,eyelid,eyelike,eyeline,eyemark,eyen,eyepit,eyer,eyeroot,eyeseed,eyeshot,eyesome,eyesore,eyespot,eyewash,eyewear,eyewink,eyewort,eyey,eying,eyn,eyne,eyot,eyoty,eyra,eyre,eyrie,eyrir,ezba,f,fa,fabella,fabes,fable,fabled,fabler,fabliau,fabling,fabric,fabular,facadal,facade,face,faced,faceman,facer,facet,facete,faceted,facia,facial,faciend,facient,facies,facile,facing,fack,fackins,facks,fact,factful,faction,factish,factive,factor,factory,factrix,factual,factum,facture,facty,facula,facular,faculty,facund,facy,fad,fadable,faddish,faddism,faddist,faddle,faddy,fade,faded,fadedly,faden,fader,fadge,fading,fady,fae,faerie,faery,faff,faffle,faffy,fag,fagald,fage,fager,fagger,faggery,fagging,fagine,fagot,fagoter,fagoty,faham,fahlerz,fahlore,faience,fail,failing,faille,failure,fain,fainly,fains,faint,fainter,faintly,faints,fainty,faipule,fair,fairer,fairily,fairing,fairish,fairly,fairm,fairway,fairy,faith,faitour,fake,faker,fakery,fakir,faky,falbala,falcade,falcate,falcer,falces,falcial,falcon,falcula,faldage,faldfee,fall,fallace,fallacy,fallage,fallen,faller,falling,fallow,fallway,fally,falsary,false,falsely,falsen,falser,falsie,falsify,falsism,faltche,falter,falutin,falx,fam,famble,fame,fameful,familia,family,famine,famish,famous,famulus,fan,fana,fanal,fanam,fanatic,fanback,fancied,fancier,fancify,fancy,fand,fandom,fanega,fanfare,fanfoot,fang,fanged,fangle,fangled,fanglet,fangot,fangy,fanion,fanlike,fanman,fannel,fanner,fannier,fanning,fanon,fant,fantail,fantast,fantasy,fantod,fanweed,fanwise,fanwork,fanwort,faon,far,farad,faraday,faradic,faraway,farce,farcer,farcial,farcied,farcify,farcing,farcist,farcy,farde,fardel,fardh,fardo,fare,farer,farfara,farfel,fargood,farina,faring,farish,farl,farleu,farm,farmage,farmer,farmery,farming,farmost,farmy,farness,faro,farrago,farrand,farrier,farrow,farruca,farse,farseer,farset,farther,fasces,fascet,fascia,fascial,fascine,fascis,fascism,fascist,fash,fasher,fashery,fashion,fass,fast,fasten,faster,fasting,fastish,fastus,fat,fatal,fatally,fatbird,fate,fated,fateful,fathead,father,fathmur,fathom,fatidic,fatigue,fatiha,fatil,fatless,fatling,fatly,fatness,fatsia,fatten,fatter,fattily,fattish,fatty,fatuism,fatuity,fatuoid,fatuous,fatwood,faucal,fauces,faucet,faucial,faucre,faugh,fauld,fault,faulter,faulty,faun,faunal,faunish,faunist,faunule,fause,faust,fautor,fauve,favella,favilla,favism,favissa,favn,favor,favored,favorer,favose,favous,favus,fawn,fawner,fawnery,fawning,fawny,fay,fayles,faze,fazenda,fe,feague,feak,feal,fealty,fear,feared,fearer,fearful,feasor,feast,feasten,feaster,feat,feather,featly,featous,feature,featy,feaze,febrile,fecal,feces,feck,feckful,feckly,fecula,fecund,fed,feddan,federal,fee,feeable,feeble,feebly,feed,feedbin,feedbox,feeder,feeding,feedman,feedway,feedy,feel,feeler,feeless,feeling,feer,feere,feering,feetage,feeze,fegary,fei,feif,feigher,feign,feigned,feigner,feil,feint,feis,feist,feisty,felid,feline,fell,fellage,fellah,fellen,feller,fellic,felling,felloe,fellow,felly,feloid,felon,felonry,felony,fels,felsite,felt,felted,felter,felting,felty,felucca,felwort,female,feme,femic,feminal,feminie,feminin,femora,femoral,femur,fen,fenbank,fence,fencer,fenchyl,fencing,fend,fender,fendy,fenite,fenks,fenland,fenman,fennec,fennel,fennig,fennish,fenny,fensive,fent,fenter,feod,feodal,feodary,feoff,feoffee,feoffor,feower,feral,feralin,ferash,ferdwit,ferfet,feria,ferial,feridgi,ferie,ferine,ferity,ferk,ferling,ferly,fermail,ferme,ferment,fermery,fermila,fern,ferned,fernery,ferny,feroher,ferrado,ferrate,ferrean,ferret,ferrety,ferri,ferric,ferrier,ferrite,ferrous,ferrule,ferrum,ferry,fertile,feru,ferula,ferule,ferulic,fervent,fervid,fervor,fescue,fess,fessely,fest,festal,fester,festine,festive,festoon,festuca,fet,fetal,fetch,fetched,fetcher,fetial,fetid,fetidly,fetish,fetlock,fetlow,fetor,fetter,fettle,fettler,fetus,feu,feuage,feuar,feucht,feud,feudal,feudee,feudist,feued,feuille,fever,feveret,few,fewness,fewsome,fewter,fey,feyness,fez,fezzed,fezzy,fi,fiacre,fiance,fiancee,fiar,fiard,fiasco,fiat,fib,fibber,fibbery,fibdom,fiber,fibered,fibril,fibrin,fibrine,fibroid,fibroin,fibroma,fibrose,fibrous,fibry,fibster,fibula,fibulae,fibular,ficary,fice,ficelle,fiche,fichu,fickle,fickly,fico,ficoid,fictile,fiction,fictive,fid,fidalgo,fidate,fiddle,fiddler,fiddley,fide,fideism,fideist,fidfad,fidge,fidget,fidgety,fiducia,fie,fiefdom,field,fielded,fielder,fieldy,fiend,fiendly,fient,fierce,fiercen,fierily,fiery,fiesta,fife,fifer,fifie,fifish,fifo,fifteen,fifth,fifthly,fifty,fig,figaro,figbird,figent,figged,figgery,figging,figgle,figgy,fight,fighter,figless,figlike,figment,figural,figure,figured,figurer,figury,figworm,figwort,fike,fikie,filace,filacer,filao,filar,filaria,filasse,filate,filator,filbert,filch,filcher,file,filemot,filer,filet,filial,filiate,filibeg,filical,filicic,filicin,filiety,filing,filings,filippo,filite,fill,filled,filler,fillet,filleul,filling,fillip,fillock,filly,film,filmdom,filmet,filmic,filmily,filmish,filmist,filmize,filmy,filo,filose,fils,filter,filth,filthy,fimble,fimbria,fin,finable,finagle,final,finale,finally,finance,finback,finch,finched,find,findal,finder,finding,findjan,fine,fineish,finely,finer,finery,finesse,finetop,finfish,finfoot,fingent,finger,fingery,finial,finical,finick,finific,finify,finikin,fining,finis,finish,finite,finity,finjan,fink,finkel,finland,finless,finlet,finlike,finnac,finned,finner,finnip,finny,fiord,fiorded,fiorin,fiorite,fip,fipenny,fipple,fique,fir,firca,fire,firearm,firebox,fireboy,firebug,fired,firedog,firefly,firelit,fireman,firer,firetop,firing,firk,firker,firkin,firlot,firm,firman,firmer,firmly,firn,firring,firry,first,firstly,firth,fisc,fiscal,fise,fisetin,fish,fishbed,fished,fisher,fishery,fishet,fisheye,fishful,fishgig,fishify,fishily,fishing,fishlet,fishman,fishpot,fishway,fishy,fisnoga,fissate,fissile,fission,fissive,fissure,fissury,fist,fisted,fister,fistful,fistic,fistify,fisting,fistuca,fistula,fistule,fisty,fit,fitch,fitched,fitchee,fitcher,fitchet,fitchew,fitful,fitly,fitment,fitness,fitout,fitroot,fittage,fitted,fitten,fitter,fitters,fittily,fitting,fitty,fitweed,five,fivebar,fiver,fives,fix,fixable,fixage,fixate,fixatif,fixator,fixed,fixedly,fixer,fixing,fixity,fixture,fixure,fizgig,fizz,fizzer,fizzle,fizzy,fjeld,flabby,flabrum,flaccid,flack,flacked,flacker,flacket,flaff,flaffer,flag,flagger,flaggy,flaglet,flagman,flagon,flail,flair,flaith,flak,flakage,flake,flaker,flakily,flaky,flam,flamant,flamb,flame,flamed,flamen,flamer,flamfew,flaming,flamy,flan,flanch,flandan,flane,flange,flanger,flank,flanked,flanker,flanky,flannel,flanque,flap,flapper,flare,flaring,flary,flaser,flash,flasher,flashet,flashly,flashy,flask,flasker,flasket,flasque,flat,flatcap,flatcar,flatdom,flated,flathat,flatlet,flatly,flatman,flatten,flatter,flattie,flattop,flatus,flatway,flaught,flaunt,flaunty,flavedo,flavic,flavid,flavin,flavine,flavo,flavone,flavor,flavory,flavour,flaw,flawed,flawful,flawn,flawy,flax,flaxen,flaxman,flaxy,flay,flayer,flea,fleam,fleay,flebile,fleche,fleck,flecken,flecker,flecky,flector,fled,fledge,fledgy,flee,fleece,fleeced,fleecer,fleech,fleecy,fleer,fleerer,fleet,fleeter,fleetly,flemish,flench,flense,flenser,flerry,flesh,fleshed,fleshen,flesher,fleshly,fleshy,flet,fletch,flether,fleuret,fleury,flew,flewed,flewit,flews,flex,flexed,flexile,flexion,flexor,flexure,fley,flick,flicker,flicky,flidder,flier,fligger,flight,flighty,flimmer,flimp,flimsy,flinch,flinder,fling,flinger,flingy,flint,flinter,flinty,flioma,flip,flipe,flipper,flirt,flirter,flirty,flisk,flisky,flit,flitch,flite,fliting,flitter,flivver,flix,float,floater,floaty,flob,flobby,floc,floccus,flock,flocker,flocky,flocoon,flodge,floe,floey,flog,flogger,flokite,flong,flood,flooded,flooder,floody,floor,floorer,floozy,flop,flopper,floppy,flora,floral,floran,florate,floreal,florent,flores,floret,florid,florin,florist,floroon,florula,flory,flosh,floss,flosser,flossy,flot,flota,flotage,flotant,flotsam,flounce,flour,floury,flouse,flout,flouter,flow,flowage,flower,flowery,flowing,flown,flowoff,flu,fluate,fluavil,flub,flubdub,flucan,flue,flued,flueman,fluency,fluent,fluer,fluey,fluff,fluffer,fluffy,fluible,fluid,fluidal,fluidic,fluidly,fluke,fluked,flukily,fluking,fluky,flume,flummer,flummox,flump,flung,flunk,flunker,flunky,fluor,fluoran,fluoric,fluoryl,flurn,flurr,flurry,flush,flusher,flushy,flusk,flusker,fluster,flute,fluted,fluter,flutina,fluting,flutist,flutter,fluty,fluvial,flux,fluxer,fluxile,fluxion,fly,flyable,flyaway,flyback,flyball,flybane,flybelt,flyblow,flyboat,flyboy,flyer,flyflap,flying,flyleaf,flyless,flyman,flyness,flype,flytail,flytier,flytrap,flyway,flywort,foal,foaly,foam,foambow,foamer,foamily,foaming,foamy,fob,focal,focally,foci,focoids,focsle,focus,focuser,fod,fodda,fodder,foder,fodge,fodgel,fodient,foe,foehn,foeish,foeless,foelike,foeman,foeship,fog,fogbow,fogdog,fogdom,fogey,foggage,fogged,fogger,foggily,foggish,foggy,foghorn,fogle,fogless,fogman,fogo,fogon,fogou,fogram,fogus,fogy,fogydom,fogyish,fogyism,fohat,foible,foil,foiler,foiling,foining,foison,foist,foister,foisty,foiter,fold,foldage,folded,folden,folder,folding,foldure,foldy,fole,folia,foliage,folial,foliar,foliary,foliate,folie,folio,foliole,foliose,foliot,folious,folium,folk,folkmot,folksy,folkway,folky,folles,follis,follow,folly,foment,fomes,fomites,fondak,fondant,fondish,fondle,fondler,fondly,fondu,fondue,fonduk,fonly,fonnish,fono,fons,font,fontal,fonted,fontful,fontlet,foo,food,fooder,foodful,foody,fool,fooldom,foolery,fooless,fooling,foolish,fooner,fooster,foot,footage,footboy,footed,footer,footful,foothot,footing,footle,footler,footman,footpad,foots,footway,footy,foozle,foozler,fop,fopling,foppery,foppish,foppy,fopship,for,fora,forage,forager,foramen,forane,foray,forayer,forb,forbade,forbar,forbear,forbid,forbit,forbled,forblow,forbore,forbow,forby,force,forced,forceps,forcer,forche,forcing,ford,fordays,fording,fordo,fordone,fordy,fore,foreact,forearm,forebay,forecar,foreday,forefin,forefit,forego,foreign,forel,forelay,foreleg,foreman,forepad,forepaw,foreran,forerib,forerun,foresay,foresee,foreset,foresin,forest,foresty,foretop,foreuse,forever,forevow,forfar,forfare,forfars,forfeit,forfend,forge,forged,forger,forgery,forget,forgie,forging,forgive,forgo,forgoer,forgot,forgrow,forhoo,forhooy,forhow,forint,fork,forked,forker,forkful,forkman,forky,forleft,forlet,forlorn,form,formal,formant,format,formate,forme,formed,formee,formel,formene,former,formful,formic,formin,forming,formose,formula,formule,formy,formyl,fornent,fornix,forpet,forpine,forpit,forrad,forrard,forride,forrit,forrue,forsake,forset,forslow,fort,forte,forth,forthgo,forthy,forties,fortify,fortin,fortis,fortlet,fortune,forty,forum,forward,forwean,forwent,fosh,fosie,fossa,fossage,fossane,fosse,fossed,fossick,fossil,fossor,fossula,fossule,fostell,foster,fot,fotch,fother,fotmal,fotui,fou,foud,fouette,fougade,fought,foughty,foujdar,foul,foulage,foulard,fouler,fouling,foulish,foully,foumart,foun,found,founder,foundry,fount,four,fourble,fourche,fourer,fourre,fourth,foussa,foute,fouter,fouth,fovea,foveal,foveate,foveola,foveole,fow,fowk,fowl,fowler,fowlery,fowling,fox,foxbane,foxchop,foxer,foxery,foxfeet,foxfish,foxhole,foxily,foxing,foxish,foxlike,foxship,foxskin,foxtail,foxwood,foxy,foy,foyaite,foyboat,foyer,fozy,fra,frab,frabbit,frabous,fracas,frache,frack,fracted,frae,fraghan,fragile,fraid,fraik,frail,frailly,frailty,fraise,fraiser,frame,framea,framed,framer,framing,frammit,franc,franco,frank,franker,frankly,frantic,franzy,frap,frappe,frasco,frase,frasier,frass,frat,fratch,fratchy,frater,fratery,fratry,fraud,fraught,frawn,fraxin,fray,frayed,fraying,frayn,fraze,frazer,frazil,frazzle,freak,freaky,fream,freath,freck,frecken,frecket,freckle,freckly,free,freed,freedom,freeing,freeish,freely,freeman,freer,freet,freety,freeway,freeze,freezer,freight,freir,freit,freity,fremd,fremdly,frenal,frenate,frenum,frenzy,fresco,fresh,freshen,freshet,freshly,fresnel,fresno,fret,fretful,frett,frette,fretted,fretter,fretty,fretum,friable,friand,friar,friarly,friary,frib,fribble,fribby,fried,friend,frier,frieze,friezer,friezy,frig,frigate,friggle,fright,frighty,frigid,frijol,frike,frill,frilled,friller,frilly,frim,fringe,fringed,fringy,frisca,frisk,frisker,frisket,frisky,frison,frist,frisure,frit,frith,fritt,fritter,frivol,frixion,friz,frize,frizer,frizz,frizzer,frizzle,frizzly,frizzy,fro,frock,froe,frog,frogbit,frogeye,frogged,froggy,frogleg,froglet,frogman,froise,frolic,from,frond,fronded,front,frontad,frontal,fronted,fronter,froom,frore,frory,frosh,frost,frosted,froster,frosty,frot,froth,frother,frothy,frotton,frough,froughy,frounce,frow,froward,frower,frowl,frown,frowner,frowny,frowst,frowsty,frowy,frowze,frowzly,frowzy,froze,frozen,fructed,frugal,fruggan,fruit,fruited,fruiter,fruity,frump,frumple,frumpy,frush,frustum,frutify,fry,fryer,fu,fub,fubby,fubsy,fucate,fuchsin,fuci,fucoid,fucosan,fucose,fucous,fucus,fud,fuddle,fuddler,fuder,fudge,fudger,fudgy,fuel,fueler,fuerte,fuff,fuffy,fugal,fugally,fuggy,fugient,fugle,fugler,fugu,fugue,fuguist,fuidhir,fuji,fulcral,fulcrum,fulfill,fulgent,fulgid,fulgide,fulgor,fulham,fulk,full,fullam,fuller,fullery,fulling,fullish,fullom,fully,fulmar,fulmine,fulsome,fulth,fulvene,fulvid,fulvous,fulwa,fulyie,fulzie,fum,fumado,fumage,fumaric,fumaryl,fumble,fumbler,fume,fumer,fumet,fumette,fumily,fuming,fumose,fumous,fumy,fun,fund,fundal,funded,funder,fundi,fundic,funds,fundus,funeral,funest,fungal,fungate,fungi,fungian,fungic,fungin,fungo,fungoid,fungose,fungous,fungus,fungusy,funicle,funis,funk,funker,funky,funnel,funnily,funny,funori,funt,fur,fural,furan,furazan,furbish,furca,furcal,furcate,furcula,furdel,furfur,furiant,furied,furify,furil,furilic,furiosa,furioso,furious,furison,furl,furler,furless,furlong,furnace,furnage,furner,furnish,furoic,furoid,furoin,furole,furor,furore,furphy,furred,furrier,furrily,furring,furrow,furrowy,furry,further,furtive,fury,furyl,furze,furzed,furzery,furzy,fusain,fusate,fusc,fuscin,fuscous,fuse,fused,fusee,fusht,fusible,fusibly,fusil,fusilly,fusion,fusoid,fuss,fusser,fussify,fussily,fussock,fussy,fust,fustee,fustet,fustian,fustic,fustily,fustin,fustle,fusty,fusuma,fusure,fut,futchel,fute,futhorc,futile,futtock,futural,future,futuric,futwa,fuye,fuze,fuzz,fuzzily,fuzzy,fyke,fylfot,fyrd,g,ga,gab,gabbard,gabber,gabble,gabbler,gabbro,gabby,gabelle,gabgab,gabi,gabion,gable,gablet,gablock,gaby,gad,gadbee,gadbush,gadded,gadder,gaddi,gadding,gaddish,gade,gadfly,gadge,gadger,gadget,gadid,gadling,gadman,gadoid,gadroon,gadsman,gaduin,gadwall,gaen,gaet,gaff,gaffe,gaffer,gaffle,gag,gagate,gage,gagee,gageite,gager,gagger,gaggery,gaggle,gaggler,gagman,gagor,gagroot,gahnite,gaiassa,gaiety,gaily,gain,gainage,gaine,gainer,gainful,gaining,gainly,gains,gainsay,gainset,gainst,gair,gait,gaited,gaiter,gaiting,gaize,gaj,gal,gala,galah,galanas,galanga,galant,galany,galatea,galaxy,galban,gale,galea,galeage,galeate,galee,galeeny,galeid,galena,galenic,galeoid,galera,galerum,galerus,galet,galey,galgal,gali,galilee,galiot,galipot,gall,galla,gallah,gallant,gallate,galled,gallein,galleon,galler,gallery,gallet,galley,gallfly,gallic,galline,galling,gallium,gallnut,gallon,galloon,gallop,gallous,gallows,gally,galoot,galop,galore,galosh,galp,galt,galumph,galuth,galyac,galyak,gam,gamahe,gamasid,gamb,gamba,gambade,gambado,gambang,gambeer,gambet,gambia,gambier,gambist,gambit,gamble,gambler,gamboge,gambol,gambrel,game,gamebag,gameful,gamely,gamene,gametal,gamete,gametic,gamic,gamily,gamin,gaming,gamma,gammer,gammick,gammock,gammon,gammy,gamont,gamori,gamp,gamut,gamy,gan,ganam,ganch,gander,gandul,gandum,gane,ganef,gang,ganga,gangan,gangava,gangdom,gange,ganger,ganging,gangism,ganglia,gangly,gangman,gangrel,gangue,gangway,ganja,ganner,gannet,ganoid,ganoin,ganosis,gansel,gansey,gansy,gant,ganta,gantang,gantlet,ganton,gantry,gantsl,ganza,ganzie,gaol,gaoler,gap,gapa,gape,gaper,gapes,gaping,gapo,gappy,gapy,gar,gara,garad,garage,garance,garava,garawi,garb,garbage,garbel,garbell,garbill,garble,garbler,garboil,garbure,garce,gardant,gardeen,garden,gardeny,gardy,gare,gareh,garetta,garfish,garget,gargety,gargle,gargol,garial,gariba,garish,garland,garle,garlic,garment,garn,garnel,garner,garnet,garnets,garnett,garnetz,garnice,garniec,garnish,garoo,garrafa,garran,garret,garrot,garrote,garrupa,garse,garsil,garston,garten,garter,garth,garum,garvey,garvock,gas,gasbag,gaseity,gaseous,gash,gashes,gashful,gashly,gashy,gasify,gasket,gaskin,gasking,gaskins,gasless,gaslit,gaslock,gasman,gasp,gasper,gasping,gaspy,gasser,gassing,gassy,gast,gaster,gastral,gastric,gastrin,gat,gata,gatch,gate,gateado,gateage,gated,gateman,gater,gateway,gather,gating,gator,gatter,gau,gaub,gauby,gauche,gaud,gaudery,gaudful,gaudily,gaudy,gaufer,gauffer,gauffre,gaufre,gauge,gauger,gauging,gaulin,gault,gaulter,gaum,gaumish,gaumy,gaun,gaunt,gaunted,gauntly,gauntry,gaunty,gaup,gaupus,gaur,gaus,gauss,gauster,gaut,gauze,gauzily,gauzy,gavall,gave,gavel,gaveler,gavial,gavotte,gavyuti,gaw,gawby,gawcie,gawk,gawkily,gawkish,gawky,gawm,gawn,gawney,gawsie,gay,gayal,gayatri,gaybine,gaycat,gayish,gayment,gayness,gaysome,gayyou,gaz,gazabo,gaze,gazebo,gazee,gazel,gazelle,gazer,gazette,gazi,gazing,gazon,gazy,ge,geal,gean,gear,gearbox,geared,gearing,gearman,gearset,gease,geason,geat,gebang,gebanga,gebbie,gebur,geck,gecko,geckoid,ged,gedackt,gedder,gedeckt,gedrite,gee,geebong,geebung,geejee,geek,geelbec,geerah,geest,geet,geezer,gegg,geggee,gegger,geggery,gein,geira,geisha,geison,geitjie,gel,gelable,gelada,gelatin,geld,geldant,gelder,gelding,gelid,gelidly,gelilah,gell,gelly,gelong,gelose,gelosin,gelt,gem,gemauve,gemel,gemeled,gemless,gemlike,gemma,gemmae,gemmate,gemmer,gemmily,gemmoid,gemmula,gemmule,gemmy,gemot,gemsbok,gemul,gemuti,gemwork,gen,gena,genal,genapp,genarch,gender,gene,genear,geneat,geneki,genep,genera,general,generic,genesic,genesis,genet,genetic,geneva,genial,genian,genic,genie,genii,genin,genion,genip,genipa,genipap,genista,genital,genitor,genius,genizah,genoese,genom,genome,genomic,genos,genre,genro,gens,genson,gent,genteel,gentes,gentian,gentile,gentle,gently,gentman,gentry,genty,genu,genua,genual,genuine,genus,genys,geo,geobios,geodal,geode,geodesy,geodete,geodic,geodist,geoduck,geoform,geogeny,geogony,geoid,geoidal,geology,geomaly,geomant,geomyid,geonoma,geopony,georama,georgic,geosid,geoside,geotaxy,geotic,geoty,ger,gerah,geranic,geranyl,gerate,gerated,geratic,geraty,gerb,gerbe,gerbil,gercrow,gerefa,gerenda,gerent,gerenuk,gerim,gerip,germ,germal,german,germane,germen,germin,germina,germing,germon,germule,germy,gernitz,geront,geronto,gers,gersum,gerund,gerusia,gervao,gesith,gesning,gesso,gest,gestant,gestate,geste,gested,gesten,gestic,gestion,gesture,get,geta,getah,getaway,gether,getling,getter,getting,getup,geum,gewgaw,gewgawy,gey,geyan,geyser,gez,ghafir,ghaist,ghalva,gharial,gharnao,gharry,ghastly,ghat,ghatti,ghatwal,ghazi,ghazism,ghebeta,ghee,gheleem,gherkin,ghetti,ghetto,ghizite,ghoom,ghost,ghoster,ghostly,ghosty,ghoul,ghrush,ghurry,giant,giantly,giantry,giardia,giarra,giarre,gib,gibaro,gibbals,gibbed,gibber,gibbet,gibbles,gibbon,gibbose,gibbous,gibbus,gibby,gibe,gibel,giber,gibing,gibleh,giblet,giblets,gibus,gid,giddap,giddea,giddify,giddily,giddy,gidgee,gie,gied,gien,gif,gift,gifted,giftie,gig,gigback,gigeria,gigful,gigger,giggish,giggit,giggle,giggler,giggly,giglet,giglot,gigman,gignate,gigolo,gigot,gigsman,gigster,gigtree,gigunu,gilbert,gild,gilded,gilden,gilder,gilding,gilguy,gilia,gilim,gill,gilled,giller,gillie,gilling,gilly,gilo,gilpy,gilse,gilt,giltcup,gim,gimbal,gimble,gimel,gimlet,gimlety,gimmal,gimmer,gimmick,gimp,gimped,gimper,gimping,gin,ging,ginger,gingery,gingham,gingili,gingiva,gink,ginkgo,ginned,ginner,ginners,ginnery,ginney,ginning,ginnle,ginny,ginseng,ginward,gio,gip,gipon,gipper,gipser,gipsire,giraffe,girasol,girba,gird,girder,girding,girdle,girdler,girl,girleen,girlery,girlie,girling,girlish,girlism,girly,girn,girny,giro,girr,girse,girsh,girsle,girt,girth,gisarme,gish,gisla,gisler,gist,git,gitalin,gith,gitonin,gitoxin,gittern,gittith,give,given,giver,givey,giving,gizz,gizzard,gizzen,gizzern,glace,glaceed,glacial,glacier,glacis,glack,glad,gladden,gladdon,gladdy,glade,gladeye,gladful,gladify,gladii,gladius,gladly,glady,glaga,glaieul,glaik,glaiket,glair,glairy,glaive,glaived,glaked,glaky,glam,glamour,glance,glancer,gland,glandes,glans,glar,glare,glarily,glaring,glarry,glary,glashan,glass,glassen,glasser,glasses,glassie,glassy,glaucin,glaum,glaur,glaury,glaver,glaze,glazed,glazen,glazer,glazier,glazily,glazing,glazy,gleam,gleamy,glean,gleaner,gleary,gleba,glebal,glebe,glebous,glede,gledy,glee,gleed,gleeful,gleek,gleeman,gleet,gleety,gleg,glegly,glen,glenoid,glent,gleyde,glia,gliadin,glial,glib,glibly,glidder,glide,glider,gliding,gliff,glime,glimmer,glimpse,glink,glint,glioma,gliosa,gliosis,glirine,glisk,glisky,glisten,glister,glitter,gloam,gloat,gloater,global,globate,globe,globed,globin,globoid,globose,globous,globule,globy,glochid,glochis,gloea,gloeal,glom,glome,glommox,glomus,glonoin,gloom,gloomth,gloomy,glop,gloppen,glor,glore,glorify,glory,gloss,glossa,glossal,glossed,glosser,glossic,glossy,glost,glottal,glottic,glottid,glottis,glout,glove,glover,glovey,gloving,glow,glower,glowfly,glowing,gloy,gloze,glozing,glub,glucase,glucid,glucide,glucina,glucine,gluck,glucose,glue,glued,gluepot,gluer,gluey,glug,gluish,glum,gluma,glumal,glume,glumly,glummy,glumose,glump,glumpy,glunch,glusid,gluside,glut,glutch,gluteal,gluten,gluteus,glutin,glutoid,glutose,glutter,glutton,glycid,glycide,glycine,glycol,glycose,glycyl,glyoxal,glyoxim,glyoxyl,glyph,glyphic,glyptic,glyster,gnabble,gnar,gnarl,gnarled,gnarly,gnash,gnat,gnathal,gnathic,gnatter,gnatty,gnaw,gnawer,gnawing,gnawn,gneiss,gneissy,gnome,gnomed,gnomic,gnomide,gnomish,gnomist,gnomon,gnosis,gnostic,gnu,go,goa,goad,goaf,goal,goalage,goalee,goalie,goanna,goat,goatee,goateed,goatish,goatly,goaty,goave,gob,goback,goban,gobang,gobbe,gobber,gobbet,gobbin,gobbing,gobble,gobbler,gobby,gobelin,gobi,gobiid,gobioid,goblet,goblin,gobline,gobo,gobony,goburra,goby,gocart,god,goddard,godded,goddess,goddize,gode,godet,godhead,godhood,godkin,godless,godlet,godlike,godlily,godling,godly,godown,godpapa,godsend,godship,godson,godwit,goeduck,goel,goelism,goer,goes,goetia,goetic,goety,goff,goffer,goffle,gog,gogga,goggan,goggle,goggled,goggler,goggly,goglet,gogo,goi,going,goitcho,goiter,goitral,gol,gola,golach,goladar,gold,goldbug,goldcup,golden,golder,goldie,goldin,goldish,goldtit,goldy,golee,golem,golf,golfdom,golfer,goli,goliard,goliath,golland,gollar,golly,goloe,golpe,gomari,gomart,gomavel,gombay,gombeen,gomer,gomeral,gomlah,gomuti,gon,gonad,gonadal,gonadic,gonagra,gonakie,gonal,gonapod,gondang,gondite,gondola,gone,goner,gong,gongman,gonia,goniac,gonial,goniale,gonid,gonidia,gonidic,gonimic,gonion,gonitis,gonium,gonne,gony,gonys,goo,goober,good,gooding,goodish,goodly,goodman,goods,goody,goof,goofer,goofily,goofy,googly,googol,googul,gook,gool,goolah,gools,gooma,goon,goondie,goonie,goose,goosery,goosish,goosy,gopher,gopura,gor,gora,goracco,goral,goran,gorb,gorbal,gorbet,gorble,gorce,gorcock,gorcrow,gore,gorer,gorevan,gorfly,gorge,gorged,gorger,gorget,gorglin,gorhen,goric,gorilla,gorily,goring,gorlin,gorlois,gormaw,gormed,gorra,gorraf,gorry,gorse,gorsedd,gorsy,gory,gos,gosain,goschen,gosh,goshawk,goslet,gosling,gosmore,gospel,gosport,gossan,gossard,gossip,gossipy,gossoon,gossy,got,gotch,gote,gothite,gotra,gotraja,gotten,gouaree,gouge,gouger,goujon,goulash,goumi,goup,gourami,gourd,gourde,gourdy,gourmet,gousty,gout,goutify,goutily,goutish,goutte,gouty,gove,govern,gowan,gowdnie,gowf,gowfer,gowk,gowked,gowkit,gowl,gown,gownlet,gowpen,goy,goyim,goyin,goyle,gozell,gozzard,gra,grab,grabber,grabble,graben,grace,gracer,gracile,grackle,grad,gradal,gradate,graddan,grade,graded,gradely,grader,gradin,gradine,grading,gradual,gradus,graff,graffer,graft,grafted,grafter,graham,grail,grailer,grain,grained,grainer,grainy,graip,graisse,graith,grallic,gram,grama,grame,grammar,gramme,gramp,grampa,grampus,granada,granage,granary,granate,granch,grand,grandam,grandee,grandly,grandma,grandpa,grane,grange,granger,granite,grank,grannom,granny,grano,granose,grant,grantee,granter,grantor,granula,granule,granza,grape,graped,grapery,graph,graphic,graphy,graping,grapnel,grappa,grapple,grapy,grasp,grasper,grass,grassed,grasser,grasset,grassy,grat,grate,grater,grather,gratify,grating,gratis,gratten,graupel,grave,graved,gravel,gravely,graven,graver,gravic,gravid,graving,gravity,gravure,gravy,grawls,gray,grayfly,grayish,graylag,grayly,graze,grazer,grazier,grazing,grease,greaser,greasy,great,greaten,greater,greatly,greave,greaved,greaves,grebe,grece,gree,greed,greedy,green,greener,greeney,greenly,greenth,greenuk,greeny,greet,greeter,gregal,gregale,grege,greggle,grego,greige,grein,greisen,gremial,gremlin,grenade,greund,grew,grey,greyly,gribble,grice,grid,griddle,gride,griece,grieced,grief,grieve,grieved,griever,griff,griffe,griffin,griffon,grift,grifter,grig,grignet,grigri,grike,grill,grille,grilled,griller,grilse,grim,grimace,grime,grimful,grimily,grimly,grimme,grimp,grimy,grin,grinch,grind,grinder,grindle,gringo,grinner,grinny,grip,gripe,griper,griping,gripman,grippal,grippe,gripper,gripple,grippy,gripy,gris,grisard,griskin,grisly,grison,grist,grister,gristle,gristly,gristy,grit,grith,grits,gritten,gritter,grittle,gritty,grivet,grivna,grizzle,grizzly,groan,groaner,groat,groats,grobian,grocer,grocery,groff,grog,groggy,grogram,groin,groined,grommet,groom,groomer,groomy,groop,groose,groot,grooty,groove,groover,groovy,grope,groper,groping,gropple,gros,groser,groset,gross,grossen,grosser,grossly,grosso,grosz,groszy,grot,grotto,grouch,grouchy,grouf,grough,ground,grounds,groundy,group,grouped,grouper,grouse,grouser,grousy,grout,grouter,grouts,grouty,grouze,grove,groved,grovel,grovy,grow,growan,growed,grower,growing,growl,growler,growly,grown,grownup,growse,growth,growthy,grozart,grozet,grr,grub,grubbed,grubber,grubby,grubs,grudge,grudger,grue,gruel,grueler,gruelly,gruff,gruffly,gruffs,gruffy,grufted,grugru,gruine,grum,grumble,grumbly,grume,grumly,grummel,grummet,grumose,grumous,grump,grumph,grumphy,grumpy,grun,grundy,grunion,grunt,grunter,gruntle,grush,grushie,gruss,grutch,grutten,gryde,grylli,gryllid,gryllos,gryllus,grysbok,guaba,guacimo,guacin,guaco,guaiac,guaiol,guaka,guama,guan,guana,guanaco,guanase,guanay,guango,guanine,guanize,guano,guanyl,guao,guapena,guar,guara,guarabu,guarana,guarani,guard,guarded,guarder,guardo,guariba,guarri,guasa,guava,guavina,guayaba,guayabi,guayabo,guayule,guaza,gubbo,gucki,gud,gudame,guddle,gude,gudge,gudgeon,gudget,gudok,gue,guebucu,guemal,guenepe,guenon,guepard,guerdon,guereza,guess,guesser,guest,guesten,guester,gufa,guff,guffaw,guffer,guffin,guffy,gugal,guggle,gugglet,guglet,guglia,guglio,gugu,guhr,guib,guiba,guidage,guide,guider,guidman,guidon,guige,guignol,guijo,guild,guilder,guildic,guildry,guile,guilery,guilt,guilty,guily,guimpe,guinea,guipure,guisard,guise,guiser,guising,guitar,gul,gula,gulae,gulaman,gular,gularis,gulch,gulden,gule,gules,gulf,gulfy,gulgul,gulix,gull,gullery,gullet,gullion,gullish,gully,gulonic,gulose,gulp,gulper,gulpin,gulping,gulpy,gulsach,gum,gumbo,gumboil,gumby,gumdrop,gumihan,gumless,gumlike,gumly,gumma,gummage,gummata,gummed,gummer,gumming,gummite,gummose,gummous,gummy,gump,gumpus,gumshoe,gumweed,gumwood,gun,guna,gunate,gunboat,gundi,gundy,gunebo,gunfire,gunge,gunite,gunj,gunk,gunl,gunless,gunlock,gunman,gunnage,gunne,gunnel,gunner,gunnery,gunnies,gunning,gunnung,gunny,gunong,gunplay,gunrack,gunsel,gunshop,gunshot,gunsman,gunster,gunter,gunwale,gunyah,gunyang,gunyeh,gup,guppy,gur,gurdle,gurge,gurgeon,gurges,gurgle,gurglet,gurgly,gurjun,gurk,gurl,gurly,gurnard,gurnet,gurniad,gurr,gurrah,gurry,gurt,guru,gush,gusher,gushet,gushily,gushing,gushy,gusla,gusle,guss,gusset,gussie,gust,gustful,gustily,gusto,gusty,gut,gutless,gutlike,gutling,gutt,gutta,guttate,gutte,gutter,guttery,gutti,guttide,guttie,guttle,guttler,guttula,guttule,guttus,gutty,gutweed,gutwise,gutwort,guy,guydom,guyer,guz,guze,guzzle,guzzler,gwag,gweduc,gweed,gweeon,gwely,gwine,gwyniad,gyle,gym,gymel,gymnast,gymnic,gymnics,gymnite,gymnure,gympie,gyn,gyne,gynecic,gynic,gynics,gyp,gype,gypper,gyps,gypsine,gypsite,gypsous,gypster,gypsum,gypsy,gypsyfy,gypsyry,gyral,gyrally,gyrant,gyrate,gyrator,gyre,gyrene,gyri,gyric,gyrinid,gyro,gyrocar,gyroma,gyron,gyronny,gyrose,gyrous,gyrus,gyte,gytling,gyve,h,ha,haab,haaf,habble,habeas,habena,habenal,habenar,habile,habille,habit,habitan,habitat,habited,habitue,habitus,habnab,haboob,habu,habutai,hache,hachure,hack,hackbut,hacked,hackee,hacker,hackery,hackin,hacking,hackle,hackler,hacklog,hackly,hackman,hackney,hacksaw,hacky,had,hadbot,hadden,haddie,haddo,haddock,hade,hading,hadj,hadji,hadland,hadrome,haec,haem,haemony,haet,haff,haffet,haffle,hafiz,hafnium,hafnyl,haft,hafter,hag,hagboat,hagborn,hagbush,hagdon,hageen,hagfish,haggada,haggard,hagged,hagger,haggis,haggish,haggle,haggler,haggly,haggy,hagi,hagia,haglet,haglike,haglin,hagride,hagrope,hagseed,hagship,hagweed,hagworm,hah,haik,haikai,haikal,haikwan,hail,hailer,hailse,haily,hain,haine,hair,haircut,hairdo,haire,haired,hairen,hairif,hairlet,hairpin,hairup,hairy,haje,hajib,hajilij,hak,hakam,hakdar,hake,hakeem,hakim,hako,haku,hala,halakah,halakic,halal,halberd,halbert,halch,halcyon,hale,halebi,haler,halerz,half,halfer,halfman,halfway,halibiu,halibut,halide,halidom,halite,halitus,hall,hallage,hallah,hallan,hallel,hallex,halling,hallman,halloo,hallow,hallux,hallway,halma,halo,halogen,haloid,hals,halse,halsen,halt,halter,halting,halurgy,halutz,halvans,halve,halved,halver,halves,halyard,ham,hamal,hamald,hamate,hamated,hamatum,hamble,hame,hameil,hamel,hamfat,hami,hamlah,hamlet,hammada,hammam,hammer,hammock,hammy,hamose,hamous,hamper,hamsa,hamster,hamular,hamule,hamulus,hamus,hamza,han,hanaper,hanbury,hance,hanced,hanch,hand,handbag,handbow,handcar,handed,hander,handful,handgun,handily,handle,handled,handler,handout,handsaw,handsel,handset,handy,hangar,hangby,hangdog,hange,hangee,hanger,hangie,hanging,hangle,hangman,hangout,hangul,hanif,hank,hanker,hankie,hankle,hanky,hanna,hansa,hanse,hansel,hansom,hant,hantle,hao,haole,haoma,haori,hap,hapless,haplite,haploid,haploma,haplont,haply,happen,happier,happify,happily,happing,happy,hapten,haptene,haptere,haptic,haptics,hapu,hapuku,harass,haratch,harbi,harbor,hard,harden,harder,hardily,hardim,hardish,hardly,hardock,hardpan,hardy,hare,harebur,harelip,harem,harfang,haricot,harish,hark,harka,harl,harling,harlock,harlot,harm,harmal,harmala,harman,harmel,harmer,harmful,harmine,harmony,harmost,harn,harness,harnpan,harp,harpago,harper,harpier,harpist,harpoon,harpula,harr,harrier,harrow,harry,harsh,harshen,harshly,hart,hartal,hartin,hartite,harvest,hasan,hash,hashab,hasher,hashish,hashy,hask,hasky,haslet,haslock,hasp,hassar,hassel,hassle,hassock,hasta,hastate,hastati,haste,hasten,haster,hastily,hastish,hastler,hasty,hat,hatable,hatband,hatbox,hatbrim,hatch,hatchel,hatcher,hatchet,hate,hateful,hater,hatful,hath,hathi,hatless,hatlike,hatpin,hatrack,hatrail,hatred,hatress,hatt,hatted,hatter,hattery,hatting,hattock,hatty,hau,hauberk,haugh,haught,haughty,haul,haulage,hauld,hauler,haulier,haulm,haulmy,haunch,haunchy,haunt,haunter,haunty,hause,hausen,hausse,hautboy,hauteur,havage,have,haveage,havel,haven,havener,havenet,havent,haver,haverel,haverer,havers,havier,havoc,haw,hawbuck,hawer,hawk,hawkbit,hawked,hawker,hawkery,hawkie,hawking,hawkish,hawknut,hawky,hawm,hawok,hawse,hawser,hay,haya,hayband,haybird,haybote,haycap,haycart,haycock,hayey,hayfork,haylift,hayloft,haymow,hayrack,hayrake,hayrick,hayseed,haysel,haysuck,haytime,hayward,hayweed,haywire,hayz,hazard,haze,hazel,hazeled,hazelly,hazen,hazer,hazily,hazing,hazle,hazy,hazzan,he,head,headcap,headed,header,headful,headily,heading,headman,headset,headway,heady,heaf,heal,heald,healder,healer,healful,healing,health,healthy,heap,heaper,heaps,heapy,hear,hearer,hearing,hearken,hearsay,hearse,hearst,heart,hearted,hearten,hearth,heartly,hearts,hearty,heat,heater,heatful,heath,heathen,heather,heathy,heating,heaume,heaumer,heave,heaven,heavens,heaver,heavies,heavily,heaving,heavity,heavy,hebamic,hebenon,hebete,hebetic,hech,heck,heckle,heckler,hectare,hecte,hectic,hector,heddle,heddler,hedebo,heder,hederic,hederin,hedge,hedger,hedging,hedgy,hedonic,heed,heeder,heedful,heedily,heedy,heehaw,heel,heelcap,heeled,heeler,heeltap,heer,heeze,heezie,heezy,heft,hefter,heftily,hefty,hegari,hegemon,hegira,hegumen,hei,heiau,heifer,heigh,height,heii,heimin,heinous,heir,heirdom,heiress,heitiki,hekteus,helbeh,helcoid,helder,hele,helenin,heliast,helical,heliced,helices,helicin,helicon,helide,heling,helio,helioid,helium,helix,hell,hellbox,hellcat,helldog,heller,helleri,hellhag,hellier,hellion,hellish,hello,helluo,helly,helm,helmage,helmed,helmet,helodes,heloe,heloma,helonin,helosis,helotry,help,helper,helpful,helping,helply,helve,helvell,helver,helvite,hem,hemad,hemal,hemapod,hemase,hematal,hematic,hematid,hematin,heme,hemen,hemera,hemiamb,hemic,hemin,hemina,hemine,heminee,hemiope,hemipic,heml,hemlock,hemmel,hemmer,hemocry,hemoid,hemol,hemopod,hemp,hempen,hempy,hen,henad,henbane,henbill,henbit,hence,hencoop,hencote,hend,hendly,henfish,henism,henlike,henna,hennery,hennin,hennish,henny,henotic,henpeck,henpen,henry,hent,henter,henware,henwife,henwise,henyard,hep,hepar,heparin,hepatic,hepcat,heppen,hepper,heptace,heptad,heptal,heptane,heptene,heptine,heptite,heptoic,heptose,heptyl,heptyne,her,herald,herb,herbage,herbal,herbane,herbary,herbish,herbist,herblet,herbman,herbose,herbous,herby,herd,herdboy,herder,herdic,herding,here,hereat,hereby,herein,herem,hereof,hereon,heresy,heretic,hereto,herile,heriot,heritor,herl,herling,herma,hermaic,hermit,hern,hernani,hernant,herne,hernia,hernial,hero,heroess,heroic,heroid,heroify,heroin,heroine,heroism,heroize,heron,heroner,heronry,herpes,herring,hers,herse,hersed,herself,hership,hersir,hertz,hessite,hest,hestern,het,hetaera,hetaery,heteric,hetero,hething,hetman,hetter,heuau,heugh,heumite,hevi,hew,hewable,hewel,hewer,hewhall,hewn,hewt,hex,hexa,hexace,hexacid,hexact,hexad,hexadic,hexagon,hexagyn,hexane,hexaped,hexapla,hexapod,hexarch,hexene,hexer,hexerei,hexeris,hexine,hexis,hexitol,hexode,hexogen,hexoic,hexone,hexonic,hexosan,hexose,hexyl,hexylic,hexyne,hey,heyday,hi,hia,hiant,hiatal,hiate,hiation,hiatus,hibbin,hic,hicatee,hiccup,hick,hickey,hickory,hidable,hidage,hidalgo,hidated,hidden,hide,hided,hideous,hider,hidling,hie,hieder,hield,hiemal,hieron,hieros,higdon,higgle,higgler,high,highboy,higher,highest,highish,highly,highman,hight,hightop,highway,higuero,hijack,hike,hiker,hilch,hilding,hill,hiller,hillet,hillman,hillock,hilltop,hilly,hilsa,hilt,hilum,hilus,him,himp,himself,himward,hin,hinau,hinch,hind,hinder,hing,hinge,hinger,hingle,hinney,hinny,hinoid,hinoki,hint,hinter,hiodont,hip,hipbone,hipe,hiper,hiphalt,hipless,hipmold,hipped,hippen,hippian,hippic,hipping,hippish,hipple,hippo,hippoid,hippus,hippy,hipshot,hipwort,hirable,hircine,hire,hired,hireman,hirer,hirmos,hiro,hirple,hirse,hirsel,hirsle,hirsute,his,hish,hisn,hispid,hiss,hisser,hissing,hist,histie,histoid,histon,histone,history,histrio,hit,hitch,hitcher,hitchy,hithe,hither,hitless,hitter,hive,hiver,hives,hizz,ho,hoar,hoard,hoarder,hoarily,hoarish,hoarse,hoarsen,hoary,hoast,hoatzin,hoax,hoaxee,hoaxer,hob,hobber,hobbet,hobbil,hobble,hobbler,hobbly,hobby,hoblike,hobnail,hobnob,hobo,hoboism,hocco,hock,hocker,hocket,hockey,hocky,hocus,hod,hodden,hodder,hoddle,hoddy,hodful,hodman,hoe,hoecake,hoedown,hoeful,hoer,hog,hoga,hogan,hogback,hogbush,hogfish,hogged,hogger,hoggery,hogget,hoggie,hoggin,hoggish,hoggism,hoggy,hogherd,hoghide,hoghood,hoglike,hogling,hogmace,hognose,hognut,hogpen,hogship,hogskin,hogsty,hogward,hogwash,hogweed,hogwort,hogyard,hoi,hoick,hoin,hoise,hoist,hoister,hoit,hoju,hokey,hokum,holard,holcad,hold,holdall,holden,holder,holding,holdout,holdup,hole,holeman,holer,holey,holia,holiday,holily,holing,holism,holl,holla,holler,hollin,hollo,hollock,hollong,hollow,holly,holm,holmia,holmic,holmium,holmos,holour,holster,holt,holy,holyday,homage,homager,home,homelet,homely,homelyn,homeoid,homer,homey,homily,hominal,hominid,hominy,homish,homo,homodox,homogen,homonym,homrai,homy,honda,hondo,hone,honest,honesty,honey,honeyed,hong,honied,honily,honk,honker,honor,honoree,honorer,hontish,hontous,hooch,hood,hoodcap,hooded,hoodful,hoodie,hoodlum,hoodman,hoodoo,hoodshy,hooey,hoof,hoofed,hoofer,hoofish,hooflet,hoofrot,hoofs,hoofy,hook,hookah,hooked,hooker,hookers,hookish,hooklet,hookman,hooktip,hookum,hookup,hooky,hoolock,hooly,hoon,hoop,hooped,hooper,hooping,hoopla,hoople,hoopman,hoopoe,hoose,hoosh,hoot,hootay,hooter,hoove,hooven,hoovey,hop,hopbine,hopbush,hope,hoped,hopeful,hopeite,hoper,hopi,hoplite,hopoff,hopped,hopper,hoppers,hoppet,hoppity,hopple,hoppy,hoptoad,hopvine,hopyard,hora,horal,horary,hordary,horde,hordein,horizon,horme,hormic,hormigo,hormion,hormist,hormone,hormos,horn,horned,horner,hornet,hornety,hornful,hornify,hornily,horning,hornish,hornist,hornito,hornlet,horntip,horny,horrent,horreum,horrid,horrify,horror,horse,horser,horsify,horsily,horsing,horst,horsy,hortite,hory,hosanna,hose,hosed,hosel,hoseman,hosier,hosiery,hospice,host,hostage,hostel,hoster,hostess,hostie,hostile,hosting,hostler,hostly,hostry,hot,hotbed,hotbox,hotch,hotel,hotfoot,hothead,hoti,hotly,hotness,hotspur,hotter,hottery,hottish,houbara,hough,hougher,hounce,hound,hounder,houndy,hour,hourful,houri,hourly,housage,housal,house,housel,houser,housing,housty,housy,houtou,houvari,hove,hovel,hoveler,hoven,hover,hoverer,hoverly,how,howadji,howbeit,howdah,howder,howdie,howdy,howe,howel,however,howff,howish,howk,howkit,howl,howler,howlet,howling,howlite,howso,hox,hoy,hoyden,hoyle,hoyman,huaca,huaco,huarizo,hub,hubb,hubba,hubber,hubble,hubbly,hubbub,hubby,hubshi,huchen,hucho,huck,huckle,hud,huddle,huddler,huddock,huddup,hue,hued,hueful,hueless,huer,huff,huffier,huffily,huffish,huffle,huffler,huffy,hug,huge,hugely,hugeous,hugger,hugging,huggle,hugsome,huh,huia,huipil,huitain,huke,hula,huldee,hulk,hulkage,hulking,hulky,hull,huller,hullock,hulloo,hulsite,hulster,hulu,hulver,hum,human,humane,humanly,humate,humble,humbler,humblie,humbly,humbo,humbug,humbuzz,humdrum,humect,humeral,humeri,humerus,humet,humetty,humhum,humic,humid,humidly,humidor,humific,humify,humin,humite,humlie,hummel,hummer,hummie,humming,hummock,humor,humoral,humous,hump,humped,humph,humpty,humpy,humus,hunch,hunchet,hunchy,hundi,hundred,hung,hunger,hungry,hunh,hunk,hunker,hunkers,hunkies,hunks,hunky,hunt,hunting,hup,hura,hurdies,hurdis,hurdle,hurdler,hurds,hure,hureek,hurgila,hurkle,hurl,hurled,hurler,hurley,hurling,hurlock,hurly,huron,hurr,hurrah,hurried,hurrier,hurrock,hurroo,hurry,hurst,hurt,hurted,hurter,hurtful,hurting,hurtle,hurty,husband,huse,hush,hushaby,husheen,hushel,husher,hushful,hushing,hushion,husho,husk,husked,husker,huskily,husking,husky,huso,huspil,huss,hussar,hussy,husting,hustle,hustler,hut,hutch,hutcher,hutchet,huthold,hutia,hutlet,hutment,huvelyk,huzoor,huzz,huzza,huzzard,hyaena,hyaline,hyalite,hyaloid,hybosis,hybrid,hydatid,hydnoid,hydrant,hydrate,hydrazo,hydria,hydric,hydride,hydro,hydroa,hydroid,hydrol,hydrome,hydrone,hydrops,hydrous,hydroxy,hydrula,hyena,hyenic,hyenine,hyenoid,hyetal,hygeist,hygiene,hygric,hygrine,hygroma,hying,hyke,hyle,hyleg,hylic,hylism,hylist,hyloid,hymen,hymenal,hymenic,hymn,hymnal,hymnary,hymner,hymnic,hymnist,hymnode,hymnody,hynde,hyne,hyoid,hyoidal,hyoidan,hyoides,hyp,hypate,hypaton,hyper,hypha,hyphal,hyphema,hyphen,hypho,hypnody,hypnoid,hypnone,hypo,hypogee,hypoid,hyponym,hypopus,hyporit,hyppish,hypural,hyraces,hyracid,hyrax,hyson,hyssop,i,iamb,iambi,iambic,iambist,iambize,iambus,iao,iatric,iba,iberite,ibex,ibices,ibid,ibidine,ibis,ibolium,ibota,icaco,ice,iceberg,iceboat,icebone,icebox,icecap,iced,icefall,icefish,iceland,iceleaf,iceless,icelike,iceman,iceroot,icework,ich,ichnite,icho,ichor,ichthus,ichu,icica,icicle,icicled,icily,iciness,icing,icon,iconic,iconism,icosian,icotype,icteric,icterus,ictic,ictuate,ictus,icy,id,idalia,idant,iddat,ide,idea,ideaed,ideaful,ideal,ideally,ideate,ideist,identic,ides,idgah,idiasm,idic,idiocy,idiom,idiot,idiotcy,idiotic,idiotry,idite,iditol,idle,idleful,idleman,idler,idleset,idlety,idlish,idly,idol,idola,idolify,idolism,idolist,idolize,idolous,idolum,idoneal,idorgan,idose,idryl,idyl,idyler,idylism,idylist,idylize,idyllic,ie,if,ife,iffy,igloo,ignatia,ignavia,igneous,ignify,ignite,igniter,ignitor,ignoble,ignobly,ignore,ignorer,ignote,iguana,iguanid,ihi,ihleite,ihram,iiwi,ijma,ijolite,ikat,ikey,ikona,ikra,ileac,ileitis,ileon,ilesite,ileum,ileus,ilex,ilia,iliac,iliacus,iliahi,ilial,iliau,ilicic,ilicin,ilima,ilium,ilk,ilka,ilkane,ill,illapse,illeck,illegal,illeism,illeist,illess,illfare,illicit,illish,illium,illness,illocal,illogic,illoyal,illth,illude,illuder,illume,illumer,illupi,illure,illusor,illy,ilot,ilvaite,image,imager,imagery,imagine,imagism,imagist,imago,imam,imamah,imamate,imamic,imaret,imban,imband,imbarge,imbark,imbarn,imbased,imbat,imbauba,imbe,imbed,imber,imbibe,imbiber,imbondo,imbosom,imbower,imbrex,imbrue,imbrute,imbue,imburse,imi,imide,imidic,imine,imino,imitant,imitate,immane,immask,immense,immerd,immerge,immerit,immerse,immew,immi,immit,immix,immoral,immound,immund,immune,immure,immute,imonium,imp,impack,impact,impages,impaint,impair,impala,impale,impaler,impall,impalm,impalsy,impane,impanel,impar,impark,imparl,impart,impasse,impaste,impasto,impave,impavid,impawn,impeach,impearl,impede,impeder,impel,impen,impend,impent,imperia,imperil,impest,impetre,impetus,imphee,impi,impiety,impinge,impious,impish,implant,implate,implead,implete,implex,implial,impling,implode,implore,implume,imply,impofo,impone,impoor,import,imposal,impose,imposer,impost,impot,impound,impreg,impregn,impresa,imprese,impress,imprest,imprime,imprint,improof,improve,impship,impubic,impugn,impulse,impure,impute,imputer,impy,imshi,imsonic,imu,in,inachid,inadept,inagile,inaja,inane,inanely,inanga,inanity,inapt,inaptly,inarch,inarm,inaugur,inaxon,inbe,inbeing,inbent,inbirth,inblow,inblown,inboard,inbond,inborn,inbound,inbread,inbreak,inbred,inbreed,inbring,inbuilt,inburnt,inburst,inby,incarn,incase,incast,incense,incept,incest,inch,inched,inchpin,incide,incisal,incise,incisor,incite,inciter,incivic,incline,inclip,inclose,include,inclusa,incluse,incog,income,incomer,inconnu,incrash,increep,increst,incross,incrust,incubi,incubus,incudal,incudes,incult,incur,incurse,incurve,incus,incuse,incut,indaba,indan,indane,indart,indazin,indazol,inde,indebt,indeed,indeedy,indene,indent,index,indexed,indexer,indic,indican,indices,indicia,indict,indign,indigo,indite,inditer,indium,indogen,indole,indoles,indolyl,indoor,indoors,indorse,indoxyl,indraft,indrawn,indri,induce,induced,inducer,induct,indue,indulge,indult,indulto,induna,indwell,indy,indyl,indylic,inearth,inept,ineptly,inequal,inerm,inert,inertia,inertly,inesite,ineunt,inexact,inexist,inface,infall,infame,infamy,infancy,infand,infang,infant,infanta,infante,infarct,infare,infaust,infect,infeed,infeft,infelt,infer,infern,inferno,infest,infidel,infield,infill,infilm,infirm,infit,infix,inflame,inflate,inflect,inflex,inflict,inflood,inflow,influx,infold,inform,infra,infract,infula,infuse,infuser,ing,ingate,ingenit,ingenue,ingest,ingesta,ingiver,ingle,inglobe,ingoing,ingot,ingraft,ingrain,ingrate,ingress,ingross,ingrow,ingrown,inguen,ingulf,inhabit,inhale,inhaler,inhaul,inhaust,inhere,inherit,inhiate,inhibit,inhuman,inhume,inhumer,inial,iniome,inion,initial,initis,initive,inject,injelly,injunct,injure,injured,injurer,injury,ink,inkbush,inken,inker,inket,inkfish,inkhorn,inkish,inkle,inkless,inklike,inkling,inknot,inkosi,inkpot,inkroot,inks,inkshed,inkweed,inkwell,inkwood,inky,inlaid,inlaik,inlake,inland,inlaut,inlaw,inlawry,inlay,inlayer,inleak,inlet,inlier,inlook,inly,inlying,inmate,inmeats,inmost,inn,innate,inneity,inner,innerly,innerve,inness,innest,innet,inning,innless,innyard,inocyte,inogen,inoglia,inolith,inoma,inone,inopine,inorb,inosic,inosin,inosite,inower,inphase,inport,inpour,inpush,input,inquest,inquiet,inquire,inquiry,inring,inro,inroad,inroll,inrub,inrun,inrush,insack,insane,insculp,insea,inseam,insect,insee,inseer,insense,insert,inset,inshave,inshell,inship,inshoe,inshoot,inshore,inside,insider,insight,insigne,insipid,insist,insnare,insofar,insole,insolid,insooth,insorb,insoul,inspan,inspeak,inspect,inspire,inspoke,install,instant,instar,instate,instead,insteam,insteep,instep,instill,insula,insular,insulin,insulse,insult,insunk,insure,insured,insurer,insurge,inswamp,inswell,inswept,inswing,intact,intake,intaker,integer,inteind,intend,intense,intent,inter,interim,intern,intext,inthrow,intil,intima,intimal,intine,into,intoed,intone,intoner,intort,intown,intrada,intrait,intrant,intreat,intrine,introit,intrude,intruse,intrust,intube,intue,intuent,intuit,inturn,intwist,inula,inulase,inulin,inuloid,inunct,inure,inured,inurn,inutile,invade,invader,invalid,inveigh,inveil,invein,invent,inverse,invert,invest,invigor,invised,invital,invite,invitee,inviter,invivid,invoice,invoke,invoker,involve,inwale,inwall,inward,inwards,inweave,inweed,inwick,inwind,inwit,inwith,inwood,inwork,inworn,inwound,inwoven,inwrap,inwrit,inyoite,inyoke,io,iodate,iodic,iodide,iodine,iodism,iodite,iodize,iodizer,iodo,iodol,iodoso,iodous,iodoxy,iolite,ion,ionic,ionium,ionize,ionizer,ionogen,ionone,iota,iotize,ipecac,ipid,ipil,ipomea,ipseand,ipseity,iracund,irade,irate,irately,ire,ireful,ireless,irene,irenic,irenics,irian,irid,iridal,iridate,irides,iridial,iridian,iridic,iridin,iridine,iridite,iridium,iridize,iris,irised,irisin,iritic,iritis,irk,irksome,irok,iroko,iron,irone,ironer,ironice,ironish,ironism,ironist,ironize,ironly,ironman,irony,irrisor,irrupt,is,isagoge,isagon,isamine,isatate,isatic,isatide,isatin,isazoxy,isba,ischiac,ischial,ischium,ischury,iserine,iserite,isidium,isidoid,island,islandy,islay,isle,islet,isleted,islot,ism,ismal,ismatic,ismdom,ismy,iso,isoamyl,isobar,isobare,isobase,isobath,isochor,isocola,isocrat,isodont,isoflor,isogamy,isogen,isogeny,isogon,isogram,isohel,isohyet,isolate,isology,isomer,isomere,isomery,isoneph,isonomy,isonym,isonymy,isopag,isopod,isopoly,isoptic,isopyre,isotac,isotely,isotome,isotony,isotope,isotopy,isotron,isotype,isoxime,issei,issite,issuant,issue,issuer,issuing,ist,isthmi,isthmic,isthmus,istle,istoke,isuret,isuroid,it,itacism,itacist,italics,italite,itch,itching,itchy,itcze,item,iteming,itemize,itemy,iter,iterant,iterate,ither,itmo,itoubou,its,itself,iturite,itzebu,iva,ivied,ivin,ivoried,ivorine,ivorist,ivory,ivy,ivylike,ivyweed,ivywood,ivywort,iwa,iwaiwa,iwis,ixodian,ixodic,ixodid,iyo,izar,izard,izle,izote,iztle,izzard,j,jab,jabbed,jabber,jabbing,jabble,jabers,jabia,jabiru,jabot,jabul,jacal,jacamar,jacami,jacamin,jacana,jacare,jacate,jacchus,jacent,jacinth,jack,jackal,jackass,jackbox,jackboy,jackdaw,jackeen,jacker,jacket,jackety,jackleg,jackman,jacko,jackrod,jacksaw,jacktan,jacobus,jacoby,jaconet,jactant,jacu,jacuaru,jadder,jade,jaded,jadedly,jadeite,jadery,jadish,jady,jaeger,jag,jagat,jager,jagged,jagger,jaggery,jaggy,jagir,jagla,jagless,jagong,jagrata,jagua,jaguar,jail,jailage,jaildom,jailer,jailish,jajman,jake,jakes,jako,jalap,jalapa,jalapin,jalkar,jalopy,jalouse,jam,jama,jaman,jamb,jambeau,jambo,jambone,jambool,jambosa,jamdani,jami,jamlike,jammer,jammy,jampan,jampani,jamwood,janapa,janapan,jane,jangada,jangkar,jangle,jangler,jangly,janitor,jank,janker,jann,jannock,jantu,janua,jaob,jap,japan,jape,japer,japery,japing,japish,jaquima,jar,jara,jaragua,jarbird,jarble,jarbot,jarfly,jarful,jarg,jargon,jarkman,jarl,jarldom,jarless,jarnut,jarool,jarra,jarrah,jarring,jarry,jarvey,jasey,jaseyed,jasmine,jasmone,jasper,jaspery,jaspis,jaspoid,jass,jassid,jassoid,jatha,jati,jato,jaudie,jauk,jaun,jaunce,jaunder,jaunt,jauntie,jaunty,jaup,javali,javelin,javer,jaw,jawab,jawbone,jawed,jawfall,jawfish,jawfoot,jawless,jawy,jay,jayhawk,jaypie,jaywalk,jazz,jazzer,jazzily,jazzy,jealous,jean,jeans,jecoral,jecorin,jed,jedcock,jedding,jeddock,jeel,jeep,jeer,jeerer,jeering,jeery,jeff,jehu,jehup,jejunal,jejune,jejunum,jelab,jelick,jell,jellica,jellico,jellied,jellify,jellily,jelloid,jelly,jemadar,jemmily,jemmy,jenkin,jenna,jennet,jennier,jenny,jeofail,jeopard,jerboa,jereed,jerez,jerib,jerk,jerker,jerkily,jerkin,jerkish,jerky,jerl,jerm,jerque,jerquer,jerry,jersey,jert,jervia,jervina,jervine,jess,jessamy,jessant,jessed,jessur,jest,jestee,jester,jestful,jesting,jet,jetbead,jete,jetsam,jettage,jetted,jetter,jettied,jetton,jetty,jetware,jewbird,jewbush,jewel,jeweler,jewelry,jewely,jewfish,jezail,jeziah,jharal,jheel,jhool,jhow,jib,jibbah,jibber,jibby,jibe,jibhead,jibi,jibman,jiboa,jibstay,jicama,jicara,jiff,jiffle,jiffy,jig,jigger,jiggers,jigget,jiggety,jiggish,jiggle,jiggly,jiggy,jiglike,jigman,jihad,jikungu,jillet,jilt,jiltee,jilter,jiltish,jimbang,jimjam,jimmy,jimp,jimply,jina,jing,jingal,jingle,jingled,jingler,jinglet,jingly,jingo,jinja,jinjili,jink,jinker,jinket,jinkle,jinks,jinn,jinni,jinny,jinriki,jinx,jipper,jiqui,jirble,jirga,jiti,jitneur,jitney,jitro,jitter,jitters,jittery,jiva,jive,jixie,jo,job,jobade,jobarbe,jobber,jobbery,jobbet,jobbing,jobbish,jobble,jobless,jobman,jobo,joch,jock,jocker,jockey,jocko,jocoque,jocose,jocote,jocu,jocular,jocum,jocuma,jocund,jodel,jodelr,joe,joebush,joewood,joey,jog,jogger,joggle,joggler,joggly,johnin,join,joinant,joinder,joiner,joinery,joining,joint,jointed,jointer,jointly,jointy,joist,jojoba,joke,jokelet,joker,jokish,jokist,jokul,joky,joll,jollier,jollify,jollily,jollity,jollop,jolly,jolt,jolter,jolting,jolty,jonque,jonquil,joola,joom,jordan,joree,jorum,joseite,josh,josher,joshi,josie,joskin,joss,josser,jostle,jostler,jot,jota,jotisi,jotter,jotting,jotty,joubarb,joug,jough,jouk,joule,joulean,jounce,journal,journey,jours,joust,jouster,jovial,jow,jowar,jowari,jowel,jower,jowery,jowl,jowler,jowlish,jowlop,jowly,jowpy,jowser,jowter,joy,joyance,joyancy,joyant,joyful,joyhop,joyleaf,joyless,joylet,joyous,joysome,joyweed,juba,jubate,jubbah,jubbe,jube,jubilee,jubilus,juck,juckies,jud,judcock,judex,judge,judger,judices,judo,jufti,jug,jugal,jugale,jugate,jugated,juger,jugerum,jugful,jugger,juggins,juggle,juggler,juglone,jugular,jugulum,jugum,juice,juicily,juicy,jujitsu,juju,jujube,jujuism,jujuist,juke,jukebox,julep,julid,julidan,julio,juloid,julole,julolin,jumart,jumba,jumble,jumbler,jumbly,jumbo,jumbuck,jumby,jumelle,jument,jumfru,jumma,jump,jumper,jumpy,juncite,juncous,june,jungle,jungled,jungli,jungly,juniata,junior,juniper,junk,junker,junket,junking,junkman,junt,junta,junto,jupati,jupe,jupon,jural,jurally,jurant,jurara,jurat,jurator,jure,jurel,juridic,juring,jurist,juror,jury,juryman,jussel,jussion,jussive,jussory,just,justen,justice,justify,justly,justo,jut,jute,jutka,jutting,jutty,juvenal,juvia,juvite,jyngine,jynx,k,ka,kabaya,kabel,kaberu,kabiet,kabuki,kachin,kadaya,kadein,kados,kaffir,kafir,kafirin,kafiz,kafta,kago,kagu,kaha,kahar,kahau,kahili,kahu,kahuna,kai,kaid,kaik,kaikara,kail,kainga,kainite,kainsi,kainyn,kairine,kaiser,kaitaka,kaiwi,kajawah,kaka,kakapo,kakar,kaki,kakkak,kakke,kala,kalasie,kale,kalema,kalends,kali,kalian,kalium,kallah,kallege,kalo,kalon,kalong,kalpis,kamahi,kamala,kamansi,kamao,kamas,kamassi,kambal,kamboh,kame,kamerad,kamias,kamichi,kamik,kampong,kan,kana,kanae,kanagi,kanap,kanara,kanari,kanat,kanchil,kande,kandol,kaneh,kang,kanga,kangani,kankie,kannume,kanoon,kans,kantele,kanten,kaolin,kapa,kapai,kapeika,kapok,kapp,kappa,kappe,kapur,kaput,karagan,karaka,karakul,karamu,karaoke,karate,karaya,karbi,karch,kareao,kareeta,karela,karite,karma,karmic,karo,kaross,karou,karree,karri,karroo,karsha,karst,karstic,kartel,kartos,karwar,karyon,kasa,kasbah,kasbeke,kasher,kashga,kashi,kashima,kasida,kasm,kassu,kastura,kat,katar,katcina,kath,katha,kathal,katipo,katmon,katogle,katsup,katuka,katun,katurai,katydid,kauri,kava,kavaic,kavass,kawaka,kawika,kay,kayak,kayaker,kayles,kayo,kazi,kazoo,kea,keach,keacorn,keawe,keb,kebab,kebbie,kebbuck,kechel,keck,keckle,kecksy,kecky,ked,keddah,kedge,kedger,kedlock,keech,keek,keeker,keel,keelage,keeled,keeler,keelfat,keelie,keeling,keelman,keelson,keen,keena,keened,keener,keenly,keep,keeper,keeping,keest,keet,keeve,kef,keffel,kefir,kefiric,keg,kegler,kehaya,keita,keitloa,kekuna,kelchin,keld,kele,kelebe,keleh,kelek,kelep,kelk,kell,kella,kellion,kelly,keloid,kelp,kelper,kelpie,kelpy,kelt,kelter,kelty,kelvin,kemb,kemp,kempite,kemple,kempt,kempy,ken,kenaf,kenareh,kench,kend,kendir,kendyr,kenlore,kenmark,kennel,kenner,kenning,kenno,keno,kenosis,kenotic,kenspac,kent,kenyte,kep,kepi,kept,kerana,kerasin,kerat,keratin,keratto,kerchoo,kerchug,kerel,kerf,kerflap,kerflop,kermes,kermis,kern,kernel,kerner,kernish,kernite,kernos,kerogen,kerrie,kerril,kerrite,kerry,kersey,kerslam,kerugma,kerwham,kerygma,kestrel,ket,keta,ketal,ketch,ketchup,keten,ketene,ketipic,keto,ketogen,ketol,ketole,ketone,ketonic,ketose,ketosis,kette,ketting,kettle,kettler,ketty,ketuba,ketupa,ketyl,keup,kevalin,kevel,kewpie,kex,kexy,key,keyage,keyed,keyhole,keyless,keylet,keylock,keynote,keyway,khaddar,khadi,khahoon,khaiki,khair,khaja,khajur,khaki,khakied,khalifa,khalsa,khamsin,khan,khanate,khanda,khanjar,khanjee,khankah,khanum,khar,kharaj,kharua,khass,khat,khatib,khatri,khediva,khedive,khepesh,khet,khilat,khir,khirka,khoja,khoka,khot,khu,khubber,khula,khutbah,khvat,kiack,kiaki,kialee,kiang,kiaugh,kibber,kibble,kibbler,kibe,kibei,kibitka,kibitz,kiblah,kibosh,kiby,kick,kickee,kicker,kicking,kickish,kickoff,kickout,kickup,kidder,kiddier,kiddish,kiddush,kiddy,kidhood,kidlet,kidling,kidnap,kidney,kidskin,kidsman,kiekie,kiel,kier,kieye,kikar,kike,kiki,kiku,kikuel,kikumon,kil,kiladja,kilah,kilan,kildee,kileh,kilerg,kiley,kilhig,kiliare,kilim,kill,killas,killcu,killeen,killer,killick,killing,killy,kiln,kilneye,kilnman,kilnrib,kilo,kilobar,kiloton,kilovar,kilp,kilt,kilter,kiltie,kilting,kim,kimbang,kimnel,kimono,kin,kina,kinah,kinase,kinbote,kinch,kinchin,kincob,kind,kindle,kindler,kindly,kindred,kinepox,kinesic,kinesis,kinetic,king,kingcob,kingcup,kingdom,kinglet,kingly,kingpin,kingrow,kink,kinkhab,kinkily,kinkle,kinkled,kinkly,kinky,kinless,kino,kinship,kinsman,kintar,kioea,kiosk,kiotome,kip,kipage,kipe,kippeen,kipper,kippy,kipsey,kipskin,kiri,kirimon,kirk,kirker,kirkify,kirking,kirkman,kirmew,kirn,kirombo,kirsch,kirtle,kirtled,kirve,kirver,kischen,kish,kishen,kishon,kishy,kismet,kisra,kiss,kissage,kissar,kisser,kissing,kissy,kist,kistful,kiswa,kit,kitab,kitabis,kitar,kitcat,kitchen,kite,kith,kithe,kitish,kitling,kittel,kitten,kitter,kittle,kittles,kittly,kittock,kittul,kitty,kiva,kiver,kivu,kiwi,kiyas,kiyi,klafter,klam,klavern,klaxon,klepht,kleptic,klicket,klip,klipbok,klipdas,klippe,klippen,klister,klom,klop,klops,klosh,kmet,knab,knabble,knack,knacker,knacky,knag,knagged,knaggy,knap,knape,knappan,knapper,knar,knark,knarred,knarry,knave,knavery,knavess,knavish,knawel,knead,kneader,knee,kneecap,kneed,kneel,kneeler,kneelet,kneepad,kneepan,knell,knelt,knet,knew,knez,knezi,kniaz,kniazi,knick,knicker,knife,knifer,knight,knit,knitch,knitted,knitter,knittle,knived,knivey,knob,knobbed,knobber,knobble,knobbly,knobby,knock,knocker,knockup,knoll,knoller,knolly,knop,knopite,knopped,knopper,knoppy,knosp,knosped,knot,knotted,knotter,knotty,knout,know,knowe,knower,knowing,known,knub,knubbly,knubby,knublet,knuckle,knuckly,knur,knurl,knurled,knurly,knut,knutty,knyaz,knyazi,ko,koa,koae,koala,koali,kob,koban,kobi,kobird,kobold,kobong,kobu,koda,kodak,kodaker,kodakry,kodro,koel,koff,koft,koftgar,kohemp,kohl,kohua,koi,koil,koila,koilon,koine,koinon,kojang,kokako,kokam,kokan,kokil,kokio,koklas,koklass,koko,kokoon,kokowai,kokra,koku,kokum,kokumin,kola,kolach,kolea,kolhoz,kolkhos,kolkhoz,kollast,koller,kolo,kolobus,kolsun,komatik,kombu,kommos,kompeni,kon,kona,konak,kongoni,kongu,konini,konjak,kooka,kookery,kookri,koolah,koombar,koomkie,kootcha,kop,kopeck,koph,kopi,koppa,koppen,koppite,kor,kora,koradji,korait,korakan,korari,kore,korec,koreci,korero,kori,korin,korona,korova,korrel,koruna,korzec,kos,kosher,kosin,kosong,koswite,kotal,koto,kotuku,kotwal,kotyle,kotylos,kou,koulan,kouza,kovil,kowhai,kowtow,koyan,kozo,kra,kraal,kraft,krait,kraken,kral,krama,kran,kras,krasis,krausen,kraut,kreis,krelos,kremlin,krems,kreng,krieker,krimmer,krina,krocket,krome,krona,krone,kronen,kroner,kronor,kronur,kroon,krosa,krypsis,kryptic,kryptol,krypton,kuan,kuba,kubba,kuchen,kudize,kudos,kudu,kudzu,kuei,kuge,kugel,kuichua,kukri,kuku,kukui,kukupa,kula,kulack,kulah,kulaite,kulak,kulang,kulimit,kulm,kulmet,kumbi,kumhar,kumiss,kummel,kumquat,kumrah,kunai,kung,kunk,kunkur,kunzite,kuphar,kupper,kurbash,kurgan,kuruma,kurung,kurus,kurvey,kusa,kusam,kusha,kuskite,kuskos,kuskus,kusti,kusum,kutcha,kuttab,kuttar,kuttaur,kuvasz,kvass,kvint,kvinter,kwamme,kwan,kwarta,kwazoku,kyack,kyah,kyar,kyat,kyaung,kyl,kyle,kylite,kylix,kyrine,kyte,l,la,laager,laang,lab,labara,labarum,labba,labber,labefy,label,labeler,labella,labia,labial,labiate,labile,labiose,labis,labium,lablab,labor,labored,laborer,labour,labra,labral,labret,labroid,labrose,labrum,labrys,lac,lacca,laccaic,laccase,laccol,lace,laced,laceman,lacepod,lacer,lacery,lacet,lache,laches,lachsa,lacily,lacing,lacinia,lacis,lack,lacker,lackey,lackwit,lacmoid,lacmus,laconic,lacquer,lacrym,lactam,lactant,lactary,lactase,lactate,lacteal,lactean,lactic,lactid,lactide,lactify,lactim,lacto,lactoid,lactol,lactone,lactose,lactyl,lacuna,lacunae,lacunal,lacunar,lacune,lacwork,lacy,lad,ladakin,ladanum,ladder,laddery,laddess,laddie,laddish,laddock,lade,lademan,laden,lader,ladhood,ladies,ladify,lading,ladkin,ladle,ladler,ladrone,lady,ladybug,ladydom,ladyfly,ladyfy,ladyish,ladyism,ladykin,ladyly,laet,laeti,laetic,lag,lagan,lagarto,lagen,lagena,lagend,lager,lagetto,laggar,laggard,lagged,laggen,lagger,laggin,lagging,laglast,lagna,lagoon,lagwort,lai,laic,laical,laich,laicism,laicity,laicize,laid,laigh,lain,laine,laiose,lair,lairage,laird,lairdie,lairdly,lairman,lairy,laity,lak,lakatoi,lake,lakelet,laker,lakie,laking,lakish,lakism,lakist,laky,lalang,lall,lalling,lalo,lam,lama,lamaic,lamany,lamb,lamba,lambale,lambda,lambeau,lambent,lamber,lambert,lambie,lambish,lambkin,lambly,lamboys,lamby,lame,lamedh,lamel,lamella,lamely,lament,lameter,lametta,lamia,lamiger,lamiid,lamin,lamina,laminae,laminar,lamish,lamiter,lammas,lammer,lammock,lammy,lamnid,lamnoid,lamp,lampad,lampas,lamper,lampern,lampers,lampfly,lampful,lamping,lampion,lampist,lamplet,lamplit,lampman,lampoon,lamprey,lan,lanas,lanate,lanated,lanaz,lance,lanced,lancely,lancer,lances,lancet,lancha,land,landau,landed,lander,landing,landman,landmil,lane,lanete,laneway,laney,langaha,langca,langi,langite,langle,langoon,langsat,langued,languet,languid,languor,langur,laniary,laniate,lanific,lanioid,lanista,lank,lanket,lankily,lankish,lankly,lanky,lanner,lanolin,lanose,lansat,lanseh,lanson,lant,lantaca,lantern,lantum,lanugo,lanum,lanx,lanyard,lap,lapacho,lapcock,lapel,lapeler,lapful,lapillo,lapon,lappage,lapped,lapper,lappet,lapping,lapse,lapsed,lapser,lapsi,lapsing,lapwing,lapwork,laquear,laqueus,lar,larceny,larch,larchen,lard,larder,lardite,lardon,lardy,large,largely,largen,largess,largish,largo,lari,lariat,larick,larid,larigo,larigot,lariid,larin,larine,larixin,lark,larker,larking,larkish,larky,larmier,larnax,laroid,larrup,larry,larva,larvae,larval,larvate,larve,larvule,larynx,las,lasa,lascar,laser,lash,lasher,lask,lasket,lasque,lass,lasset,lassie,lasso,lassock,lassoer,last,lastage,laster,lasting,lastly,lastre,lasty,lat,lata,latah,latch,latcher,latchet,late,latebra,lated,lateen,lately,laten,latence,latency,latent,later,latera,laterad,lateral,latest,latex,lath,lathe,lathee,lathen,lather,lathery,lathing,lathy,latices,latigo,lation,latish,latitat,latite,latomy,latrant,latria,latrine,latro,latrobe,latron,latten,latter,lattice,latus,lauan,laud,lauder,laudist,laugh,laughee,laugher,laughy,lauia,laun,launce,launch,laund,launder,laundry,laur,laura,laurate,laurel,lauric,laurin,laurite,laurone,lauryl,lava,lavable,lavabo,lavacre,lavage,lavanga,lavant,lavaret,lavatic,lave,laveer,laver,lavic,lavish,lavolta,law,lawbook,lawful,lawing,lawish,lawk,lawless,lawlike,lawman,lawn,lawned,lawner,lawnlet,lawny,lawsuit,lawter,lawyer,lawyery,lawzy,lax,laxate,laxism,laxist,laxity,laxly,laxness,lay,layaway,layback,layboy,layer,layered,layery,layette,laying,layland,layman,layne,layoff,layout,layover,layship,laystow,lazar,lazaret,lazarly,laze,lazily,lazule,lazuli,lazy,lazyish,lea,leach,leacher,leachy,lead,leadage,leaded,leaden,leader,leadin,leading,leadman,leadoff,leadout,leadway,leady,leaf,leafage,leafboy,leafcup,leafdom,leafed,leafen,leafer,leafery,leafit,leaflet,leafy,league,leaguer,leak,leakage,leaker,leaky,leal,lealand,leally,lealty,leam,leamer,lean,leaner,leaning,leanish,leanly,leant,leap,leaper,leaping,leapt,lear,learn,learned,learner,learnt,lease,leaser,leash,leasing,leasow,least,leat,leath,leather,leatman,leave,leaved,leaven,leaver,leaves,leaving,leavy,leawill,leban,lebbek,lecama,lech,lecher,lechery,lechwe,leck,lecker,lectern,lection,lector,lectual,lecture,lecyth,led,lede,leden,ledge,ledged,ledger,ledging,ledgy,ledol,lee,leech,leecher,leeches,leed,leefang,leek,leekish,leeky,leep,leepit,leer,leerily,leerish,leery,lees,leet,leetman,leewan,leeward,leeway,leewill,left,leftish,leftism,leftist,leg,legacy,legal,legally,legate,legatee,legato,legator,legend,legenda,leger,leges,legged,legger,legging,leggy,leghorn,legible,legibly,legific,legion,legist,legit,legitim,leglen,legless,leglet,leglike,legman,legoa,legpull,legrope,legua,leguan,legume,legumen,legumin,lehr,lehrman,lehua,lei,leister,leisure,lek,lekach,lekane,lekha,leman,lemel,lemma,lemmata,lemming,lemnad,lemon,lemony,lempira,lemur,lemures,lemurid,lenad,lenard,lench,lend,lendee,lender,lene,length,lengthy,lenient,lenify,lenis,lenitic,lenity,lennow,leno,lens,lensed,lent,lenth,lentigo,lentil,lentisc,lentisk,lento,lentoid,lentor,lentous,lenvoi,lenvoy,leonine,leonite,leopard,leotard,lepa,leper,lepered,leporid,lepra,lepric,leproid,leproma,leprose,leprosy,leprous,leptid,leptite,leptome,lepton,leptus,lerot,lerp,lerret,lesche,lesion,lesiy,less,lessee,lessen,lesser,lessive,lessn,lesson,lessor,lest,lestrad,let,letch,letchy,letdown,lete,lethal,letoff,letten,letter,lettrin,lettuce,letup,leu,leuch,leucine,leucism,leucite,leuco,leucoid,leucoma,leucon,leucous,leucyl,leud,leuk,leuma,lev,levance,levant,levator,levee,level,leveler,levelly,lever,leverer,leveret,levers,levier,levin,levir,levity,levo,levulic,levulin,levy,levyist,lew,lewd,lewdly,lewis,lewth,lexia,lexical,lexicon,ley,leyland,leysing,li,liable,liaison,liana,liang,liar,liard,libant,libate,libber,libbet,libbra,libel,libelee,libeler,liber,liberal,liberty,libido,libken,libra,libral,library,librate,licca,license,lich,licham,lichen,licheny,lichi,licit,licitly,lick,licker,licking,licorn,licorne,lictor,lid,lidded,lidder,lidgate,lidless,lie,lied,lief,liege,liegely,lieger,lien,lienal,lienee,lienic,lienor,lier,lierne,lierre,liesh,lieu,lieue,lieve,life,lifeday,lifeful,lifelet,lifer,lifey,lifo,lift,lifter,lifting,liftman,ligable,ligas,ligate,ligator,ligger,light,lighten,lighter,lightly,ligne,lignify,lignin,lignite,lignone,lignose,lignum,ligula,ligular,ligule,ligulin,ligure,liin,lija,likable,like,likely,liken,liker,likin,liking,liknon,lilac,lilacin,lilacky,lile,lilied,lill,lilt,lily,lilyfy,lim,limacel,limacon,liman,limb,limbal,limbat,limbate,limbeck,limbed,limber,limbers,limbic,limbie,limbo,limbous,limbus,limby,lime,limeade,limeman,limen,limer,limes,limetta,limey,liminal,liming,limit,limital,limited,limiter,limma,limmer,limmock,limmu,limn,limner,limnery,limniad,limnite,limoid,limonin,limose,limous,limp,limper,limpet,limpid,limpily,limpin,limping,limpish,limpkin,limply,limpsy,limpy,limsy,limu,limulid,limy,lin,lina,linable,linaga,linage,linaloa,linalol,linch,linchet,linctus,lindane,linden,linder,lindo,line,linea,lineage,lineal,linear,lineate,linecut,lined,linelet,lineman,linen,liner,ling,linga,linge,lingel,linger,lingo,lingtow,lingua,lingual,linguet,lingula,lingy,linha,linhay,linie,linin,lining,linitis,liniya,linja,linje,link,linkage,linkboy,linked,linker,linking,linkman,links,linky,linn,linnet,lino,linolic,linolin,linon,linous,linoxin,linoxyn,linpin,linseed,linsey,lint,lintel,linten,linter,lintern,lintie,linty,linwood,liny,lion,lioncel,lionel,lioness,lionet,lionism,lionize,lionly,lip,lipa,liparid,lipase,lipemia,lipide,lipin,lipless,liplet,liplike,lipoid,lipoma,lipopod,liposis,lipped,lippen,lipper,lipping,lippy,lipuria,lipwork,liquate,liquefy,liqueur,liquid,liquidy,liquor,lira,lirate,lire,lirella,lis,lisere,lish,lisk,lisle,lisp,lisper,lispund,liss,lissom,lissome,list,listed,listel,listen,lister,listing,listred,lit,litany,litas,litch,litchi,lite,liter,literal,lith,lithe,lithely,lithi,lithia,lithic,lithify,lithite,lithium,litho,lithoid,lithous,lithy,litmus,litotes,litra,litster,litten,litter,littery,little,lituite,liturgy,litus,lituus,litz,livable,live,lived,livedo,lively,liven,liver,livered,livery,livid,lividly,livier,living,livor,livre,liwan,lixive,lizard,llama,llano,llautu,llyn,lo,loa,loach,load,loadage,loaded,loaden,loader,loading,loaf,loafer,loafing,loaflet,loam,loamily,loaming,loamy,loan,loaner,loanin,loath,loathe,loather,loathly,loave,lob,lobal,lobar,lobate,lobated,lobber,lobbish,lobby,lobbyer,lobcock,lobe,lobed,lobelet,lobelin,lobfig,lobing,lobiped,lobo,lobola,lobose,lobster,lobtail,lobular,lobule,lobworm,loca,locable,local,locale,locally,locanda,locate,locator,loch,lochage,lochan,lochia,lochial,lochus,lochy,loci,lock,lockage,lockbox,locked,locker,locket,lockful,locking,lockjaw,locklet,lockman,lockout,lockpin,lockram,lockup,locky,loco,locoism,locular,locule,loculus,locum,locus,locust,locusta,locutor,lod,lode,lodge,lodged,lodger,lodging,loess,loessal,loessic,lof,loft,lofter,loftily,lofting,loftman,lofty,log,loganin,logbook,logcock,loge,logeion,logeum,loggat,logged,logger,loggia,loggin,logging,loggish,loghead,logia,logic,logical,logie,login,logion,logium,loglet,loglike,logman,logoi,logos,logroll,logway,logwise,logwood,logwork,logy,lohan,lohoch,loimic,loin,loined,loir,loiter,loka,lokao,lokaose,loke,loket,lokiec,loll,loller,lollop,lollopy,lolly,loma,lombard,lomboy,loment,lomita,lommock,lone,lonely,long,longa,longan,longbow,longe,longear,longer,longfin,longful,longing,longish,longjaw,longly,longs,longue,longway,lontar,loo,looby,lood,loof,loofah,loofie,look,looker,looking,lookout,lookum,loom,loomer,loomery,looming,loon,loonery,looney,loony,loop,looper,loopful,looping,loopist,looplet,loopy,loose,loosely,loosen,looser,loosing,loosish,loot,looten,looter,lootie,lop,lope,loper,lophiid,lophine,loppard,lopper,loppet,lopping,loppy,lopseed,loquat,loquent,lora,loral,loran,lorate,lorcha,lord,lording,lordkin,lordlet,lordly,lordy,lore,loreal,lored,lori,loric,lorica,lorilet,lorimer,loriot,loris,lormery,lorn,loro,lorry,lors,lorum,lory,losable,lose,losel,loser,losh,losing,loss,lost,lot,lota,lotase,lote,lotic,lotion,lotment,lotrite,lots,lotter,lottery,lotto,lotus,lotusin,louch,loud,louden,loudish,loudly,louey,lough,louk,loukoum,loulu,lounder,lounge,lounger,loungy,loup,loupe,lour,lourdy,louse,lousily,louster,lousy,lout,louter,louther,loutish,louty,louvar,louver,lovable,lovably,lovage,love,loveful,lovely,loveman,lover,lovered,loverly,loving,low,lowa,lowan,lowbell,lowborn,lowboy,lowbred,lowdah,lowder,loweite,lower,lowerer,lowery,lowish,lowland,lowlily,lowly,lowmen,lowmost,lown,lowness,lownly,lowth,lowwood,lowy,lox,loxia,loxic,loxotic,loy,loyal,loyally,loyalty,lozenge,lozengy,lubber,lube,lubra,lubric,lubrify,lucanid,lucarne,lucban,luce,lucence,lucency,lucent,lucern,lucerne,lucet,lucible,lucid,lucida,lucidly,lucifee,lucific,lucigen,lucivee,luck,lucken,luckful,luckie,luckily,lucky,lucre,lucrify,lucule,lucumia,lucy,ludden,ludibry,ludo,lue,lues,luetic,lufbery,luff,lug,luge,luger,luggage,luggar,lugged,lugger,luggie,lugmark,lugsail,lugsome,lugworm,luhinga,luigino,luke,lukely,lulab,lull,lullaby,luller,lulu,lum,lumbago,lumbang,lumbar,lumber,lumen,luminal,lumine,lummox,lummy,lump,lumper,lumpet,lumpily,lumping,lumpish,lumpkin,lumpman,lumpy,luna,lunacy,lunar,lunare,lunary,lunate,lunatic,lunatum,lunch,luncher,lune,lunes,lunette,lung,lunge,lunged,lunger,lungful,lungi,lungie,lungis,lungy,lunn,lunoid,lunt,lunula,lunular,lunule,lunulet,lupe,lupeol,lupeose,lupine,lupinin,lupis,lupoid,lupous,lupulic,lupulin,lupulus,lupus,lura,lural,lurch,lurcher,lurdan,lure,lureful,lurer,lurg,lurid,luridly,lurk,lurker,lurky,lurrier,lurry,lush,lusher,lushly,lushy,lusk,lusky,lusory,lust,luster,lustful,lustily,lustra,lustral,lustrum,lusty,lut,lutany,lute,luteal,lutecia,lutein,lutelet,luteo,luteoma,luteous,luter,luteway,lutfisk,luthern,luthier,luting,lutist,lutose,lutrin,lutrine,lux,luxate,luxe,luxury,luxus,ly,lyam,lyard,lyceal,lyceum,lycid,lycopin,lycopod,lycosid,lyctid,lyddite,lydite,lye,lyery,lygaeid,lying,lyingly,lymph,lymphad,lymphy,lyncean,lynch,lyncher,lyncine,lynx,lyra,lyrate,lyrated,lyraway,lyre,lyreman,lyric,lyrical,lyrism,lyrist,lys,lysate,lyse,lysin,lysine,lysis,lysogen,lyssa,lyssic,lytic,lytta,lyxose,m,ma,maam,mabi,mabolo,mac,macabre,macaco,macadam,macan,macana,macao,macaque,macaw,macco,mace,maceman,macer,machan,machar,machete,machi,machila,machin,machine,machree,macies,mack,mackins,mackle,macle,macled,maco,macrame,macro,macron,macuca,macula,macular,macule,macuta,mad,madam,madame,madcap,madden,madder,madding,maddish,maddle,made,madefy,madhuca,madid,madling,madly,madman,madnep,madness,mado,madoqua,madrier,madrona,madship,maduro,madweed,madwort,mae,maenad,maestri,maestro,maffia,maffick,maffle,mafflin,mafic,mafoo,mafura,mag,magadis,magani,magas,mage,magenta,magged,maggle,maggot,maggoty,magi,magic,magical,magiric,magma,magnate,magnes,magnet,magneta,magneto,magnify,magnum,magot,magpie,magpied,magsman,maguari,maguey,maha,mahaleb,mahalla,mahant,mahar,maharao,mahatma,mahmal,mahmudi,mahoe,maholi,mahone,mahout,mahseer,mahua,mahuang,maid,maidan,maiden,maidish,maidism,maidkin,maidy,maiefic,maigre,maiid,mail,mailbag,mailbox,mailed,mailer,mailie,mailman,maim,maimed,maimer,maimon,main,mainly,mainour,mainpin,mains,maint,maintop,maioid,maire,maize,maizer,majagua,majesty,majo,majoon,major,makable,make,makedom,maker,makhzan,maki,making,makluk,mako,makuk,mal,mala,malacia,malacon,malady,malagma,malaise,malakin,malambo,malanga,malapi,malar,malaria,malarin,malate,malati,malax,malduck,male,malease,maleate,maleic,malella,maleo,malfed,mali,malic,malice,malicho,malign,malik,maline,malines,malism,malison,malist,malkin,mall,mallard,malleal,mallear,mallee,mallein,mallet,malleus,mallow,mallum,mallus,malm,malmsey,malmy,malo,malodor,malonic,malonyl,malouah,malpais,malt,maltase,malter,maltha,malting,maltman,maltose,malty,mamba,mambo,mamma,mammal,mammary,mammate,mammee,mammer,mammock,mammon,mammoth,mammula,mammy,mamo,man,mana,manacle,manage,managee,manager,manaism,manakin,manal,manas,manatee,manavel,manbird,manbot,manche,manchet,mancono,mancus,mand,mandala,mandant,mandate,mandil,mandola,mandom,mandora,mandore,mandra,mandrel,mandrin,mandua,mandyas,mane,maned,manege,manei,manent,manes,maness,maney,manful,mang,manga,mangal,mange,mangeao,mangel,manger,mangi,mangily,mangle,mangler,mango,mangona,mangue,mangy,manhead,manhole,manhood,mani,mania,maniac,manic,manid,manify,manikin,manila,manilla,manille,manioc,maniple,manism,manist,manito,maniu,manjak,mank,mankin,mankind,manless,manlet,manlike,manlily,manling,manly,manna,mannan,manner,manners,manness,mannide,mannie,mannify,manning,mannish,mannite,mannose,manny,mano,manoc,manomin,manor,manque,manred,manrent,manroot,manrope,mansard,manse,manship,mansion,manso,mant,manta,mantal,manteau,mantel,manter,mantes,mantic,mantid,mantis,mantle,mantled,mantlet,manto,mantoid,mantra,mantrap,mantua,manual,manuao,manuka,manul,manuma,manumea,manumit,manure,manurer,manus,manward,manway,manweed,manwise,many,manzana,manzil,mao,maomao,map,mapach,mapau,mapland,maple,mapo,mapper,mappist,mappy,mapwise,maqui,maquis,mar,marabou,maraca,maracan,marae,maral,marang,marara,mararie,marasca,maraud,marble,marbled,marbler,marbles,marbly,marc,marcel,march,marcher,marcid,marco,marconi,marcor,mardy,mare,maremma,marengo,marfire,margay,marge,margent,margin,margosa,marhala,maria,marid,marimba,marina,marine,mariner,mariola,maris,marish,marital,mark,marka,marked,marker,market,markhor,marking,markka,markman,markup,marl,marled,marler,marli,marlin,marline,marlite,marlock,marlpit,marly,marm,marmit,marmite,marmose,marmot,maro,marok,maroon,marplot,marque,marquee,marquis,marrano,marree,marrer,married,marrier,marron,marrot,marrow,marrowy,marry,marryer,marsh,marshal,marshy,marsoon,mart,martel,marten,martext,martial,martin,martite,martlet,martyr,martyry,maru,marvel,marver,mary,marybud,mas,masa,mascara,mascled,mascot,masculy,masdeu,mash,masha,mashal,masher,mashie,mashing,mashman,mashru,mashy,masjid,mask,masked,masker,maskoid,maslin,mason,masoned,masoner,masonic,masonry,masooka,masoola,masque,masquer,mass,massa,massage,masse,massel,masser,masseur,massier,massif,massily,massive,massoy,massula,massy,mast,mastaba,mastage,mastax,masted,master,mastery,mastful,mastic,mastiff,masting,mastman,mastoid,masty,masu,mat,mataco,matador,matai,matalan,matanza,matapan,matapi,matara,matax,match,matcher,matchy,mate,mately,mater,matey,math,mathes,matico,matin,matinal,matinee,mating,matins,matipo,matka,matless,matlow,matra,matral,matrass,matreed,matric,matris,matrix,matron,matross,matsu,matsuri,matta,mattaro,matte,matted,matter,mattery,matti,matting,mattock,mattoid,mattoir,mature,maturer,matweed,maty,matzo,matzoon,matzos,matzoth,mau,maud,maudle,maudlin,mauger,maugh,maul,mauler,mauley,mauling,maumet,maun,maund,maunder,maundy,maunge,mauther,mauve,mauvine,maux,mavis,maw,mawk,mawkish,mawky,mawp,maxilla,maxim,maxima,maximal,maximed,maximum,maximus,maxixe,maxwell,may,maya,maybe,maybush,maycock,mayday,mayfish,mayhap,mayhem,maynt,mayor,mayoral,maypop,maysin,mayten,mayweed,maza,mazame,mazard,maze,mazed,mazedly,mazeful,mazer,mazic,mazily,mazuca,mazuma,mazurka,mazut,mazy,mazzard,mbalolo,mbori,me,meable,mead,meader,meadow,meadowy,meager,meagre,meak,meal,mealer,mealies,mealily,mealman,mealy,mean,meander,meaned,meaner,meaning,meanish,meanly,meant,mease,measle,measled,measles,measly,measure,meat,meatal,meated,meatily,meatman,meatus,meaty,mecate,mecon,meconic,meconin,medal,medaled,medalet,meddle,meddler,media,mediacy,mediad,medial,median,mediant,mediate,medic,medical,medico,mediety,medimn,medimno,medino,medio,medium,medius,medlar,medley,medrick,medulla,medusal,medusan,meebos,meece,meed,meek,meeken,meekly,meered,meerkat,meese,meet,meeten,meeter,meeting,meetly,megabar,megaerg,megafog,megapod,megaron,megaton,megerg,megilp,megmho,megohm,megrim,mehalla,mehari,mehtar,meile,mein,meinie,meio,meiobar,meiosis,meiotic,meith,mel,mela,melada,melagra,melam,melamed,melange,melanic,melanin,melano,melasma,melch,meld,melder,meldrop,mele,melee,melena,melene,melenic,melic,melilot,meline,melisma,melitis,mell,mellate,mellay,meller,mellit,mellite,mellon,mellow,mellowy,melodia,melodic,melody,meloe,meloid,melon,melonry,melos,melosa,melt,meltage,melted,melter,melters,melting,melton,mem,member,membral,memento,meminna,memo,memoir,memoria,memory,men,menace,menacer,menacme,menage,menald,mend,mendee,mender,mending,mendole,mends,menfolk,meng,menhir,menial,meninx,menkind,mennom,mensa,mensal,mense,menses,mensk,mensual,mental,mentary,menthol,menthyl,mention,mentor,mentum,menu,meny,menyie,menzie,merbaby,mercal,mercer,mercery,merch,merchet,mercy,mere,merel,merely,merfold,merfolk,merge,merger,mergh,meriah,merice,meril,merism,merist,merit,merited,meriter,merk,merkhet,merkin,merl,merle,merlin,merlon,mermaid,merman,mero,merop,meropia,meros,merrily,merrow,merry,merse,mesa,mesad,mesail,mesal,mesally,mesange,mesarch,mescal,mese,mesem,mesenna,mesh,meshed,meshy,mesiad,mesial,mesian,mesic,mesilla,mesion,mesityl,mesne,meso,mesobar,mesode,mesodic,mesole,meson,mesonic,mesopic,mespil,mess,message,messan,messe,messer,messet,messily,messin,messing,messman,messor,messrs,messtin,messy,mestee,mester,mestiza,mestizo,mestome,met,meta,metad,metage,metal,metaler,metamer,metanym,metate,metayer,mete,metel,meteor,meter,methane,methene,mether,methid,methide,methine,method,methyl,metic,metier,metis,metochy,metonym,metope,metopic,metopon,metra,metreta,metrete,metria,metric,metrics,metrify,metrist,mettar,mettle,mettled,metusia,metze,meuse,meute,mew,meward,mewer,mewl,mewler,mezcal,mezuzah,mezzo,mho,mi,miamia,mian,miaow,miaower,mias,miasm,miasma,miasmal,miasmic,miaul,miauler,mib,mica,micate,mice,micelle,miche,micher,miching,micht,mick,mickle,mico,micrify,micro,microbe,microhm,micron,miction,mid,midday,midden,middle,middler,middy,mide,midge,midget,midgety,midgy,midiron,midland,midleg,midmain,midmorn,midmost,midnoon,midpit,midrash,midrib,midriff,mids,midship,midst,midtap,midvein,midward,midway,midweek,midwife,midwise,midyear,mien,miff,miffy,mig,might,mightnt,mighty,miglio,mignon,migrant,migrate,mihrab,mijl,mikado,mike,mikie,mil,mila,milady,milch,milcher,milchy,mild,milden,milder,mildew,mildewy,mildish,mildly,mile,mileage,miler,mileway,milfoil,milha,miliary,milieu,militia,milium,milk,milken,milker,milkily,milking,milkman,milksop,milky,mill,milla,millage,milldam,mille,milled,miller,millet,millful,milliad,millile,milline,milling,million,millman,milner,milo,milord,milpa,milreis,milsey,milsie,milt,milter,milty,milvine,mim,mima,mimbar,mimble,mime,mimeo,mimer,mimesis,mimetic,mimic,mimical,mimicry,mimine,mimly,mimmest,mimmock,mimmood,mimmoud,mimosis,mimp,mimsey,min,mina,minable,minar,minaret,minaway,mince,mincer,mincing,mind,minded,minder,mindful,minding,mine,miner,mineral,minery,mines,minette,ming,minge,mingle,mingler,mingy,minhag,minhah,miniate,minibus,minicam,minify,minikin,minim,minima,minimal,minimum,minimus,mining,minion,minish,minium,miniver,minivet,mink,minkery,minkish,minnie,minning,minnow,minny,mino,minoize,minor,minot,minster,mint,mintage,minter,mintman,minty,minuend,minuet,minus,minute,minuter,minutia,minx,minxish,miny,minyan,miqra,mir,mirach,miracle,mirador,mirage,miragy,mirate,mirbane,mird,mirdaha,mire,mirid,mirific,mirish,mirk,miro,mirror,mirrory,mirth,miry,mirza,misact,misadd,misaim,misally,misbias,misbill,misbind,misbode,misborn,misbusy,miscall,miscast,mischio,miscoin,miscook,miscrop,miscue,miscut,misdate,misdaub,misdeal,misdeed,misdeem,misdiet,misdo,misdoer,misdraw,mise,misease,misedit,miser,miserly,misery,misfare,misfile,misfire,misfit,misfond,misform,misgive,misgo,misgrow,mishap,mishmee,misjoin,miskeep,misken,miskill,misknow,misky,mislay,mislead,mislear,misled,mislest,mislike,mislive,mismade,mismake,mismate,mismove,misname,misobey,mispage,mispart,mispay,mispick,misplay,misput,misrate,misread,misrule,miss,missal,missay,misseem,missel,misset,missile,missing,mission,missis,missish,missive,misstay,misstep,missy,mist,mistake,mistbow,misted,mistell,mistend,mister,misterm,mistful,mistic,mistide,mistify,mistily,mistime,mistle,mistone,mistook,mistral,mistry,misturn,misty,misura,misuse,misuser,miswed,miswish,misword,misyoke,mite,miter,mitered,miterer,mitis,mitome,mitosis,mitotic,mitra,mitral,mitrate,mitre,mitrer,mitt,mitten,mitty,mity,miurus,mix,mixable,mixed,mixedly,mixen,mixer,mixhill,mixible,mixite,mixtion,mixture,mixy,mizmaze,mizzen,mizzle,mizzler,mizzly,mizzy,mneme,mnemic,mnesic,mnestic,mnioid,mo,moan,moanful,moaning,moat,mob,mobable,mobber,mobbish,mobbism,mobbist,mobby,mobcap,mobed,mobile,moble,moblike,mobship,mobsman,mobster,mocha,mochras,mock,mockado,mocker,mockery,mockful,mocmain,mocuck,modal,modally,mode,model,modeler,modena,modern,modest,modesty,modicum,modify,modish,modist,modiste,modius,modular,module,modulo,modulus,moellon,mofette,moff,mog,mogador,mogdad,moggan,moggy,mogo,moguey,moha,mohabat,mohair,mohar,mohel,moho,mohr,mohur,moider,moidore,moieter,moiety,moil,moiler,moiles,moiley,moiling,moineau,moio,moire,moise,moist,moisten,moistly,moisty,moit,moity,mojarra,mojo,moke,moki,moko,moksha,mokum,moky,mola,molal,molar,molary,molassy,molave,mold,molder,moldery,molding,moldy,mole,moleism,moler,molest,molimen,moline,molka,molland,molle,mollie,mollify,mollusk,molly,molman,moloid,moloker,molompi,molosse,molpe,molt,molten,molter,moly,mombin,momble,mome,moment,momenta,momism,momme,mommet,mommy,momo,mon,mona,monad,monadic,monaene,monal,monarch,monas,monase,monaxon,mone,monel,monepic,moner,moneral,moneran,moneric,moneron,monesia,money,moneyed,moneyer,mong,monger,mongery,mongler,mongrel,mongst,monial,moniker,monism,monist,monitor,monk,monkdom,monkery,monkess,monkey,monkish,monkism,monkly,monny,mono,monoazo,monocle,monocot,monodic,monody,monoid,monomer,mononch,monont,mononym,monose,monotic,monsoon,monster,montage,montana,montane,montant,monte,montem,month,monthly,monthon,montjoy,monton,monture,moo,mooch,moocha,moocher,mood,mooder,moodily,moodish,moodle,moody,mooing,mool,moolet,mools,moolum,moon,moonack,mooned,mooner,moonery,mooneye,moonily,mooning,moonish,moonite,moonja,moonjah,moonlet,moonlit,moonman,moonset,moonway,moony,moop,moor,moorage,mooring,moorish,moorman,moorn,moorpan,moors,moorup,moory,moosa,moose,moosey,moost,moot,mooter,mooth,mooting,mootman,mop,mopane,mope,moper,moph,mophead,moping,mopish,mopla,mopper,moppet,moppy,mopsy,mopus,mor,mora,moraine,moral,morale,morally,morals,morass,morassy,morat,morate,moray,morbid,morbify,mordant,mordent,mordore,more,moreen,moreish,morel,morella,morello,mores,morfrey,morg,morga,morgan,morgay,morgen,morglay,morgue,moric,moriche,morin,morinel,morion,morkin,morlop,mormaor,mormo,mormon,mormyr,mormyre,morn,morne,morned,morning,moro,moroc,morocco,moron,moroncy,morong,moronic,moronry,morose,morosis,morph,morphea,morphew,morphia,morphic,morphon,morris,morrow,morsal,morse,morsel,morsing,morsure,mort,mortal,mortar,mortary,morth,mortier,mortify,mortise,morula,morular,morule,morvin,morwong,mosaic,mosaist,mosette,mosey,mosker,mosque,moss,mossed,mosser,mossery,mossful,mossy,most,moste,mostly,mot,mote,moted,motel,moter,motet,motey,moth,mothed,mother,mothery,mothy,motif,motific,motile,motion,motive,motley,motmot,motor,motored,motoric,motory,mott,motte,mottle,mottled,mottler,motto,mottoed,motyka,mou,mouche,moud,moudie,moudy,mouflon,mouille,moujik,moul,mould,moulded,moule,moulin,mouls,moulter,mouly,mound,moundy,mount,mounted,mounter,moup,mourn,mourner,mouse,mouser,mousery,mousey,mousily,mousing,mousle,mousmee,mousse,moustoc,mousy,mout,moutan,mouth,mouthed,mouther,mouthy,mouton,mouzah,movable,movably,movant,move,mover,movie,moving,mow,mowable,mowana,mowburn,mowch,mowcht,mower,mowha,mowie,mowing,mowland,mown,mowra,mowrah,mowse,mowt,mowth,moxa,moy,moyen,moyenne,moyite,moyle,moyo,mozing,mpret,mu,muang,mubarat,mucago,mucaro,mucedin,much,muchly,mucic,mucid,mucific,mucigen,mucin,muck,mucker,mucket,muckite,muckle,muckman,muckna,mucksy,mucky,mucluc,mucoid,muconic,mucopus,mucor,mucosa,mucosal,mucose,mucous,mucro,mucus,mucusin,mud,mudar,mudbank,mudcap,mudd,mudde,mudden,muddify,muddily,mudding,muddish,muddle,muddler,muddy,mudee,mudfish,mudflow,mudhead,mudhole,mudir,mudiria,mudland,mudlark,mudless,mudra,mudsill,mudweed,mudwort,muermo,muezzin,muff,muffed,muffet,muffin,muffish,muffle,muffled,muffler,mufflin,muffy,mufti,mufty,mug,muga,mugful,mugg,mugger,mugget,muggily,muggins,muggish,muggles,muggy,mugient,mugweed,mugwort,mugwump,muid,muir,muist,mukluk,muktar,mukti,mulatta,mulatto,mulch,mulcher,mulct,mulder,mule,muleman,muleta,muletta,muley,mulga,mulier,mulish,mulism,mulita,mulk,mull,mulla,mullah,mullar,mullein,muller,mullet,mullets,mulley,mullid,mullion,mullite,mullock,mulloid,mulmul,mulse,mulsify,mult,multum,multure,mum,mumble,mumbler,mummer,mummery,mummick,mummied,mummify,mumming,mummy,mumness,mump,mumper,mumpish,mumps,mun,munch,muncher,munchet,mund,mundane,mundic,mundify,mundil,mundle,mung,munga,munge,mungey,mungo,mungofa,munguba,mungy,munific,munity,munj,munjeet,munnion,munshi,munt,muntin,muntjac,mura,murage,mural,muraled,murally,murchy,murder,murdrum,mure,murex,murexan,murga,murgavi,murgeon,muriate,muricid,murid,murine,murinus,muriti,murium,murk,murkily,murkish,murkly,murky,murlin,murly,murmur,murphy,murra,murrain,murre,murrey,murrina,murshid,muruxi,murva,murza,musal,musang,musar,muscade,muscat,muscid,muscle,muscled,muscly,muscoid,muscone,muscose,muscot,muscovy,muscule,muse,mused,museful,museist,muser,musery,musette,museum,mush,musha,mushaa,mushed,musher,mushily,mushla,mushru,mushy,music,musical,musico,musie,musily,musimon,musing,musk,muskat,muskeg,musket,muskie,muskish,muskrat,musky,muslin,musnud,musquaw,musrol,muss,mussal,mussel,mussily,mussuk,mussy,must,mustang,mustard,mustee,muster,mustify,mustily,mustnt,musty,muta,mutable,mutably,mutage,mutant,mutase,mutate,mutch,mute,mutedly,mutely,muth,mutic,mutiny,mutism,mutist,mutive,mutsje,mutt,mutter,mutton,muttony,mutual,mutuary,mutule,mutuum,mux,muyusa,muzhik,muzz,muzzily,muzzle,muzzler,muzzy,my,myal,myalgia,myalgic,myalism,myall,myarian,myatony,mycele,mycelia,mycoid,mycose,mycosin,mycosis,mycotic,mydine,myelic,myelin,myeloic,myeloid,myeloma,myelon,mygale,mygalid,myiasis,myiosis,myitis,mykiss,mymarid,myna,myocele,myocyte,myogen,myogram,myoid,myology,myoma,myomere,myoneme,myope,myophan,myopia,myopic,myops,myopy,myosin,myosis,myosote,myotic,myotome,myotomy,myotony,myowun,myoxine,myrcene,myrcia,myriad,myriare,myrica,myricin,myricyl,myringa,myron,myronic,myrosin,myrrh,myrrhed,myrrhic,myrrhol,myrrhy,myrtal,myrtle,myrtol,mysel,myself,mysell,mysid,mysoid,mysost,myst,mystax,mystery,mystes,mystic,mystify,myth,mythify,mythism,mythist,mythize,mythos,mythus,mytilid,myxa,myxemia,myxo,myxoid,myxoma,myxopod,myzont,n,na,naa,naam,nab,nabak,nabber,nabk,nabla,nable,nabob,nabobry,nabs,nacarat,nace,nacelle,nach,nachani,nacket,nacre,nacred,nacrine,nacrite,nacrous,nacry,nadder,nadir,nadiral,nae,naebody,naegate,nael,naether,nag,naga,nagaika,nagana,nagara,nagger,naggin,nagging,naggish,naggle,naggly,naggy,naght,nagmaal,nagman,nagnag,nagnail,nagor,nagsman,nagster,nagual,naiad,naiant,naid,naif,naifly,naig,naigie,naik,nail,nailbin,nailer,nailery,nailing,nailrod,naily,nain,nainsel,naio,naipkin,nairy,nais,naish,naither,naive,naively,naivete,naivety,nak,nake,naked,nakedly,naker,nakhod,nakhoda,nako,nakong,nakoo,nallah,nam,namable,namaqua,namaz,namda,name,namely,namer,naming,nammad,nan,nana,nancy,nandi,nandine,nandow,nandu,nane,nanes,nanga,nanism,nankeen,nankin,nanny,nanoid,nanpie,nant,nantle,naology,naos,nap,napa,napal,napalm,nape,napead,naperer,napery,naphtha,naphtho,naphtol,napkin,napless,napoo,nappe,napped,napper,napping,nappy,napron,napu,nar,narcism,narcist,narcoma,narcose,narcous,nard,nardine,nardoo,nares,nargil,narial,naric,narica,narine,nark,narky,narr,narra,narras,narrate,narrow,narrowy,narthex,narwhal,nary,nasab,nasal,nasalis,nasally,nasard,nascent,nasch,nash,nashgab,nashgob,nasi,nasial,nasion,nasitis,nasrol,nast,nastic,nastika,nastily,nasty,nasus,nasute,nasutus,nat,nataka,natal,natals,natant,natator,natch,nates,nathe,nather,nation,native,natr,natrium,natron,natter,nattily,nattle,natty,natuary,natural,nature,naucrar,nauger,naught,naughty,naumk,naunt,nauntle,nausea,naut,nautch,nauther,nautic,nautics,naval,navally,navar,navarch,nave,navel,naveled,navet,navette,navew,navite,navvy,navy,naw,nawab,nawt,nay,nayaur,naysay,nayward,nayword,naze,nazim,nazir,ne,nea,neal,neanic,neap,neaped,nearby,nearest,nearish,nearly,neat,neaten,neath,neatify,neatly,neb,neback,nebbed,nebbuck,nebbuk,nebby,nebel,nebris,nebula,nebulae,nebular,nebule,neck,neckar,necked,necker,neckful,necking,necklet,necktie,necrose,nectar,nectary,nedder,neddy,nee,neebor,neebour,need,needer,needful,needham,needily,needing,needle,needled,needler,needles,needly,needs,needy,neeger,neeld,neele,neem,neep,neepour,neer,neese,neet,neetup,neeze,nef,nefast,neffy,neftgil,negate,negator,neger,neglect,negrine,negro,negus,nei,neif,neigh,neigher,neiper,neist,neither,nekton,nelson,nema,nematic,nemeses,nemesic,nemoral,nenta,neo,neocyte,neogamy,neolith,neology,neon,neonate,neorama,neossin,neoteny,neotype,neoza,nep,neper,nephele,nephesh,nephew,nephria,nephric,nephron,nephros,nepman,nepotal,nepote,nepotic,nereite,nerine,neritic,nerval,nervate,nerve,nerver,nervid,nervily,nervine,nerving,nervish,nervism,nervose,nervous,nervule,nervure,nervy,nese,nesh,neshly,nesiote,ness,nest,nestage,nester,nestful,nestle,nestler,nesty,net,netball,netbush,netcha,nete,neter,netful,neth,nether,neti,netleaf,netlike,netman,netop,netsman,netsuke,netted,netter,netting,nettle,nettler,nettly,netty,netwise,network,neuma,neume,neumic,neurad,neural,neurale,neuric,neurin,neurine,neurism,neurite,neuroid,neuroma,neuron,neurone,neurula,neuter,neutral,neutron,neve,nevel,never,nevo,nevoid,nevoy,nevus,new,newcal,newcome,newel,newelty,newing,newings,newish,newly,newness,news,newsboy,newsful,newsman,newsy,newt,newtake,newton,nexal,next,nextly,nexum,nexus,neyanda,ngai,ngaio,ngapi,ni,niacin,niata,nib,nibbana,nibbed,nibber,nibble,nibbler,nibby,niblick,niblike,nibong,nibs,nibsome,nice,niceish,nicely,nicety,niche,nicher,nick,nickel,nicker,nickey,nicking,nickle,nicky,nicolo,nicotia,nicotic,nictate,nid,nidal,nidana,niddick,niddle,nide,nidge,nidget,nidgety,nidi,nidify,niding,nidor,nidulus,nidus,niece,nielled,niello,niepa,nieve,nieveta,nife,niffer,nific,nifle,nifling,nifty,nig,niggard,nigger,niggery,niggle,niggler,niggly,nigh,nighly,night,nighted,nightie,nightly,nights,nignay,nignye,nigori,nigre,nigrify,nigrine,nigrous,nigua,nikau,nil,nilgai,nim,nimb,nimbed,nimbi,nimble,nimbly,nimbose,nimbus,nimiety,niminy,nimious,nimmer,nimshi,nincom,nine,ninepin,nineted,ninety,ninny,ninon,ninth,ninthly,nintu,ninut,niobate,niobic,niobite,niobium,niobous,niog,niota,nip,nipa,nipper,nippers,nippily,nipping,nipple,nippy,nipter,nirles,nirvana,nisei,nishiki,nisnas,nispero,nisse,nisus,nit,nitch,nitency,niter,nitered,nither,nithing,nitid,nito,niton,nitrate,nitric,nitride,nitrify,nitrile,nitrite,nitro,nitrous,nitryl,nitter,nitty,nitwit,nival,niveous,nix,nixie,niyoga,nizam,nizamut,nizy,njave,no,noa,nob,nobber,nobbily,nobble,nobbler,nobbut,nobby,noble,nobley,nobly,nobody,nobs,nocake,nocent,nock,nocket,nocktat,noctuid,noctule,nocturn,nocuity,nocuous,nod,nodal,nodated,nodder,nodding,noddle,noddy,node,noded,nodi,nodiak,nodical,nodose,nodous,nodular,nodule,noduled,nodulus,nodus,noel,noetic,noetics,nog,nogada,nogal,noggen,noggin,nogging,noghead,nohow,noil,noilage,noiler,noily,noint,noir,noise,noisily,noisome,noisy,nokta,noll,nolle,nolo,noma,nomad,nomadic,nomancy,nomarch,nombril,nome,nomial,nomic,nomina,nominal,nominee,nominy,nomism,nomisma,nomos,non,nonacid,nonact,nonage,nonagon,nonaid,nonair,nonane,nonary,nonbase,nonce,noncock,noncom,noncome,noncon,nonda,nondo,none,nonego,nonene,nonent,nonepic,nones,nonet,nonevil,nonfact,nonfarm,nonfat,nonfood,nonform,nonfrat,nongas,nongod,nongold,nongray,nongrey,nonhero,nonic,nonion,nonius,nonjury,nonlife,nonly,nonnant,nonnat,nonoic,nonoily,nonomad,nonpaid,nonpar,nonpeak,nonplus,nonpoet,nonport,nonrun,nonsale,nonsane,nonself,nonsine,nonskid,nonslip,nonstop,nonsuit,nontan,nontax,nonterm,nonuple,nonuse,nonuser,nonwar,nonya,nonyl,nonylic,nonzero,noodle,nook,nooked,nookery,nooking,nooklet,nooky,noology,noon,noonday,nooning,noonlit,noop,noose,nooser,nopal,nopalry,nope,nor,norard,norate,noreast,norelin,norgine,nori,noria,norie,norimon,norite,norland,norm,norma,normal,norsel,north,norther,norward,norwest,nose,nosean,nosed,nosegay,noser,nosey,nosine,nosing,nosism,nostic,nostril,nostrum,nosy,not,notable,notably,notaeal,notaeum,notal,notan,notary,notate,notator,notch,notched,notchel,notcher,notchy,note,noted,notedly,notekin,notelet,noter,nother,nothing,nothous,notice,noticer,notify,notion,notitia,notour,notself,notum,nougat,nought,noun,nounal,nounize,noup,nourice,nourish,nous,nouther,nova,novalia,novate,novator,novcic,novel,novelet,novella,novelly,novelry,novelty,novem,novena,novene,novice,novity,now,nowaday,noway,noways,nowed,nowel,nowhat,nowhen,nowhere,nowhit,nowise,nowness,nowt,nowy,noxa,noxal,noxally,noxious,noy,noyade,noyau,nozzle,nozzler,nth,nu,nuance,nub,nubbin,nubble,nubbly,nubby,nubia,nubile,nucal,nucha,nuchal,nucin,nucleal,nuclear,nuclei,nuclein,nucleon,nucleus,nuclide,nucule,nuculid,nudate,nuddle,nude,nudely,nudge,nudger,nudiped,nudish,nudism,nudist,nudity,nugator,nuggar,nugget,nuggety,nugify,nuke,nul,null,nullah,nullify,nullism,nullity,nullo,numb,number,numbing,numble,numbles,numbly,numda,numdah,numen,numeral,numero,nummary,nummi,nummus,numud,nun,nunatak,nunbird,nunch,nuncio,nuncle,nundine,nunhood,nunky,nunlet,nunlike,nunnari,nunnery,nunni,nunnify,nunnish,nunship,nuptial,nuque,nuraghe,nurhag,nurly,nurse,nurser,nursery,nursing,nursle,nursy,nurture,nusfiah,nut,nutant,nutate,nutcake,nutgall,nuthook,nutlet,nutlike,nutmeg,nutpick,nutria,nutrice,nutrify,nutseed,nutted,nutter,nuttery,nuttily,nutting,nuttish,nutty,nuzzer,nuzzle,nyanza,nye,nylast,nylon,nymil,nymph,nympha,nymphae,nymphal,nymphet,nymphic,nymphid,nymphly,nyxis,o,oadal,oaf,oafdom,oafish,oak,oaken,oaklet,oaklike,oakling,oakum,oakweb,oakwood,oaky,oam,oar,oarage,oarcock,oared,oarfish,oarhole,oarial,oaric,oaritic,oaritis,oarium,oarless,oarlike,oarlock,oarlop,oarman,oarsman,oarweed,oary,oasal,oasean,oases,oasis,oasitic,oast,oat,oatbin,oatcake,oatear,oaten,oatfowl,oath,oathay,oathed,oathful,oathlet,oatland,oatlike,oatmeal,oatseed,oaty,oban,obclude,obe,obeah,obeche,obeism,obelia,obeliac,obelial,obelion,obelisk,obelism,obelize,obelus,obese,obesely,obesity,obex,obey,obeyer,obi,obispo,obit,obitual,object,objure,oblate,obley,oblige,obliged,obligee,obliger,obligor,oblique,oblong,obloquy,oboe,oboist,obol,obolary,obole,obolet,obolus,oboval,obovate,obovoid,obscene,obscure,obsede,obsequy,observe,obsess,obtain,obtect,obtest,obtrude,obtund,obtuse,obverse,obvert,obviate,obvious,obvolve,ocarina,occamy,occiput,occlude,occluse,occult,occupy,occur,ocean,oceaned,oceanet,oceanic,ocellar,ocelli,ocellus,oceloid,ocelot,och,ochava,ochavo,ocher,ochery,ochone,ochrea,ochro,ochroid,ochrous,ocht,ock,oclock,ocote,ocque,ocracy,ocrea,ocreate,octad,octadic,octagon,octan,octane,octant,octapla,octarch,octary,octaval,octave,octavic,octavo,octene,octet,octic,octine,octoad,octoate,octofid,octoic,octoid,octonal,octoon,octoped,octopi,octopod,octopus,octose,octoyl,octroi,octroy,octuor,octuple,octuply,octyl,octyne,ocuby,ocular,oculary,oculate,oculist,oculus,od,oda,odacoid,odal,odalisk,odaller,odalman,odd,oddish,oddity,oddlegs,oddly,oddman,oddment,oddness,odds,oddsman,ode,odel,odelet,odeon,odeum,odic,odinite,odious,odist,odium,odology,odontic,odoom,odor,odorant,odorate,odored,odorful,odorize,odorous,odso,odum,odyl,odylic,odylism,odylist,odylize,oe,oecist,oecus,oenin,oenolin,oenomel,oer,oersted,oes,oestrid,oestrin,oestrum,oestrus,of,off,offal,offbeat,offcast,offcome,offcut,offend,offense,offer,offeree,offerer,offeror,offhand,office,officer,offing,offish,offlet,offlook,offscum,offset,offtake,offtype,offward,oflete,oft,often,oftens,ofter,oftest,oftly,oftness,ofttime,ogaire,ogam,ogamic,ogdoad,ogdoas,ogee,ogeed,ogham,oghamic,ogival,ogive,ogived,ogle,ogler,ogmic,ogre,ogreish,ogreism,ogress,ogrish,ogrism,ogtiern,ogum,oh,ohelo,ohia,ohm,ohmage,ohmic,oho,ohoy,oidioid,oii,oil,oilbird,oilcan,oilcoat,oilcup,oildom,oiled,oiler,oilery,oilfish,oilhole,oilily,oilless,oillet,oillike,oilman,oilseed,oilskin,oilway,oily,oilyish,oime,oinomel,oint,oisin,oitava,oka,okapi,okee,okenite,oket,oki,okia,okonite,okra,okrug,olam,olamic,old,olden,older,oldish,oldland,oldness,oldster,oldwife,oleana,olease,oleate,olefin,olefine,oleic,olein,olena,olenid,olent,oleo,oleose,oleous,olfact,olfacty,oliban,olid,oligist,olio,olitory,oliva,olivary,olive,olived,olivet,olivil,olivile,olivine,olla,ollamh,ollapod,ollock,olm,ologist,ology,olomao,olona,oloroso,olpe,oltonde,oltunna,olycook,olykoek,om,omagra,omalgia,omao,omasum,omber,omega,omegoid,omelet,omen,omened,omental,omentum,omer,omicron,omina,ominous,omit,omitis,omitter,omlah,omneity,omniana,omnibus,omnific,omnify,omnist,omnium,on,ona,onager,onagra,onanism,onanist,onca,once,oncetta,oncia,oncin,oncome,oncosis,oncost,ondatra,ondine,ondy,one,onefold,onegite,onehow,oneiric,oneism,onement,oneness,oner,onerary,onerous,onery,oneself,onetime,oneyer,onfall,onflow,ongaro,ongoing,onicolo,onion,onionet,oniony,onium,onkos,onlay,onlepy,onliest,onlook,only,onmarch,onrush,ons,onset,onshore,onside,onsight,onstand,onstead,onsweep,ontal,onto,onus,onward,onwards,onycha,onychia,onychin,onym,onymal,onymity,onymize,onymous,onymy,onyx,onyxis,onza,ooblast,oocyst,oocyte,oodles,ooecial,ooecium,oofbird,ooftish,oofy,oogamy,oogeny,ooglea,oogone,oograph,ooid,ooidal,oolak,oolemma,oolite,oolitic,oolly,oologic,oology,oolong,oomancy,oometer,oometry,oons,oont,oopak,oophore,oophyte,ooplasm,ooplast,oopod,oopodal,oorali,oord,ooscope,ooscopy,oosperm,oospore,ootheca,ootid,ootype,ooze,oozily,oozooid,oozy,opacate,opacify,opacite,opacity,opacous,opah,opal,opaled,opaline,opalish,opalize,opaloid,opaque,ope,opelet,open,opener,opening,openly,opera,operae,operand,operant,operate,opercle,operose,ophic,ophioid,ophite,ophitic,ophryon,opianic,opianyl,opiate,opiatic,opiism,opinant,opine,opiner,opinion,opium,opossum,oppidan,oppose,opposed,opposer,opposit,oppress,oppugn,opsonic,opsonin,opsy,opt,optable,optably,optant,optate,optic,optical,opticon,optics,optimal,optime,optimum,option,optive,opulent,opulus,opus,oquassa,or,ora,orach,oracle,orad,orage,oral,oraler,oralism,oralist,orality,oralize,orally,oralogy,orang,orange,oranger,orangey,orant,orarian,orarion,orarium,orary,orate,oration,orator,oratory,oratrix,orb,orbed,orbic,orbical,orbicle,orbific,orbit,orbital,orbitar,orbite,orbless,orblet,orby,orc,orcanet,orcein,orchard,orchat,orchel,orchic,orchid,orchil,orcin,orcinol,ordain,ordeal,order,ordered,orderer,orderly,ordinal,ordinar,ordinee,ordines,ordu,ordure,ore,oread,orectic,orellin,oreman,orenda,oreweed,orewood,orexis,orf,orfgild,organ,organal,organdy,organer,organic,organon,organry,organum,orgasm,orgeat,orgia,orgiac,orgiacs,orgiasm,orgiast,orgic,orgue,orgy,orgyia,oribi,oriel,oriency,orient,orifice,oriform,origan,origin,orignal,orihon,orillon,oriole,orison,oristic,orle,orlean,orlet,orlo,orlop,ormer,ormolu,orna,ornate,ornery,ornis,ornoite,oroanal,orogen,orogeny,oroide,orology,oronoco,orotund,orphan,orpheon,orpheum,orphrey,orpine,orrery,orrhoid,orris,orsel,orselle,ort,ortalid,ortet,orthal,orthian,orthic,orthid,orthite,ortho,orthose,orthron,ortiga,ortive,ortolan,ortygan,ory,oryssid,os,osamin,osamine,osazone,oscella,oscheal,oscin,oscine,oscnode,oscular,oscule,osculum,ose,osela,oshac,oside,osier,osiered,osiery,osmate,osmatic,osmesis,osmetic,osmic,osmin,osmina,osmious,osmium,osmose,osmosis,osmotic,osmous,osmund,osone,osophy,osprey,ossal,osse,ossein,osselet,osseous,ossicle,ossific,ossify,ossuary,osteal,ostein,ostemia,ostent,osteoid,osteoma,ostial,ostiary,ostiate,ostiole,ostitis,ostium,ostmark,ostosis,ostrich,otalgia,otalgic,otalgy,otarian,otarine,otary,otate,other,othmany,otiant,otiatry,otic,otidine,otidium,otiose,otitic,otitis,otkon,otocyst,otolite,otolith,otology,otosis,ototomy,ottar,otter,otterer,otto,oturia,ouabain,ouabaio,ouabe,ouakari,ouch,ouenite,ouf,ough,ought,oughtnt,oukia,oulap,ounce,ounds,ouphe,ouphish,our,ourie,ouroub,ours,ourself,oust,ouster,out,outact,outage,outarde,outask,outawe,outback,outbake,outban,outbar,outbark,outbawl,outbeam,outbear,outbeg,outbent,outbid,outblot,outblow,outbond,outbook,outborn,outbow,outbowl,outbox,outbrag,outbray,outbred,outbud,outbulk,outburn,outbuy,outbuzz,outby,outcant,outcase,outcast,outcity,outcome,outcrop,outcrow,outcry,outcull,outcure,outcut,outdare,outdate,outdo,outdoer,outdoor,outdraw,outdure,outeat,outecho,outed,outedge,outen,outer,outerly,outeye,outeyed,outface,outfall,outfame,outfast,outfawn,outfeat,outfish,outfit,outflow,outflue,outflux,outfly,outfold,outfool,outfoot,outform,outfort,outgain,outgame,outgang,outgas,outgate,outgaze,outgive,outglad,outglow,outgnaw,outgo,outgoer,outgone,outgrin,outgrow,outgun,outgush,outhaul,outhear,outheel,outher,outhire,outhiss,outhit,outhold,outhowl,outhue,outhunt,outhurl,outhut,outhymn,outing,outish,outjazz,outjest,outjet,outjinx,outjump,outjut,outkick,outkill,outking,outkiss,outknee,outlaid,outland,outlash,outlast,outlaw,outlay,outlean,outleap,outler,outlet,outlie,outlier,outlimb,outlimn,outline,outlip,outlive,outlook,outlord,outlove,outlung,outly,outman,outmate,outmode,outmost,outmove,outname,outness,outnook,outoven,outpace,outpage,outpart,outpass,outpath,outpay,outpeal,outpeep,outpeer,outpick,outpipe,outpity,outplan,outplay,outplod,outplot,outpoll,outpomp,outpop,outport,outpost,outpour,outpray,outpry,outpull,outpurl,outpush,output,outrace,outrage,outrail,outrank,outrant,outrap,outrate,outrave,outray,outre,outread,outrede,outrick,outride,outrig,outring,outroar,outroll,outroot,outrove,outrow,outrun,outrush,outsail,outsay,outsea,outseam,outsee,outseek,outsell,outsert,outset,outshot,outshow,outshut,outside,outsift,outsigh,outsin,outsing,outsit,outsize,outskip,outsoar,outsole,outspan,outspin,outspit,outspue,outstay,outstep,outsuck,outsulk,outsum,outswim,outtalk,outtask,outtear,outtell,outtire,outtoil,outtop,outtrot,outturn,outvie,outvier,outvote,outwait,outwake,outwale,outwalk,outwall,outwar,outward,outwash,outwave,outwear,outweed,outweep,outwell,outwent,outwick,outwile,outwill,outwind,outwing,outwish,outwit,outwith,outwoe,outwood,outword,outwore,outwork,outworn,outyard,outyell,outyelp,outzany,ouzel,ova,oval,ovalish,ovalize,ovally,ovaloid,ovant,ovarial,ovarian,ovarin,ovarium,ovary,ovate,ovated,ovately,ovation,oven,ovenful,ovenly,ovenman,over,overact,overage,overall,overapt,overarm,overawe,overawn,overbet,overbid,overbig,overbit,overbow,overbuy,overby,overcap,overcow,overcoy,overcry,overcup,overcut,overdo,overdry,overdue,overdye,overeat,overegg,overeye,overfag,overfar,overfat,overfed,overfee,overfew,overfit,overfix,overfly,overget,overgo,overgod,overgun,overhit,overhot,overink,overjob,overjoy,overlap,overlax,overlay,overleg,overlie,overlip,overlow,overly,overman,overmix,overnet,overnew,overpay,overpet,overply,overpot,overrim,overrun,oversad,oversea,oversee,overset,oversew,oversot,oversow,overt,overtax,overtip,overtly,overtoe,overtop,overuse,overway,overweb,overwet,overwin,ovest,ovey,ovicell,ovicide,ovicyst,oviduct,oviform,ovigerm,ovile,ovine,ovinia,ovipara,ovisac,ovism,ovist,ovistic,ovocyte,ovoid,ovoidal,ovolo,ovology,ovular,ovulary,ovulate,ovule,ovulist,ovum,ow,owd,owe,owelty,ower,owerby,owght,owing,owk,owl,owldom,owler,owlery,owlet,owlhead,owling,owlish,owlism,owllike,owly,own,owner,ownhood,ownness,ownself,owrehip,owrelay,owse,owsen,owser,owtchah,ox,oxacid,oxalan,oxalate,oxalic,oxalite,oxalyl,oxamate,oxamic,oxamid,oxamide,oxan,oxanate,oxane,oxanic,oxazine,oxazole,oxbane,oxberry,oxbird,oxbiter,oxblood,oxbow,oxboy,oxbrake,oxcart,oxcheek,oxea,oxeate,oxen,oxeote,oxer,oxetone,oxeye,oxfly,oxgang,oxgoad,oxhead,oxheal,oxheart,oxhide,oxhoft,oxhorn,oxhouse,oxhuvud,oxidant,oxidase,oxidate,oxide,oxidic,oxidize,oximate,oxime,oxland,oxlike,oxlip,oxman,oxonic,oxonium,oxozone,oxphony,oxreim,oxshoe,oxskin,oxtail,oxter,oxwort,oxy,oxyacid,oxygas,oxygen,oxyl,oxymel,oxyntic,oxyopia,oxysalt,oxytone,oyapock,oyer,oyster,ozena,ozonate,ozone,ozoned,ozonic,ozonide,ozonify,ozonize,ozonous,ozophen,ozotype,p,pa,paal,paar,paauw,pabble,pablo,pabouch,pabular,pabulum,pac,paca,pacable,pacate,pacay,pacaya,pace,paced,pacer,pachak,pachisi,pacific,pacify,pack,package,packer,packery,packet,packly,packman,packway,paco,pact,paction,pad,padder,padding,paddle,paddled,paddler,paddock,paddy,padella,padfoot,padge,padle,padlike,padlock,padnag,padre,padtree,paean,paegel,paegle,paenula,paeon,paeonic,paga,pagan,paganic,paganly,paganry,page,pageant,pagedom,pageful,pager,pagina,paginal,pagoda,pagrus,pagurid,pagus,pah,paha,pahi,pahlavi,pahmi,paho,pahutan,paigle,paik,pail,pailful,pailou,pain,pained,painful,paining,paint,painted,painter,painty,paip,pair,paired,pairer,pais,paisa,paiwari,pajama,pajock,pakchoi,pakeha,paktong,pal,palace,palaced,paladin,palaite,palama,palame,palanka,palar,palas,palatal,palate,palated,palatic,palaver,palay,palazzi,palch,pale,palea,paleate,paled,palely,paleola,paler,palet,paletot,palette,paletz,palfrey,palgat,pali,palikar,palila,palinal,paling,palisfy,palish,palkee,pall,palla,pallae,pallah,pallall,palled,pallet,palli,pallial,pallid,pallion,pallium,pallone,pallor,pally,palm,palma,palmad,palmar,palmary,palmate,palmed,palmer,palmery,palmful,palmist,palmite,palmito,palmo,palmula,palmus,palmy,palmyra,palolo,palp,palpal,palpate,palped,palpi,palpon,palpus,palsied,palster,palsy,palt,palter,paltry,paludal,paludic,palule,palulus,palus,paly,pam,pament,pamment,pampas,pampean,pamper,pampero,pampre,pan,panace,panacea,panache,panada,panade,panama,panaris,panary,panax,pancake,pand,panda,pandal,pandan,pandect,pandemy,pander,pandita,pandle,pandora,pandour,pandrop,pandura,pandy,pane,paned,paneity,panel,panela,paneler,panfil,panfish,panful,pang,pangamy,pangane,pangen,pangene,pangful,pangi,panhead,panic,panical,panicky,panicle,panisc,panisca,panisic,pank,pankin,panman,panmixy,panmug,pannade,pannage,pannam,panne,pannel,panner,pannery,pannier,panning,pannose,pannum,pannus,panocha,panoche,panoply,panoram,panse,panside,pansied,pansy,pant,pantas,panter,panther,pantie,panties,pantile,panting,pantle,pantler,panto,pantod,panton,pantoon,pantoum,pantry,pants,pantun,panty,panung,panurgy,panyar,paolo,paon,pap,papa,papable,papabot,papacy,papain,papal,papally,papalty,papane,papaw,papaya,papboat,pape,paper,papered,paperer,papern,papery,papess,papey,papilla,papion,papish,papism,papist,papize,papless,papmeat,papoose,pappi,pappose,pappox,pappus,pappy,papreg,paprica,paprika,papula,papular,papule,papyr,papyral,papyri,papyrin,papyrus,paquet,par,para,parable,paracme,parade,parader,parado,parados,paradox,parafle,parage,paragon,parah,paraiba,parale,param,paramo,parang,parao,parapet,paraph,parapod,pararek,parasol,paraspy,parate,paraxon,parbake,parboil,parcel,parch,parcher,parchy,parcook,pard,pardao,parded,pardesi,pardine,pardner,pardo,pardon,pare,parel,parella,paren,parent,parer,paresis,paretic,parfait,pargana,parge,parget,pargo,pari,pariah,parial,parian,paries,parify,parilla,parine,paring,parish,parisis,parison,parity,park,parka,parkee,parker,parkin,parking,parkish,parkway,parky,parlay,parle,parley,parling,parlish,parlor,parlous,parly,parma,parmak,parnas,parnel,paroch,parode,parodic,parodos,parody,paroecy,parol,parole,parolee,paroli,paronym,parotic,parotid,parotis,parous,parpal,parquet,parr,parrel,parrier,parrock,parrot,parroty,parry,parse,parsec,parser,parsley,parsnip,parson,parsony,part,partake,partan,parted,parter,partial,partile,partite,partlet,partly,partner,parto,partook,parture,party,parulis,parure,paruria,parvenu,parvis,parvule,pasan,pasang,paschal,pascual,pash,pasha,pashm,pasi,pasmo,pasquil,pasquin,pass,passade,passado,passage,passant,passe,passee,passen,passer,passewa,passing,passion,passir,passive,passkey,passman,passo,passout,passus,passway,past,paste,pasted,pastel,paster,pastern,pasteur,pastil,pastile,pastime,pasting,pastor,pastose,pastry,pasture,pasty,pasul,pat,pata,pataca,patacao,pataco,patagon,pataka,patamar,patao,patapat,pataque,patas,patball,patch,patcher,patchy,pate,patefy,patel,patella,paten,patency,patener,patent,pater,patera,patesi,path,pathed,pathema,pathic,pathlet,pathos,pathway,pathy,patible,patient,patina,patine,patined,patio,patly,patness,pato,patois,patola,patonce,patria,patrial,patrice,patrico,patrin,patriot,patrist,patrix,patrol,patron,patroon,patta,patte,pattee,patten,patter,pattern,pattu,patty,patu,patwari,paty,pau,paucify,paucity,paughty,paukpan,paular,paulie,paulin,paunch,paunchy,paup,pauper,pausal,pause,pauser,paussid,paut,pauxi,pavage,pavan,pavane,pave,paver,pavid,pavier,paving,pavior,paviour,pavis,paviser,pavisor,pavy,paw,pawdite,pawer,pawing,pawk,pawkery,pawkily,pawkrie,pawky,pawl,pawn,pawnage,pawnee,pawner,pawnie,pawnor,pawpaw,pax,paxilla,paxiuba,paxwax,pay,payable,payably,payday,payed,payee,payeny,payer,paying,payment,paynim,payoff,payong,payor,payroll,pea,peace,peach,peachen,peacher,peachy,peacoat,peacock,peacod,peafowl,peag,peage,peahen,peai,peaiism,peak,peaked,peaker,peakily,peaking,peakish,peaky,peal,pealike,pean,peanut,pear,pearl,pearled,pearler,pearlet,pearlin,pearly,peart,pearten,peartly,peasant,peasen,peason,peasy,peat,peatery,peatman,peaty,peavey,peavy,peba,pebble,pebbled,pebbly,pebrine,pecan,peccant,peccary,peccavi,pech,pecht,pecite,peck,pecked,pecker,pecket,peckful,peckish,peckle,peckled,peckly,pecky,pectase,pectate,pecten,pectic,pectin,pectize,pectora,pectose,pectous,pectus,ped,peda,pedage,pedagog,pedal,pedaler,pedant,pedary,pedate,pedated,pedder,peddle,peddler,pedee,pedes,pedesis,pedicab,pedicel,pedicle,pedion,pedlar,pedlary,pedocal,pedrail,pedrero,pedro,pedule,pedum,pee,peed,peek,peel,peele,peeled,peeler,peeling,peelman,peen,peenge,peeoy,peep,peeper,peepeye,peepy,peer,peerage,peerdom,peeress,peerie,peerly,peery,peesash,peeve,peeved,peever,peevish,peewee,peg,pega,pegall,pegasid,pegbox,pegged,pegger,pegging,peggle,peggy,pegless,peglet,peglike,pegman,pegwood,peho,peine,peisage,peise,peiser,peixere,pekan,pekin,pekoe,peladic,pelage,pelagic,pelamyd,pelanos,pelean,pelecan,pelf,pelican,pelick,pelike,peliom,pelioma,pelisse,pelite,pelitic,pell,pellage,pellar,pellard,pellas,pellate,peller,pellet,pellety,pellile,pellock,pelmet,pelon,peloria,peloric,pelorus,pelota,peloton,pelt,pelta,peltast,peltate,pelter,pelting,peltry,pelu,peludo,pelves,pelvic,pelvis,pembina,pemican,pen,penal,penally,penalty,penance,penang,penates,penbard,pence,pencel,pencil,pend,penda,pendant,pendent,pending,pendle,pendom,pendule,penfold,penful,pengo,penguin,penhead,penial,penide,penile,penis,penk,penlike,penman,penna,pennae,pennage,pennant,pennate,penner,pennet,penni,pennia,pennied,pennill,penning,pennon,penny,penrack,penship,pensile,pension,pensive,penster,pensum,pensy,pent,penta,pentace,pentad,pentail,pentane,pentene,pentine,pentit,pentite,pentode,pentoic,pentol,pentose,pentrit,pentyl,pentyne,penuchi,penult,penury,peon,peonage,peonism,peony,people,peopler,peoplet,peotomy,pep,pepful,pepino,peplos,peplum,peplus,pepo,pepper,peppery,peppily,peppin,peppy,pepsin,pepsis,peptic,peptide,peptize,peptone,per,peracid,peract,perbend,percale,percent,percept,perch,percha,percher,percid,percoct,percoid,percur,percuss,perdu,perdure,pereion,pereira,peres,perfect,perfidy,perform,perfume,perfumy,perfuse,pergola,perhaps,peri,periapt,peridot,perigee,perigon,peril,perine,period,periost,perique,perish,perit,perite,periwig,perjink,perjure,perjury,perk,perkily,perkin,perking,perkish,perky,perle,perlid,perlite,perloir,perm,permit,permute,pern,pernine,pernor,pernyi,peroba,peropod,peropus,peroral,perosis,perotic,peroxy,peroxyl,perpend,perpera,perplex,perrier,perron,perry,persalt,perse,persico,persis,persist,person,persona,pert,pertain,perten,pertish,pertly,perturb,pertuse,perty,peruke,perula,perule,perusal,peruse,peruser,pervade,pervert,pes,pesa,pesade,pesage,peseta,peshkar,peshwa,peskily,pesky,peso,pess,pessary,pest,peste,pester,pestful,pestify,pestle,pet,petal,petaled,petalon,petaly,petard,petary,petasos,petasus,petcock,pete,peteca,peteman,peter,petful,petiole,petit,petite,petitor,petkin,petling,peto,petrary,petre,petrean,petrel,petrie,petrify,petrol,petrosa,petrous,petted,petter,pettily,pettish,pettle,petty,petune,petwood,petzite,peuhl,pew,pewage,pewdom,pewee,pewful,pewing,pewit,pewless,pewmate,pewter,pewtery,pewy,peyote,peyotl,peyton,peytrel,pfennig,pfui,pfund,phacoid,phaeism,phaeton,phage,phalanx,phalera,phallic,phallin,phallus,phanic,phano,phantom,phare,pharmic,pharos,pharynx,phase,phaseal,phasemy,phases,phasic,phasis,phasm,phasma,phasmid,pheal,phellem,phemic,phenate,phene,phenene,phenic,phenin,phenol,phenyl,pheon,phew,phi,phial,phiale,philter,philtra,phit,phiz,phizes,phizog,phlegm,phlegma,phlegmy,phloem,phloxin,pho,phobiac,phobic,phobism,phobist,phoby,phoca,phocal,phocid,phocine,phocoid,phoebe,phoenix,phoh,pholad,pholcid,pholido,phon,phonal,phonate,phone,phoneme,phonic,phonics,phonism,phono,phony,phoo,phoresy,phoria,phorid,phorone,phos,phose,phosis,phospho,phossy,phot,photal,photic,photics,photism,photo,photoma,photon,phragma,phrasal,phrase,phraser,phrasy,phrator,phratry,phrenic,phrynid,phrynin,phthor,phu,phugoid,phulwa,phut,phycite,phyla,phyle,phylic,phyllin,phylon,phylum,phyma,phymata,physic,physics,phytase,phytic,phytin,phytoid,phytol,phytoma,phytome,phyton,phytyl,pi,pia,piaba,piacaba,piacle,piaffe,piaffer,pial,pialyn,pian,pianic,pianino,pianism,pianist,piannet,piano,pianola,piaster,piastre,piation,piazine,piazza,pibcorn,pibroch,pic,pica,picador,pical,picamar,picara,picarel,picaro,picary,piccolo,pice,picene,piceous,pichi,picine,pick,pickage,pickax,picked,pickee,pickeer,picker,pickery,picket,pickle,pickler,pickman,pickmaw,pickup,picky,picnic,pico,picoid,picot,picotah,picotee,picra,picrate,picric,picrite,picrol,picryl,pict,picture,pictury,picuda,picudo,picul,piculet,pidan,piddle,piddler,piddock,pidgin,pie,piebald,piece,piecen,piecer,piecing,pied,piedly,pieless,pielet,pielum,piemag,pieman,pien,piend,piepan,pier,pierage,pierce,pierced,piercel,piercer,pierid,pierine,pierrot,pieshop,piet,pietas,pietic,pietism,pietist,pietose,piety,piewife,piewipe,piezo,piff,piffle,piffler,pifine,pig,pigdan,pigdom,pigeon,pigface,pigfish,pigfoot,pigful,piggery,piggin,pigging,piggish,piggle,piggy,pighead,pigherd,pightle,pigless,piglet,pigling,pigly,pigman,pigment,pignon,pignus,pignut,pigpen,pigroot,pigskin,pigsney,pigsty,pigtail,pigwash,pigweed,pigyard,piitis,pik,pika,pike,piked,pikel,pikelet,pikeman,piker,pikey,piki,piking,pikle,piky,pilage,pilapil,pilar,pilary,pilau,pilaued,pilch,pilcher,pilcorn,pilcrow,pile,pileata,pileate,piled,pileous,piler,piles,pileus,pilfer,pilger,pilgrim,pili,pilifer,piligan,pilikai,pilin,piline,piling,pilkins,pill,pillage,pillar,pillary,pillas,pillbox,pilled,pillet,pilleus,pillion,pillory,pillow,pillowy,pilm,pilmy,pilon,pilori,pilose,pilosis,pilot,pilotee,pilotry,pilous,pilpul,piltock,pilula,pilular,pilule,pilum,pilus,pily,pimaric,pimelic,pimento,pimlico,pimola,pimp,pimpery,pimping,pimpish,pimple,pimpled,pimplo,pimploe,pimply,pin,pina,pinaces,pinacle,pinacol,pinang,pinax,pinball,pinbone,pinbush,pincase,pincer,pincers,pinch,pinche,pinched,pinchem,pincher,pind,pinda,pinder,pindy,pine,pineal,pined,pinene,piner,pinery,pinesap,pinetum,piney,pinfall,pinfish,pinfold,ping,pingle,pingler,pingue,pinguid,pinguin,pinhead,pinhold,pinhole,pinhook,pinic,pining,pinion,pinite,pinitol,pinjane,pinjra,pink,pinked,pinkeen,pinken,pinker,pinkeye,pinkie,pinkify,pinkily,pinking,pinkish,pinkly,pinky,pinless,pinlock,pinna,pinnace,pinnae,pinnal,pinnate,pinned,pinnel,pinner,pinnet,pinning,pinnock,pinnula,pinnule,pinny,pino,pinole,pinolia,pinolin,pinon,pinonic,pinrail,pinsons,pint,pinta,pintado,pintail,pintano,pinte,pintle,pinto,pintura,pinulus,pinweed,pinwing,pinwork,pinworm,piny,pinyl,pinyon,pioneer,pioted,piotine,piotty,pioury,pious,piously,pip,pipa,pipage,pipal,pipe,pipeage,piped,pipeful,pipeman,piper,piperic,piperly,piperno,pipery,pipet,pipette,pipi,piping,pipiri,pipit,pipkin,pipless,pipped,pipper,pippin,pippy,piprine,piproid,pipy,piquant,pique,piquet,piquia,piqure,pir,piracy,piragua,piranha,pirate,piraty,pirl,pirn,pirner,pirnie,pirny,pirogue,pirol,pirr,pirrmaw,pisaca,pisang,pisay,piscary,piscian,piscina,piscine,pisco,pise,pish,pishaug,pishu,pisk,pisky,pismire,piso,piss,pissant,pist,pistic,pistil,pistle,pistol,pistole,piston,pistrix,pit,pita,pitanga,pitapat,pitarah,pitau,pitaya,pitch,pitcher,pitchi,pitchy,piteous,pitfall,pith,pithful,pithily,pithole,pithos,pithy,pitier,pitiful,pitless,pitlike,pitman,pitmark,pitmirk,pitpan,pitpit,pitside,pitted,pitter,pittine,pitting,pittite,pittoid,pituite,pituri,pitwood,pitwork,pity,pitying,piuri,pivalic,pivot,pivotal,pivoter,pix,pixie,pixy,pize,pizza,pizzle,placard,placate,place,placebo,placer,placet,placid,plack,placket,placode,placoid,placula,plaga,plagal,plagate,plage,plagium,plagose,plague,plagued,plaguer,plaguy,plaice,plaid,plaided,plaidie,plaidy,plain,plainer,plainly,plaint,plait,plaited,plaiter,plak,plakat,plan,planaea,planar,planate,planch,plandok,plane,planer,planet,planeta,planful,plang,plangor,planish,planity,plank,planker,planky,planner,plant,planta,plantad,plantal,plantar,planter,planula,planury,planxty,plap,plaque,plash,plasher,plashet,plashy,plasm,plasma,plasmic,plasome,plass,plasson,plaster,plastic,plastid,plastin,plat,platan,platane,platano,platch,plate,platea,plateau,plated,platen,plater,platery,platic,platina,plating,platode,platoid,platoon,platted,platten,platter,platty,platy,plaud,plaudit,play,playa,playbox,playboy,playday,player,playful,playlet,playman,playock,playpen,plaza,plea,pleach,plead,pleader,please,pleaser,pleat,pleater,pleb,plebe,plebify,plebs,pleck,plectre,pled,pledge,pledgee,pledger,pledget,pledgor,pleion,plenary,plenipo,plenish,plenism,plenist,plenty,plenum,pleny,pleon,pleonal,pleonic,pleopod,pleroma,plerome,plessor,pleura,pleural,pleuric,pleuron,pleurum,plew,plex,plexal,plexor,plexure,plexus,pliable,pliably,pliancy,pliant,plica,plical,plicate,plied,plier,plies,pliers,plight,plim,plinth,pliskie,plisky,ploat,ploce,plock,plod,plodder,plodge,plomb,plook,plop,plosion,plosive,plot,plote,plotful,plotted,plotter,plotty,plough,plouk,plouked,plouky,plounce,plout,plouter,plover,plovery,plow,plowboy,plower,plowing,plowman,ploy,pluck,plucked,plucker,plucky,plud,pluff,pluffer,pluffy,plug,plugged,plugger,pluggy,plugman,plum,pluma,plumach,plumade,plumage,plumate,plumb,plumber,plumbet,plumbic,plumbog,plumbum,plumcot,plume,plumed,plumer,plumery,plumet,plumier,plumify,plumist,plumlet,plummer,plummet,plummy,plumose,plumous,plump,plumpen,plumper,plumply,plumps,plumpy,plumula,plumule,plumy,plunder,plunge,plunger,plunk,plup,plural,pluries,plurify,plus,plush,plushed,plushy,pluteal,plutean,pluteus,pluvial,pluvian,pluvine,ply,plyer,plying,plywood,pneuma,po,poach,poacher,poachy,poalike,pob,pobby,pobs,pochade,pochard,pochay,poche,pock,pocket,pockety,pockily,pocky,poco,pocosin,pod,podagra,podal,podalic,podatus,podded,podder,poddish,poddle,poddy,podeon,podesta,podex,podge,podger,podgily,podgy,podial,podical,podices,podite,poditic,poditti,podium,podler,podley,podlike,podogyn,podsol,poduran,podurid,podware,podzol,poe,poem,poemet,poemlet,poesie,poesis,poesy,poet,poetdom,poetess,poetic,poetics,poetito,poetize,poetly,poetry,pogge,poggy,pogonip,pogrom,pogy,poh,poha,pohna,poi,poietic,poignet,poil,poilu,poind,poinder,point,pointed,pointel,pointer,pointy,poise,poised,poiser,poison,poitrel,pokable,poke,poked,pokeful,pokeout,poker,pokey,pokily,poking,pokomoo,pokunt,poky,pol,polacca,polack,polacre,polar,polaric,polarly,polaxis,poldavy,polder,pole,polearm,poleax,poleaxe,polecat,poleman,polemic,polenta,poler,poley,poliad,police,policed,policy,poligar,polio,polis,polish,polite,politic,polity,polk,polka,poll,pollack,polladz,pollage,pollam,pollan,pollard,polled,pollen,pollent,poller,pollex,polling,pollock,polloi,pollute,pollux,polo,poloist,polony,polos,polska,polt,poltina,poly,polyact,polyad,polygam,polygon,polygyn,polymer,polyose,polyp,polyped,polypi,polypod,polypus,pom,pomace,pomade,pomane,pomate,pomato,pomatum,pombe,pombo,pome,pomelo,pomey,pomfret,pomme,pommee,pommel,pommet,pommey,pommy,pomonal,pomonic,pomp,pompa,pompal,pompano,pompey,pomphus,pompier,pompion,pompist,pompon,pompous,pomster,pon,ponce,ponceau,poncho,pond,pondage,ponder,pondful,pondlet,pondman,pondok,pondus,pondy,pone,ponent,ponerid,poney,pong,ponga,pongee,poniard,ponica,ponier,ponja,pont,pontage,pontal,pontee,pontes,pontic,pontiff,pontify,pontil,pontile,pontin,pontine,pontist,ponto,ponton,pontoon,pony,ponzite,pooa,pooch,pooder,poodle,poof,poogye,pooh,pook,pooka,pookaun,pookoo,pool,pooler,pooli,pooly,poon,poonac,poonga,poop,pooped,poor,poorish,poorly,poot,pop,popadam,popal,popcorn,popdock,pope,popedom,popeism,popeler,popely,popery,popess,popeye,popeyed,popgun,popify,popinac,popish,popjoy,poplar,poplin,popover,poppa,poppean,poppel,popper,poppet,poppied,poppin,popple,popply,poppy,popshop,popular,populin,popweed,poral,porcate,porch,porched,porcine,pore,pored,porer,porge,porger,porgy,poring,porism,porite,pork,porker,porkery,porket,porkish,porkman,porkpie,porky,porogam,poroma,poros,porose,porosis,porotic,porous,porr,porrect,porret,porrigo,porry,port,porta,portage,portail,portal,portass,ported,portend,portent,porter,portia,portico,portify,portio,portion,portlet,portly,portman,porto,portray,portway,porty,porule,porus,pory,posca,pose,poser,poseur,posey,posh,posing,posit,positor,positum,posnet,posole,poss,posse,possess,posset,possum,post,postage,postal,postbag,postbox,postboy,posted,posteen,poster,postern,postfix,postic,postil,posting,postman,posture,postwar,posy,pot,potable,potamic,potash,potass,potassa,potate,potato,potator,potbank,potboil,potboy,potch,potcher,potdar,pote,poteen,potence,potency,potent,poter,poteye,potful,potgirl,potgun,pothead,potheen,pother,potherb,pothery,pothole,pothook,pothunt,potifer,potion,potleg,potlid,potlike,potluck,potman,potong,potoo,potoroo,potpie,potrack,pott,pottage,pottagy,pottah,potted,potter,pottery,potting,pottle,pottled,potto,potty,potware,potwork,potwort,pouce,poucer,poucey,pouch,pouched,pouchy,pouf,poulard,poulp,poulpe,poult,poulter,poultry,pounamu,pounce,pounced,pouncer,pouncet,pound,poundal,pounder,pour,pourer,pourie,pouring,pouser,pout,pouter,poutful,pouting,pouty,poverty,pow,powder,powdery,powdike,powdry,power,powered,powitch,pownie,powwow,pox,poxy,poy,poyou,praam,prabble,prabhu,practic,prad,praecox,praetor,prairie,praise,praiser,prajna,praline,pram,prana,prance,prancer,prancy,prank,pranked,pranker,prankle,pranky,prase,prasine,prasoid,prastha,prat,pratal,prate,prater,pratey,prating,prattle,prattly,prau,pravity,prawn,prawner,prawny,praxis,pray,praya,prayer,prayful,praying,preach,preachy,preacid,preact,preaged,preally,preanal,prearm,preaver,prebake,prebend,prebid,prebill,preboil,preborn,preburn,precant,precary,precast,precava,precede,precent,precept,preces,precess,precipe,precis,precise,precite,precoil,precook,precool,precopy,precox,precure,precut,precyst,predamn,predark,predata,predate,predawn,preday,predefy,predeny,predial,predict,prediet,predine,predoom,predraw,predry,predusk,preen,preener,preeze,prefab,preface,prefect,prefer,prefine,prefix,prefool,preform,pregain,pregust,prehaps,preheal,preheat,prehend,preidea,preknit,preknow,prelacy,prelate,prelect,prelim,preloan,preloss,prelude,premake,premate,premial,premier,premise,premiss,premium,premix,premold,premove,prename,prender,prendre,preomit,preopen,preoral,prep,prepare,prepave,prepay,prepink,preplan,preplot,prepose,prepuce,prepupa,prerent,prerich,prerupt,presage,presay,preseal,presee,presell,present,preses,preset,preship,preshow,preside,presift,presign,prespur,press,pressel,presser,pressor,prest,prester,presto,presume,pretan,pretell,pretend,pretest,pretext,pretire,pretone,pretry,pretty,pretzel,prevail,prevene,prevent,preverb,preveto,previde,preview,previse,prevoid,prevote,prevue,prewar,prewarn,prewash,prewhip,prewire,prewrap,prexy,prey,preyer,preyful,prezone,price,priced,pricer,prich,prick,pricked,pricker,pricket,prickle,prickly,pricks,pricky,pride,pridian,priding,pridy,pried,prier,priest,prig,prigdom,prigger,prigman,prill,prim,prima,primacy,primage,primal,primar,primary,primate,prime,primely,primer,primero,primine,priming,primly,primost,primp,primsie,primula,primus,primy,prince,princox,prine,pringle,prink,prinker,prinkle,prinky,print,printed,printer,prion,prionid,prior,prioral,priorly,priory,prisage,prisal,priscan,prism,prismal,prismed,prismy,prison,priss,prissy,pritch,prithee,prius,privacy,privant,private,privet,privily,privity,privy,prize,prizer,prizery,pro,proa,proal,proarmy,prob,probabl,probal,probang,probant,probate,probe,probeer,prober,probity,problem,procarp,proceed,process,proctal,proctor,procure,prod,prodder,proddle,prodigy,produce,product,proem,proetid,prof,profane,profert,profess,proffer,profile,profit,profuse,prog,progeny,progger,progne,program,project,proke,proker,prolan,prolate,proleg,prolify,proline,prolix,prolong,prolyl,promic,promise,promote,prompt,pronaos,pronate,pronavy,prone,pronely,proneur,prong,pronged,pronger,pronic,pronoun,pronpl,pronto,pronuba,proo,proof,proofer,proofy,prop,propago,propale,propane,propend,propene,proper,prophet,propine,proplex,propone,propons,propose,propoxy,propper,props,propupa,propyl,propyne,prorata,prorate,prore,prorean,prorsad,prorsal,prosaic,prosar,prose,prosect,proser,prosify,prosily,prosing,prosish,prosist,proso,prosode,prosody,prosoma,prosper,pross,prossy,prosy,protax,prote,protea,protead,protean,protect,protege,proteic,protein,protend,protest,protext,prothyl,protide,protist,protium,proto,protoma,protome,proton,protone,protore,protyl,protyle,protype,proudly,provand,provant,prove,provect,proved,proven,prover,proverb,provide,provine,proving,proviso,provoke,provost,prow,prowar,prowed,prowess,prowl,prowler,proxeny,proximo,proxy,proxysm,prozone,prude,prudely,prudent,prudery,prudish,prudist,prudity,pruh,prunase,prune,prunell,pruner,pruning,prunt,prunted,prurigo,prussic,prut,prutah,pry,pryer,prying,pryler,pryse,prytany,psalis,psalm,psalmic,psalmy,psaloid,psalter,psaltes,pschent,pseudo,psha,pshaw,psi,psiloi,psoadic,psoas,psoatic,psocid,psocine,psoitis,psora,psoric,psoroid,psorous,pst,psych,psychal,psyche,psychic,psychid,psychon,psykter,psylla,psyllid,ptarmic,ptereal,pteric,pterion,pteroid,pteroma,pteryla,ptinid,ptinoid,ptisan,ptomain,ptosis,ptotic,ptyalin,ptyxis,pu,pua,puan,pub,pubal,pubble,puberal,puberty,pubes,pubian,pubic,pubis,public,publish,puccoon,puce,pucelle,puchero,puck,pucka,pucker,puckery,puckish,puckle,puckrel,pud,puddee,pudder,pudding,puddle,puddled,puddler,puddly,puddock,puddy,pudency,pudenda,pudent,pudge,pudgily,pudgy,pudiano,pudic,pudical,pudsey,pudsy,pudu,pueblo,puerer,puerile,puerman,puff,puffed,puffer,puffery,puffily,puffin,puffing,pufflet,puffwig,puffy,pug,pugged,pugger,puggi,pugging,puggish,puggle,puggree,puggy,pugh,pugil,pugman,pugmill,puisne,puist,puistie,puja,puka,pukatea,puke,pukeko,puker,pukish,pukras,puku,puky,pul,pulahan,pulasan,pule,pulegol,puler,puli,pulicat,pulicid,puling,pulish,pulk,pulka,pull,pulldoo,pullen,puller,pullery,pullet,pulley,pulli,pullus,pulp,pulpal,pulper,pulpify,pulpily,pulpit,pulpous,pulpy,pulque,pulsant,pulsate,pulse,pulsion,pulsive,pulton,pulu,pulvic,pulvil,pulvino,pulwar,puly,puma,pumice,pumiced,pumicer,pummel,pummice,pump,pumpage,pumper,pumpkin,pumple,pumpman,pun,puna,punaise,punalua,punatoo,punch,puncher,punchy,punct,punctal,punctum,pundit,pundita,pundum,puneca,pung,punga,pungar,pungent,punger,pungey,pungi,pungle,pungled,punicin,punily,punish,punjum,punk,punkah,punkie,punky,punless,punlet,punnage,punner,punnet,punnic,punster,punt,punta,puntal,puntel,punter,punti,puntil,puntist,punto,puntout,punty,puny,punyish,punyism,pup,pupa,pupal,pupate,pupelo,pupil,pupilar,pupiled,pupoid,puppet,puppify,puppily,puppy,pupulo,pupunha,pur,purana,puranic,puraque,purdah,purdy,pure,pured,puree,purely,purer,purfle,purfled,purfler,purfly,purga,purge,purger,purgery,purging,purify,purine,puriri,purism,purist,purity,purl,purler,purlieu,purlin,purlman,purloin,purpart,purple,purply,purport,purpose,purpura,purpure,purr,purre,purree,purreic,purrel,purrer,purring,purrone,purry,purse,pursed,purser,pursily,purslet,pursley,pursual,pursue,pursuer,pursuit,pursy,purusha,purvey,purview,purvoe,pus,push,pusher,pushful,pushing,pushpin,puss,pusscat,pussley,pussy,pustule,put,putage,putamen,putback,putchen,putcher,puteal,putelee,puther,puthery,putid,putidly,putlog,putois,putrefy,putrid,putt,puttee,putter,puttier,puttock,putty,puture,puxy,puzzle,puzzled,puzzler,pya,pyal,pyche,pycnia,pycnial,pycnid,pycnite,pycnium,pyelic,pyemia,pyemic,pygal,pygarg,pygidid,pygmoid,pygmy,pygofer,pygopod,pyic,pyin,pyjama,pyke,pyknic,pyla,pylar,pylic,pylon,pyloric,pylorus,pyocele,pyocyst,pyocyte,pyoid,pyosis,pyr,pyral,pyralid,pyralis,pyramid,pyran,pyranyl,pyre,pyrena,pyrene,pyrenic,pyrenin,pyretic,pyrex,pyrexia,pyrexic,pyrgom,pyridic,pyridyl,pyrite,pyrites,pyritic,pyro,pyrogen,pyroid,pyrone,pyrope,pyropen,pyropus,pyrosis,pyrotic,pyrrhic,pyrrol,pyrrole,pyrroyl,pyrryl,pyruvic,pyruvil,pyruvyl,python,pyuria,pyvuril,pyx,pyxides,pyxie,pyxis,q,qasida,qere,qeri,qintar,qoph,qua,quab,quabird,quachil,quack,quackle,quacky,quad,quadded,quaddle,quadra,quadral,quadrat,quadric,quadrum,quaedam,quaff,quaffer,quag,quagga,quaggle,quaggy,quahog,quail,quaily,quaint,quake,quaker,quaking,quaky,quale,qualify,quality,qualm,qualmy,quan,quandy,quannet,quant,quanta,quantic,quantum,quar,quare,quark,quarl,quarle,quarred,quarrel,quarry,quart,quartan,quarter,quartet,quartic,quarto,quartz,quartzy,quash,quashey,quashy,quasi,quasky,quassin,quat,quata,quatch,quatern,quaters,quatral,quatre,quatrin,quattie,quatuor,quauk,quave,quaver,quavery,quaw,quawk,quay,quayage,quayful,quayman,qubba,queach,queachy,queak,queal,quean,queasom,queasy,quedful,queechy,queen,queenly,queer,queerer,queerly,queery,queest,queet,queeve,quegh,quei,quelch,quell,queller,quemado,queme,quemely,quench,quercic,quercin,querent,querier,querist,querken,querl,quern,quernal,query,quest,quester,questor,quet,quetch,quetzal,queue,quey,quiapo,quib,quibble,quiblet,quica,quick,quicken,quickie,quickly,quid,quidder,quiddit,quiddle,quiesce,quiet,quieten,quieter,quietly,quietus,quiff,quila,quiles,quilkin,quill,quillai,quilled,quiller,quillet,quilly,quilt,quilted,quilter,quin,quina,quinary,quinate,quince,quinch,quinia,quinic,quinin,quinina,quinine,quinism,quinite,quinize,quink,quinnat,quinnet,quinoa,quinoid,quinol,quinone,quinova,quinoyl,quinse,quinsy,quint,quintad,quintal,quintan,quinte,quintet,quintic,quintin,quinto,quinton,quintus,quinyl,quinze,quip,quipful,quipo,quipper,quippy,quipu,quira,quire,quirk,quirky,quirl,quirt,quis,quisby,quiscos,quisle,quit,quitch,quite,quits,quitted,quitter,quittor,quiver,quivery,quiz,quizzee,quizzer,quizzy,quo,quod,quoin,quoined,quoit,quoiter,quoits,quondam,quoniam,quop,quorum,quot,quota,quote,quotee,quoter,quoth,quotha,quotity,quotum,r,ra,raad,raash,rab,raband,rabanna,rabat,rabatte,rabbet,rabbi,rabbin,rabbit,rabbity,rabble,rabbler,rabboni,rabic,rabid,rabidly,rabies,rabific,rabinet,rabitic,raccoon,raccroc,race,raceme,racemed,racemic,racer,raceway,rach,rache,rachial,rachis,racial,racily,racing,racism,racist,rack,rackan,racker,racket,rackett,rackety,rackful,racking,rackle,rackway,racloir,racon,racoon,racy,rad,rada,radar,raddle,radial,radiale,radian,radiant,radiate,radical,radicel,radices,radicle,radii,radio,radiode,radish,radium,radius,radix,radman,radome,radon,radula,raff,raffe,raffee,raffery,raffia,raffing,raffish,raffle,raffler,raft,raftage,rafter,raftman,rafty,rag,raga,rage,rageful,rageous,rager,ragfish,ragged,raggedy,raggee,ragger,raggery,raggety,raggil,raggily,ragging,raggle,raggled,raggy,raging,raglan,raglet,raglin,ragman,ragout,ragshag,ragtag,ragtime,ragule,raguly,ragweed,ragwort,rah,rahdar,raia,raid,raider,rail,railage,railer,railing,railly,railman,railway,raiment,rain,rainbow,rainer,rainful,rainily,rainy,raioid,rais,raise,raised,raiser,raisin,raising,raisiny,raj,raja,rajah,rakan,rake,rakeage,rakeful,raker,rakery,rakh,raki,rakily,raking,rakish,rakit,raku,rallier,ralline,rally,ralph,ram,ramada,ramage,ramal,ramanas,ramass,ramate,rambeh,ramble,rambler,rambong,rame,rameal,ramed,ramekin,rament,rameous,ramet,ramex,ramhead,ramhood,rami,ramie,ramify,ramlike,ramline,rammack,rammel,rammer,rammish,rammy,ramose,ramous,ramp,rampage,rampant,rampart,ramped,ramper,rampick,rampike,ramping,rampion,rampire,rampler,ramplor,ramrace,ramrod,ramsch,ramson,ramstam,ramtil,ramular,ramule,ramulus,ramus,ran,rana,ranal,rance,rancel,rancer,ranch,ranche,rancher,rancho,rancid,rancor,rand,randan,randem,rander,randing,randir,randle,random,randy,rane,rang,range,ranged,ranger,rangey,ranging,rangle,rangler,rangy,rani,ranid,ranine,rank,ranked,ranker,rankish,rankle,rankly,rann,rannel,ranny,ransack,ransel,ransom,rant,rantan,ranter,ranting,rantock,ranty,ranula,ranular,rap,rape,rapeful,raper,raphany,raphe,raphide,raphis,rapic,rapid,rapidly,rapier,rapillo,rapine,rapiner,raping,rapinic,rapist,raploch,rappage,rappe,rappel,rapper,rapping,rappist,rapport,rapt,raptly,raptor,raptril,rapture,raptury,raptus,rare,rarebit,rarefy,rarely,rarish,rarity,ras,rasa,rasant,rascal,rasceta,rase,rasen,raser,rasgado,rash,rasher,rashful,rashing,rashly,rasion,rasp,rasped,rasper,rasping,raspish,raspite,raspy,rasse,rassle,raster,rastik,rastle,rasure,rat,rata,ratable,ratably,ratafee,ratafia,ratal,ratbite,ratch,ratchel,ratcher,ratchet,rate,rated,ratel,rater,ratfish,rath,rathe,rathed,rathely,rather,rathest,rathite,rathole,ratify,ratine,rating,ratio,ration,ratite,ratlike,ratline,ratoon,rattage,rattail,rattan,ratteen,ratten,ratter,rattery,ratti,rattish,rattle,rattled,rattler,rattles,rattly,ratton,rattrap,ratty,ratwa,ratwood,raucid,raucity,raucous,raught,rauk,raukle,rauli,raun,raunge,raupo,rauque,ravage,ravager,rave,ravel,raveler,ravelin,ravelly,raven,ravener,ravenry,ravens,raver,ravin,ravine,ravined,raviney,raving,ravioli,ravish,ravison,raw,rawhead,rawhide,rawish,rawness,rax,ray,raya,rayage,rayed,rayful,rayless,raylet,rayon,raze,razee,razer,razoo,razor,razz,razzia,razzly,re,rea,reaal,reabuse,reach,reacher,reachy,react,reactor,read,readapt,readd,reader,readily,reading,readmit,readopt,readorn,ready,reagent,reagin,reagree,reak,real,realarm,reales,realest,realgar,realign,realism,realist,reality,realive,realize,reallot,reallow,really,realm,realter,realtor,realty,ream,reamage,reamass,reamend,reamer,reamuse,reamy,reannex,reannoy,reanvil,reap,reaper,reapply,rear,rearer,reargue,rearise,rearm,rearray,reask,reason,reassay,reasty,reasy,reatus,reaudit,reavail,reave,reaver,reavoid,reavow,reawait,reawake,reaward,reaware,reb,rebab,reback,rebag,rebait,rebake,rebale,reban,rebar,rebase,rebasis,rebate,rebater,rebathe,rebato,rebawl,rebear,rebeat,rebec,rebeck,rebed,rebeg,rebeget,rebegin,rebel,rebelly,rebend,rebeset,rebia,rebias,rebid,rebill,rebind,rebirth,rebite,reblade,reblame,reblast,reblend,rebless,reblock,rebloom,reblot,reblow,reblue,rebluff,reboant,reboard,reboast,rebob,reboil,reboise,rebold,rebolt,rebone,rebook,rebop,rebore,reborn,rebound,rebox,rebrace,rebraid,rebrand,rebreed,rebrew,rebribe,rebrick,rebring,rebrown,rebrush,rebud,rebuff,rebuild,rebuilt,rebuke,rebuker,rebulk,rebunch,rebuoy,reburn,reburst,rebury,rebus,rebush,rebusy,rebut,rebute,rebuy,recable,recage,recalk,recall,recant,recap,recarry,recart,recarve,recase,recash,recast,recatch,recce,recco,reccy,recede,receder,receipt,receive,recency,recense,recent,recept,recess,rechafe,rechain,rechal,rechant,rechaos,rechar,rechase,rechaw,recheat,recheck,recheer,rechew,rechip,rechuck,rechurn,recipe,recital,recite,reciter,reck,reckla,reckon,reclaim,reclama,reclang,reclasp,reclass,reclean,reclear,reclimb,recline,reclose,recluse,recoach,recoal,recoast,recoat,recock,recoct,recode,recoil,recoin,recoke,recolor,recomb,recon,recook,recool,recopy,record,recork,recount,recoup,recover,recramp,recrank,recrate,recrew,recroon,recrop,recross,recrowd,recrown,recruit,recrush,rect,recta,rectal,recti,rectify,rection,recto,rector,rectory,rectrix,rectum,rectus,recur,recure,recurl,recurse,recurve,recuse,recut,recycle,red,redact,redan,redare,redarn,redart,redate,redaub,redawn,redback,redbait,redbill,redbird,redbone,redbuck,redbud,redcap,redcoat,redd,redden,redder,redding,reddish,reddock,reddy,rede,redeal,redebit,redeck,redeed,redeem,redefer,redefy,redeify,redelay,redeny,redeye,redfin,redfish,redfoot,redhead,redhoop,redia,redient,redig,redip,redive,redleg,redlegs,redly,redness,redo,redock,redoom,redoubt,redound,redowa,redox,redpoll,redraft,redrag,redrape,redraw,redream,redress,redrill,redrive,redroot,redry,redsear,redskin,redtab,redtail,redtop,redub,reduce,reduced,reducer,reduct,redue,redux,redward,redware,redweed,redwing,redwood,redye,ree,reechy,reed,reeded,reeden,reeder,reedily,reeding,reedish,reedman,reedy,reef,reefer,reefing,reefy,reek,reeker,reeky,reel,reeled,reeler,reem,reeming,reemish,reen,reenge,reeper,reese,reeshle,reesk,reesle,reest,reester,reestle,reesty,reet,reetam,reetle,reeve,ref,reface,refall,refan,refavor,refect,refeed,refeel,refeign,refel,refence,refer,referee,refetch,refight,refill,refilm,refind,refine,refined,refiner,refire,refit,refix,reflag,reflame,reflash,reflate,reflect,reflee,reflex,refling,refloat,reflog,reflood,refloor,reflow,reflush,reflux,refly,refocus,refold,refont,refool,refoot,reforce,reford,reforge,reform,refound,refract,refrain,reframe,refresh,refront,reft,refuel,refuge,refugee,refulge,refund,refurl,refusal,refuse,refuser,refutal,refute,refuter,reg,regain,regal,regale,regaler,regalia,regally,regard,regatta,regauge,regency,regent,reges,reget,regia,regift,regild,regill,regime,regimen,regin,reginal,region,regive,reglair,reglaze,regle,reglet,regloss,reglove,reglow,reglue,regma,regnal,regnant,regorge,regrade,regraft,regrant,regrasp,regrass,regrate,regrede,regreen,regreet,regress,regret,regrind,regrip,regroup,regrow,reguard,reguide,regula,regular,reguli,regulus,regur,regurge,regush,reh,rehair,rehale,rehang,reharm,rehash,rehaul,rehead,reheal,reheap,rehear,reheat,rehedge,reheel,rehoe,rehoist,rehonor,rehood,rehook,rehoop,rehouse,rehung,reif,reify,reign,reim,reimage,reimpel,reimply,rein,reina,reincur,reindue,reinfer,reins,reinter,reis,reissue,reit,reitbok,reiter,reiver,rejail,reject,rejerk,rejoice,rejoin,rejolt,rejudge,rekick,rekill,reking,rekiss,reknit,reknow,rel,relabel,relace,relade,reladen,relais,relamp,reland,relap,relapse,relast,relata,relatch,relate,related,relater,relator,relatum,relax,relaxed,relaxer,relay,relbun,relead,releap,relearn,release,relend,relent,relet,relevel,relevy,reliant,relic,relick,relict,relief,relier,relieve,relievo,relift,relight,relime,relimit,reline,reliner,relink,relish,relishy,relist,relive,reload,reloan,relock,relodge,relook,relose,relost,relot,relove,relower,reluct,relume,rely,remade,remail,remain,remains,remake,remaker,reman,remand,remanet,remap,remarch,remark,remarry,remask,remass,remast,rematch,remble,remeant,remede,remedy,remeet,remelt,remend,remerge,remetal,remex,remica,remicle,remiges,remill,remimic,remind,remint,remiped,remise,remiss,remit,remix,remnant,remock,remodel,remold,remop,remora,remord,remorse,remote,remould,remount,removal,remove,removed,remover,renable,renably,renail,renal,rename,rend,render,reneg,renege,reneger,renegue,renerve,renes,renet,renew,renewal,renewer,renin,renish,renk,renky,renne,rennet,rennin,renown,rent,rentage,rental,rented,rentee,renter,renvoi,renvoy,reoccur,reoffer,reoil,reomit,reopen,reorder,reown,rep,repace,repack,repage,repaint,repair,repale,repand,repanel,repaper,repark,repass,repast,repaste,repatch,repave,repawn,repay,repayal,repeal,repeat,repeg,repel,repen,repent,repew,rephase,repic,repick,repiece,repile,repin,repine,repiner,repipe,repique,repitch,repkie,replace,replait,replan,replane,replant,replate,replay,replead,repleat,replete,replevy,replica,replier,replod,replot,replow,replum,replume,reply,repoint,repoll,repolon,repone,repope,report,reposal,repose,reposed,reposer,reposit,repost,repot,repound,repour,repp,repped,repray,repress,reprice,reprime,reprint,reprise,reproof,reprove,reprune,reps,reptant,reptile,repuff,repugn,repulse,repump,repurge,repute,reputed,requeen,request,requiem,requin,require,requit,requite,requiz,requote,rerack,rerail,reraise,rerake,rerank,rerate,reread,reredos,reree,rereel,rereeve,rereign,rerent,rerig,rering,rerise,rerival,rerivet,rerob,rerobe,reroll,reroof,reroot,rerope,reroute,rerow,rerub,rerun,resaca,resack,resail,resale,resalt,resaw,resawer,resay,rescan,rescind,rescore,rescrub,rescue,rescuer,reseal,reseam,reseat,resect,reseda,resee,reseed,reseek,reseise,reseize,reself,resell,resend,resene,resent,reserve,reset,resever,resew,resex,resh,reshake,reshape,reshare,reshave,reshear,reshift,reshine,reship,reshoe,reshoot,reshun,reshunt,reshut,reside,resider,residua,residue,resift,resigh,resign,resile,resin,resina,resiner,resing,resinic,resink,resinol,resiny,resist,resize,resizer,reskin,reslash,reslate,reslay,reslide,reslot,resmell,resmelt,resmile,resnap,resnub,resoak,resoap,resoil,resole,resolve,resorb,resort,resound,resow,resp,respace,respade,respan,respeak,respect,respell,respin,respire,respite,resplit,respoke,respond,respot,respray,respue,ressala,ressaut,rest,restack,restaff,restain,restake,restamp,restant,restart,restate,restaur,resteal,resteel,resteep,restem,restep,rester,restes,restful,restiad,restiff,resting,restir,restis,restive,restock,restore,restow,restrap,restrip,restudy,restuff,resty,restyle,resuck,resue,resuing,resuit,result,resume,resumer,resun,resup,resurge,reswage,resward,reswarm,reswear,resweat,resweep,reswell,reswill,reswim,ret,retable,retack,retag,retail,retain,retake,retaker,retalk,retama,retame,retan,retape,retard,retare,retaste,retax,retch,reteach,retell,retem,retempt,retene,retent,retest,rethank,rethaw,rethe,rethink,rethrow,retia,retial,retiary,reticle,retie,retier,retile,retill,retime,retin,retina,retinal,retinol,retinue,retip,retiral,retire,retired,retirer,retoast,retold,retomb,retook,retool,retooth,retort,retoss,retotal,retouch,retour,retrace,retrack,retract,retrad,retrade,retrain,retral,retramp,retread,retreat,retree,retrial,retrim,retrip,retrot,retrude,retrue,retrust,retry,retted,retter,rettery,retting,rettory,retube,retuck,retune,returf,return,retuse,retwine,retwist,retying,retype,retzian,reune,reunify,reunion,reunite,reurge,reuse,reutter,rev,revalue,revamp,revary,reve,reveal,reveil,revel,reveler,revelly,revelry,revend,revenge,revent,revenue,rever,reverb,revere,revered,reverer,reverie,revers,reverse,reversi,reverso,revert,revery,revest,revet,revete,revie,review,revile,reviler,revisal,revise,revisee,reviser,revisit,revisor,revival,revive,reviver,revivor,revoice,revoke,revoker,revolt,revolve,revomit,revote,revue,revuist,rewade,rewager,rewake,rewaken,rewall,reward,rewarm,rewarn,rewash,rewater,rewave,rewax,rewayle,rewear,reweave,rewed,reweigh,reweld,rewend,rewet,rewhelp,rewhirl,rewiden,rewin,rewind,rewire,rewish,rewood,reword,rework,rewound,rewove,rewoven,rewrap,rewrite,rex,rexen,reyield,reyoke,reyouth,rhabdom,rhabdos,rhabdus,rhagite,rhagon,rhagose,rhamn,rhamnal,rhason,rhatany,rhe,rhea,rhebok,rheeboc,rheebok,rheen,rheic,rhein,rheinic,rhema,rheme,rhenium,rheotan,rhesian,rhesus,rhetor,rheum,rheumed,rheumic,rheumy,rhexis,rhinal,rhine,rhinion,rhino,rhizine,rhizoid,rhizoma,rhizome,rhizote,rho,rhodic,rhoding,rhodite,rhodium,rhomb,rhombic,rhombos,rhombus,rhubarb,rhumb,rhumba,rhyme,rhymer,rhymery,rhymic,rhymist,rhymy,rhyptic,rhythm,rhyton,ria,rial,riancy,riant,riantly,riata,rib,ribald,riband,ribat,ribband,ribbed,ribber,ribbet,ribbing,ribble,ribbon,ribbony,ribby,ribe,ribless,riblet,riblike,ribonic,ribose,ribskin,ribwork,ribwort,rice,ricer,ricey,rich,richdom,richen,riches,richly,richt,ricin,ricine,ricinic,ricinus,rick,ricker,rickets,rickety,rickey,rickle,ricksha,ricrac,rictal,rictus,rid,ridable,ridably,riddam,riddel,ridden,ridder,ridding,riddle,riddler,ride,rideau,riden,rident,rider,ridered,ridge,ridged,ridgel,ridger,ridgil,ridging,ridgy,riding,ridotto,rie,riem,riempie,rier,rife,rifely,riff,riffle,riffler,rifle,rifler,riflery,rifling,rift,rifter,rifty,rig,rigbane,riggald,rigger,rigging,riggish,riggite,riggot,right,righten,righter,rightle,rightly,righto,righty,rigid,rigidly,rigling,rignum,rigol,rigor,rigsby,rikisha,rikk,riksha,rikshaw,rilawa,rile,riley,rill,rillet,rillett,rillock,rilly,rim,rima,rimal,rimate,rimbase,rime,rimer,rimfire,rimland,rimless,rimmed,rimmer,rimose,rimous,rimpi,rimple,rimrock,rimu,rimula,rimy,rinceau,rinch,rincon,rind,rinded,rindle,rindy,rine,ring,ringe,ringed,ringent,ringer,ringeye,ringing,ringite,ringle,ringlet,ringman,ringtaw,ringy,rink,rinka,rinker,rinkite,rinner,rinse,rinser,rinsing,rio,riot,rioter,rioting,riotist,riotous,riotry,rip,ripa,ripal,ripcord,ripe,ripely,ripen,ripener,riper,ripgut,ripieno,ripier,ripost,riposte,ripper,rippet,rippier,ripping,rippit,ripple,rippler,ripplet,ripply,rippon,riprap,ripsack,ripsaw,ripup,risala,risberm,rise,risen,riser,rishi,risible,risibly,rising,risk,risker,riskful,riskily,riskish,risky,risp,risper,risque,risquee,rissel,risser,rissle,rissoid,rist,ristori,rit,rita,rite,ritling,ritual,ritzy,riva,rivage,rival,rivalry,rive,rivel,rivell,riven,river,rivered,riverly,rivery,rivet,riveter,riving,rivose,rivulet,rix,rixy,riyal,rizzar,rizzle,rizzom,roach,road,roadbed,roaded,roader,roading,roadite,roadman,roadway,roam,roamage,roamer,roaming,roan,roanoke,roar,roarer,roaring,roast,roaster,rob,robalo,roband,robber,robbery,robbin,robbing,robe,rober,roberd,robin,robinet,robing,robinin,roble,robomb,robot,robotry,robur,robust,roc,rocher,rochet,rock,rockaby,rocker,rockery,rocket,rockety,rocking,rockish,rocklay,rocklet,rockman,rocky,rococo,rocta,rod,rodd,roddin,rodding,rode,rodent,rodeo,rodge,rodham,roding,rodless,rodlet,rodlike,rodman,rodney,rodsman,rodster,rodwood,roe,roebuck,roed,roelike,roer,roey,rog,rogan,roger,roggle,rogue,roguery,roguing,roguish,rohan,rohob,rohun,rohuna,roi,roid,roil,roily,roister,roit,roka,roke,rokeage,rokee,rokelay,roker,rokey,roky,role,roleo,roll,rolled,roller,rolley,rollick,rolling,rollix,rollmop,rollock,rollway,roloway,romaika,romaine,romal,romance,romancy,romanza,romaunt,rombos,romeite,romero,rommack,romp,romper,romping,rompish,rompu,rompy,roncet,ronco,rond,ronde,rondeau,rondel,rondino,rondle,rondo,rondure,rone,rongeur,ronquil,rontgen,ronyon,rood,roodle,roof,roofage,roofer,roofing,rooflet,roofman,roofy,rooibok,rooinek,rook,rooker,rookery,rookie,rookish,rooklet,rooky,rool,room,roomage,roomed,roomer,roomful,roomie,roomily,roomlet,roomth,roomthy,roomy,roon,roosa,roost,roosted,rooster,root,rootage,rootcap,rooted,rooter,rootery,rootle,rootlet,rooty,roove,ropable,rope,ropeman,roper,ropery,ropes,ropeway,ropily,roping,ropish,ropp,ropy,roque,roquer,roquet,roquist,roral,roric,rorqual,rorty,rory,rosal,rosario,rosary,rosated,roscid,rose,roseal,roseate,rosebay,rosebud,rosed,roseine,rosel,roselet,rosella,roselle,roseola,roseous,rosery,roset,rosetan,rosette,rosetty,rosetum,rosety,rosied,rosier,rosilla,rosillo,rosily,rosin,rosiny,rosland,rosoli,rosolic,rosolio,ross,rosser,rossite,rostel,roster,rostra,rostral,rostrum,rosular,rosy,rot,rota,rotal,rotaman,rotan,rotang,rotary,rotate,rotated,rotator,rotch,rote,rotella,roter,rotge,rotgut,rother,rotifer,roto,rotor,rottan,rotten,rotter,rotting,rottle,rottock,rottolo,rotula,rotulad,rotular,rotulet,rotulus,rotund,rotunda,rotundo,roub,roucou,roud,roue,rouelle,rouge,rougeau,rougeot,rough,roughen,rougher,roughet,roughie,roughly,roughy,rougy,rouille,rouky,roulade,rouleau,roun,rounce,rouncy,round,rounded,roundel,rounder,roundly,roundup,roundy,roup,rouper,roupet,roupily,roupit,roupy,rouse,rouser,rousing,roust,rouster,rout,route,router,routh,routhie,routhy,routine,routing,routous,rove,rover,rovet,rovetto,roving,row,rowable,rowan,rowboat,rowdily,rowdy,rowed,rowel,rowen,rower,rowet,rowing,rowlet,rowlock,rowport,rowty,rowy,rox,roxy,royal,royale,royalet,royally,royalty,royet,royt,rozum,ruach,ruana,rub,rubasse,rubato,rubbed,rubber,rubbers,rubbery,rubbing,rubbish,rubble,rubbler,rubbly,rubdown,rubelet,rubella,rubelle,rubeola,rubiate,rubican,rubidic,rubied,rubific,rubify,rubine,rubious,ruble,rublis,rubor,rubric,rubrica,rubrify,ruby,ruche,ruching,ruck,rucker,ruckle,rucksey,ruckus,rucky,ruction,rud,rudas,rudd,rudder,ruddied,ruddily,ruddle,ruddock,ruddy,rude,rudely,ruderal,rudesby,rudge,rudish,rudity,rue,rueful,ruelike,ruelle,ruen,ruer,ruesome,ruewort,ruff,ruffed,ruffer,ruffian,ruffin,ruffle,ruffled,ruffler,ruffly,rufous,rufter,rufus,rug,ruga,rugate,rugged,rugging,ruggle,ruggy,ruglike,rugosa,rugose,rugous,ruin,ruinate,ruined,ruiner,ruing,ruinous,rukh,rulable,rule,ruledom,ruler,ruling,rull,ruller,rullion,rum,rumal,rumble,rumbler,rumbly,rumbo,rumen,ruminal,rumkin,rumless,rumly,rummage,rummagy,rummer,rummily,rummish,rummy,rumness,rumney,rumor,rumorer,rump,rumpad,rumpade,rumple,rumply,rumpus,rumshop,run,runaway,runback,runby,runch,rundale,rundle,rundlet,rune,runed,runer,runfish,rung,runic,runite,runkle,runkly,runless,runlet,runman,runnel,runner,runnet,running,runny,runoff,runout,runover,runrig,runt,runted,runtee,runtish,runty,runway,rupa,rupee,rupia,rupiah,rupial,rupie,rupitic,ruptile,ruption,ruptive,rupture,rural,rurally,rurban,ruru,ruse,rush,rushed,rushen,rusher,rushing,rushlit,rushy,rusine,rusk,ruskin,rusky,rusma,rusot,ruspone,russel,russet,russety,russia,russud,rust,rustful,rustic,rustily,rustle,rustler,rustly,rustre,rustred,rusty,ruswut,rut,rutate,rutch,ruth,ruther,ruthful,rutic,rutile,rutin,ruttee,rutter,ruttish,rutty,rutyl,ruvid,rux,ryal,ryania,rybat,ryder,rye,ryen,ryme,rynd,rynt,ryot,ryotwar,rype,rypeck,s,sa,saa,sab,sabalo,sabanut,sabbat,sabbath,sabe,sabeca,sabella,saber,sabered,sabicu,sabina,sabine,sabino,sable,sably,sabora,sabot,saboted,sabra,sabulum,saburra,sabutan,sabzi,sac,sacaton,sacatra,saccade,saccate,saccos,saccule,saccus,sachem,sachet,sack,sackage,sackbag,sackbut,sacked,sacken,sacker,sackful,sacking,sackman,saclike,saco,sacope,sacque,sacra,sacrad,sacral,sacred,sacring,sacrist,sacro,sacrum,sad,sadden,saddik,saddish,saddle,saddled,saddler,sade,sadh,sadhe,sadhu,sadic,sadiron,sadism,sadist,sadly,sadness,sado,sadr,saecula,saeter,saeume,safari,safe,safely,safen,safener,safety,saffian,safflor,safflow,saffron,safrole,saft,sag,saga,sagaie,sagaman,sagathy,sage,sagely,sagene,sagger,sagging,saggon,saggy,saging,sagitta,sagless,sago,sagoin,saguaro,sagum,saguran,sagwire,sagy,sah,sahh,sahib,sahme,sahukar,sai,saic,said,saiga,sail,sailage,sailed,sailer,sailing,sailor,saily,saim,saimiri,saimy,sain,saint,sainted,saintly,saip,sair,sairly,sairve,sairy,saithe,saj,sajou,sake,sakeber,sakeen,saker,sakeret,saki,sakieh,sakulya,sal,salaam,salable,salably,salacot,salad,salago,salal,salamo,salar,salary,salat,salay,sale,salele,salema,salep,salfern,salic,salicin,salicyl,salient,salify,saligot,salina,saline,salite,salited,saliva,salival,salix,salle,sallee,sallet,sallier,salloo,sallow,sallowy,sally,salma,salmiac,salmine,salmis,salmon,salol,salomon,salon,saloon,saloop,salp,salpa,salpian,salpinx,salpoid,salse,salsify,salt,salta,saltant,saltary,saltate,saltcat,salted,saltee,salten,salter,saltern,saltery,saltfat,saltier,saltine,salting,saltish,saltly,saltman,saltpan,saltus,salty,saluki,salung,salute,saluter,salvage,salve,salver,salviol,salvo,salvor,salvy,sam,samadh,samadhi,samaj,saman,samara,samaria,samarra,samba,sambal,sambar,sambo,sambuk,sambuke,same,samekh,samel,samely,samen,samh,samhita,samiel,samiri,samisen,samite,samkara,samlet,sammel,sammer,sammier,sammy,samovar,samp,sampan,sampi,sample,sampler,samsara,samshu,samson,samurai,san,sanable,sanai,sancho,sanct,sancta,sanctum,sand,sandak,sandal,sandan,sandbag,sandbin,sandbox,sandboy,sandbur,sanded,sander,sanders,sandhi,sanding,sandix,sandman,sandust,sandy,sane,sanely,sang,sanga,sangar,sangei,sanger,sangha,sangley,sangrel,sangsue,sanicle,sanies,sanify,sanious,sanity,sanjak,sank,sankha,sannup,sans,sansei,sansi,sant,santal,santene,santimi,santims,santir,santon,sao,sap,sapa,sapajou,sapan,sapbush,sapek,sapful,saphead,saphena,saphie,sapid,sapient,sapin,sapinda,saple,sapless,sapling,sapo,saponin,sapor,sapota,sapote,sappare,sapper,sapphic,sapping,sapples,sappy,saprine,sapsago,sapsuck,sapwood,sapwort,sar,saraad,saraf,sarangi,sarcasm,sarcast,sarcine,sarcle,sarcler,sarcode,sarcoid,sarcoma,sarcous,sard,sardel,sardine,sardius,sare,sargo,sargus,sari,sarif,sarigue,sarinda,sarip,sark,sarkar,sarkful,sarkine,sarking,sarkit,sarlak,sarlyk,sarment,sarna,sarod,saron,sarong,saronic,saros,sarpler,sarpo,sarra,sarraf,sarsa,sarsen,sart,sartage,sartain,sartor,sarus,sarwan,sasa,sasan,sasani,sash,sashay,sashery,sashing,sasin,sasine,sassaby,sassy,sat,satable,satan,satang,satanic,satara,satchel,sate,sateen,satiate,satient,satiety,satin,satine,satined,satiny,satire,satiric,satisfy,satlijk,satrap,satrapy,satron,sattle,sattva,satura,satyr,satyric,sauce,saucer,saucily,saucy,sauf,sauger,saugh,saughen,sauld,saulie,sault,saulter,saum,saumon,saumont,sauna,saunter,sauqui,saur,saurel,saurian,saury,sausage,saut,saute,sauteur,sauty,sauve,savable,savacu,savage,savanna,savant,savarin,save,saved,saveloy,saver,savin,saving,savior,savola,savor,savored,savorer,savory,savour,savoy,savoyed,savssat,savvy,saw,sawah,sawali,sawarra,sawback,sawbill,sawbuck,sawbwa,sawder,sawdust,sawed,sawer,sawfish,sawfly,sawing,sawish,sawlike,sawman,sawmill,sawmon,sawmont,sawn,sawney,sawt,sawway,sawwort,sawyer,sax,saxhorn,saxten,saxtie,saxtuba,say,saya,sayable,sayer,sayette,sayid,saying,sazen,sblood,scab,scabbed,scabble,scabby,scabid,scabies,scabish,scabrid,scad,scaddle,scads,scaff,scaffer,scaffie,scaffle,scaglia,scala,scalage,scalar,scalare,scald,scalded,scalder,scaldic,scaldy,scale,scaled,scalena,scalene,scaler,scales,scaling,scall,scalled,scallom,scallop,scalma,scaloni,scalp,scalpel,scalper,scalt,scaly,scam,scamble,scamell,scamler,scamles,scamp,scamper,scan,scandal,scandia,scandic,scanmag,scanner,scant,scantle,scantly,scanty,scap,scape,scapel,scapha,scapoid,scapose,scapple,scapula,scapus,scar,scarab,scarce,scarcen,scare,scarer,scarf,scarfed,scarfer,scarfy,scarid,scarify,scarily,scarlet,scarman,scarn,scaroid,scarp,scarred,scarrer,scarry,scart,scarth,scarus,scarved,scary,scase,scasely,scat,scatch,scathe,scatter,scatty,scatula,scaul,scaum,scaup,scauper,scaur,scaurie,scaut,scavage,scavel,scaw,scawd,scawl,scazon,sceat,scena,scenary,scend,scene,scenery,scenic,scenist,scenite,scent,scented,scenter,scepsis,scepter,sceptic,sceptry,scerne,schanz,schappe,scharf,schelly,schema,scheme,schemer,schemy,schene,schepel,schepen,scherm,scherzi,scherzo,schesis,schism,schisma,schist,schloop,schmelz,scho,schola,scholae,scholar,scholia,schone,school,schoon,schorl,schorly,schout,schtoff,schuh,schuhe,schuit,schule,schuss,schute,schwa,schwarz,sciapod,sciarid,sciatic,scibile,science,scient,scincid,scind,sciniph,scintle,scion,scious,scirrhi,scissel,scissor,sciurid,sclaff,sclate,sclater,sclaw,scler,sclera,scleral,sclere,scliff,sclim,sclimb,scoad,scob,scobby,scobs,scoff,scoffer,scog,scoggan,scogger,scoggin,scoke,scolb,scold,scolder,scolex,scolia,scoliid,scolion,scolite,scollop,scolog,sconce,sconcer,scone,scoon,scoop,scooped,scooper,scoot,scooter,scopa,scopate,scope,scopet,scopic,scopine,scopola,scops,scopula,scorch,score,scored,scorer,scoria,scoriac,scoriae,scorify,scoring,scorn,scorned,scorner,scorny,scorper,scorse,scot,scotale,scotch,scote,scoter,scotia,scotino,scotoma,scotomy,scouch,scouk,scoup,scour,scoured,scourer,scourge,scoury,scouse,scout,scouter,scouth,scove,scovel,scovy,scow,scowder,scowl,scowler,scowman,scrab,scrabe,scrae,scrag,scraggy,scraily,scram,scran,scranch,scrank,scranky,scranny,scrap,scrape,scraped,scraper,scrapie,scrappy,scrapy,scrat,scratch,scrath,scrauch,scraw,scrawk,scrawl,scrawly,scrawm,scrawny,scray,scraze,screak,screaky,scream,screamy,scree,screech,screed,screek,screel,screen,screeny,screet,screeve,screich,screigh,screve,screver,screw,screwed,screwer,screwy,scribal,scribe,scriber,scride,scrieve,scrike,scrim,scrime,scrimer,scrimp,scrimpy,scrin,scrinch,scrine,scringe,scrip,scripee,script,scritch,scrive,scriven,scriver,scrob,scrobe,scrobis,scrod,scroff,scrog,scroggy,scrolar,scroll,scrolly,scroo,scrooch,scrooge,scroop,scrota,scrotal,scrotum,scrouge,scrout,scrow,scroyle,scrub,scrubby,scruf,scruff,scruffy,scruft,scrum,scrump,scrunch,scrunge,scrunt,scruple,scrush,scruto,scruze,scry,scryer,scud,scudder,scuddle,scuddy,scudi,scudler,scudo,scuff,scuffed,scuffer,scuffle,scuffly,scuffy,scuft,scufter,scug,sculch,scull,sculler,scullog,sculp,sculper,sculpin,sculpt,sculsh,scum,scumber,scumble,scummed,scummer,scummy,scun,scunder,scunner,scup,scupful,scupper,scuppet,scur,scurdy,scurf,scurfer,scurfy,scurry,scurvy,scuse,scut,scuta,scutage,scutal,scutate,scutch,scute,scutel,scutter,scuttle,scutty,scutula,scutum,scybala,scye,scypha,scyphae,scyphi,scyphoi,scyphus,scyt,scytale,scythe,sdeath,se,sea,seadog,seafare,seafolk,seafowl,seagirt,seagoer,seah,seak,seal,sealant,sealch,sealed,sealer,sealery,sealess,sealet,sealike,sealine,sealing,seam,seaman,seamark,seamed,seamer,seaming,seamlet,seamost,seamrog,seamy,seance,seaport,sear,searce,searcer,search,seared,searer,searing,seary,seasick,seaside,season,seat,seatang,seated,seater,seathe,seating,seatron,seave,seavy,seawant,seaward,seaware,seaway,seaweed,seawife,seaworn,seax,sebacic,sebait,sebate,sebific,sebilla,sebkha,sebum,sebundy,sec,secable,secalin,secancy,secant,secede,seceder,secern,secesh,sech,seck,seclude,secluse,secohm,second,seconde,secos,secpar,secque,secre,secrecy,secret,secreta,secrete,secreto,sect,sectary,sectile,section,sectism,sectist,sective,sector,secular,secund,secure,securer,sedan,sedate,sedent,sedge,sedged,sedging,sedgy,sedile,sedilia,seduce,seducee,seducer,seduct,sedum,see,seeable,seech,seed,seedage,seedbed,seedbox,seeded,seeder,seedful,seedily,seedkin,seedlet,seedlip,seedman,seedy,seege,seeing,seek,seeker,seeking,seel,seelful,seely,seem,seemer,seeming,seemly,seen,seenie,seep,seepage,seeped,seepy,seer,seeress,seerpaw,seesaw,seesee,seethe,seg,seggar,seggard,segged,seggrom,segment,sego,segol,seiche,seidel,seine,seiner,seise,seism,seismal,seismic,seit,seity,seize,seizer,seizin,seizing,seizor,seizure,sejant,sejoin,sejunct,sekos,selah,selamin,seldom,seldor,sele,select,selenic,self,selfdom,selfful,selfish,selfism,selfist,selfly,selion,sell,sella,sellar,sellate,seller,sellie,selling,sellout,selly,selsyn,selt,selva,selvage,semarum,sematic,semball,semble,seme,semeed,semeia,semeion,semen,semence,semese,semi,semiape,semiarc,semibay,semic,semicup,semidry,semiegg,semifib,semifit,semify,semigod,semihot,seminal,seminar,semiorb,semiped,semipro,semiraw,semis,semita,semitae,semital,semiurn,semmet,semmit,semola,semsem,sen,senaite,senam,senary,senate,senator,sence,sencion,send,sendal,sendee,sender,sending,senega,senegin,senesce,senile,senior,senna,sennet,sennit,sennite,sensa,sensal,sensate,sense,sensed,sensify,sensile,sension,sensism,sensist,sensive,sensize,senso,sensor,sensory,sensual,sensum,sensyne,sent,sentry,sepad,sepal,sepaled,sephen,sepia,sepian,sepiary,sepic,sepioid,sepion,sepiost,sepium,sepone,sepoy,seppuku,seps,sepsine,sepsis,sept,septa,septal,septan,septane,septate,septave,septet,septic,septier,septile,septime,septoic,septole,septum,septuor,sequa,sequel,sequela,sequent,sequest,sequin,ser,sera,serab,seragli,serai,serail,seral,serang,serape,seraph,serau,seraw,sercial,serdab,sere,sereh,serene,serf,serfage,serfdom,serfish,serfism,serge,serger,serging,serial,seriary,seriate,sericea,sericin,seriema,series,serif,serific,serin,serine,seringa,serio,serious,serment,sermo,sermon,sero,serolin,seron,seroon,seroot,seropus,serosa,serous,serow,serpent,serphid,serpigo,serpula,serra,serrage,serran,serrana,serrano,serrate,serried,serry,sert,serta,sertule,sertum,serum,serumal,serut,servage,serval,servant,serve,server,servery,servet,service,servile,serving,servist,servo,sesame,sesma,sesqui,sess,sessile,session,sestet,sesti,sestiad,sestina,sestine,sestole,sestuor,set,seta,setae,setal,setback,setbolt,setdown,setfast,seth,sethead,setier,setline,setness,setoff,seton,setose,setous,setout,setover,setsman,sett,settee,setter,setting,settle,settled,settler,settlor,setula,setule,setup,setwall,setwise,setwork,seugh,seven,sevener,seventh,seventy,sever,several,severe,severer,severy,sew,sewable,sewage,sewan,sewed,sewen,sewer,sewered,sewery,sewing,sewless,sewn,sex,sexed,sexern,sexfid,sexfoil,sexhood,sexifid,sexiped,sexless,sexlike,sexly,sext,sextain,sextan,sextans,sextant,sextar,sextary,sextern,sextet,sextic,sextile,sexto,sextole,sexton,sextry,sextula,sexual,sexuale,sexuous,sexy,sey,sfoot,sh,sha,shab,shabash,shabbed,shabble,shabby,shachle,shachly,shack,shackle,shackly,shacky,shad,shade,shaded,shader,shadily,shadine,shading,shadkan,shadoof,shadow,shadowy,shady,shaffle,shaft,shafted,shafter,shafty,shag,shagbag,shagged,shaggy,shaglet,shagrag,shah,shahdom,shahi,shahin,shaikh,shaitan,shake,shaken,shaker,shakers,shakha,shakily,shaking,shako,shakti,shaku,shaky,shale,shall,shallal,shallon,shallop,shallot,shallow,shallu,shalom,shalt,shalwar,shaly,sham,shama,shamal,shamalo,shaman,shamba,shamble,shame,shamed,shamer,shamir,shammed,shammer,shammy,shampoo,shan,shandry,shandy,shangan,shank,shanked,shanker,shanna,shanny,shansa,shant,shanty,shap,shape,shaped,shapely,shapen,shaper,shaping,shaps,shapy,shard,sharded,shardy,share,sharer,shargar,shark,sharky,sharn,sharny,sharp,sharpen,sharper,sharpie,sharply,sharps,sharpy,sharrag,sharry,shaster,shastra,shastri,shat,shatan,shatter,shaugh,shaul,shaup,shauri,shauwe,shave,shaved,shavee,shaven,shaver,shavery,shaving,shaw,shawl,shawled,shawm,shawny,shawy,shay,she,shea,sheaf,sheafy,sheal,shear,sheard,shearer,shears,sheat,sheath,sheathe,sheathy,sheave,sheaved,shebang,shebeen,shed,shedded,shedder,sheder,shedman,shee,sheely,sheen,sheenly,sheeny,sheep,sheepy,sheer,sheered,sheerly,sheet,sheeted,sheeter,sheety,sheik,sheikly,shekel,shela,sheld,shelder,shelf,shelfy,shell,shellac,shelled,sheller,shellum,shelly,shelta,shelter,shelty,shelve,shelver,shelvy,shend,sheng,sheolic,sheppey,sher,sherbet,sheriat,sherif,sherifa,sheriff,sherifi,sherify,sherry,sheth,sheugh,sheva,shevel,shevri,shewa,shewel,sheyle,shi,shibah,shibar,shice,shicer,shicker,shide,shied,shiel,shield,shier,shies,shiest,shift,shifter,shifty,shigram,shih,shikar,shikara,shikari,shikimi,shikken,shiko,shikra,shilf,shilfa,shill,shilla,shillet,shilloo,shilpit,shim,shimal,shimmer,shimmy,shimose,shimper,shin,shindig,shindle,shindy,shine,shiner,shingle,shingly,shinily,shining,shinner,shinny,shinty,shiny,shinza,ship,shipboy,shipful,shiplap,shiplet,shipman,shipped,shipper,shippo,shippon,shippy,shipway,shire,shirk,shirker,shirky,shirl,shirpit,shirr,shirt,shirty,shish,shisham,shisn,shita,shither,shittah,shittim,shiv,shive,shiver,shivery,shivey,shivoo,shivy,sho,shoad,shoader,shoal,shoaler,shoaly,shoat,shock,shocker,shod,shodden,shoddy,shode,shoder,shoe,shoeboy,shoeing,shoeman,shoer,shoful,shog,shogaol,shoggie,shoggle,shoggly,shogi,shogun,shohet,shoji,shola,shole,shone,shoneen,shoo,shood,shoofa,shoofly,shooi,shook,shool,shooler,shoop,shoor,shoot,shootee,shooter,shop,shopboy,shopful,shophar,shoplet,shopman,shoppe,shopper,shoppy,shoq,shor,shoran,shore,shored,shorer,shoring,shorn,short,shorten,shorter,shortly,shorts,shot,shote,shotgun,shotman,shott,shotted,shotten,shotter,shotty,shou,should,shout,shouter,shoval,shove,shovel,shover,show,showdom,shower,showery,showily,showing,showish,showman,shown,showup,showy,shoya,shrab,shradh,shraf,shrag,shram,shrank,shrap,shrave,shravey,shred,shreddy,shree,shreeve,shrend,shrew,shrewd,shrewdy,shrewly,shriek,shrieky,shrift,shrike,shrill,shrilly,shrimp,shrimpi,shrimpy,shrinal,shrine,shrink,shrinky,shrip,shrite,shrive,shrivel,shriven,shriver,shroff,shrog,shroud,shroudy,shrove,shrover,shrub,shrubby,shruff,shrug,shrunk,shrups,shuba,shuck,shucker,shucks,shudder,shuff,shuffle,shug,shul,shuler,shumac,shun,shune,shunner,shunt,shunter,shure,shurf,shush,shusher,shut,shutoff,shutout,shutten,shutter,shuttle,shy,shyer,shyish,shyly,shyness,shyster,si,siak,sial,sialic,sialid,sialoid,siamang,sib,sibbed,sibbens,sibber,sibby,sibilus,sibling,sibness,sibrede,sibship,sibyl,sibylic,sibylla,sic,sicca,siccant,siccate,siccity,sice,sick,sickbed,sicken,sicker,sickish,sickle,sickled,sickler,sickly,sicsac,sicula,sicular,sidder,siddur,side,sideage,sidearm,sidecar,sided,sider,sideral,siderin,sides,sideway,sidhe,sidi,siding,sidle,sidler,sidling,sidth,sidy,sie,siege,sieger,sienna,sier,siering,sierra,sierran,siesta,sieve,siever,sievy,sifac,sifaka,sife,siffle,sifflet,sifflot,sift,siftage,sifted,sifter,sifting,sig,sigger,sigh,sigher,sighful,sighing,sight,sighted,sighten,sighter,sightly,sighty,sigil,sigla,siglos,sigma,sigmate,sigmoid,sign,signal,signary,signate,signee,signer,signet,signify,signior,signist,signman,signory,signum,sika,sikar,sikatch,sike,sikerly,siket,sikhara,sikhra,sil,silage,silane,sile,silen,silence,silency,sileni,silenic,silent,silenus,silesia,silex,silica,silicam,silicic,silicle,silico,silicon,silicyl,siliqua,silique,silk,silked,silken,silker,silkie,silkily,silkman,silky,sill,sillar,siller,sillily,sillock,sillon,silly,silo,siloist,silphid,silt,siltage,silting,silty,silurid,silva,silvan,silver,silvern,silvery,silvics,silyl,sima,simal,simar,simball,simbil,simblin,simblot,sime,simiad,simial,simian,similar,simile,similor,simioid,simious,simity,simkin,simlin,simling,simmer,simmon,simnel,simony,simool,simoom,simoon,simous,simp,simpai,simper,simple,simpler,simplex,simply,simsim,simson,simular,simuler,sin,sina,sinaite,sinal,sinamay,sinapic,sinapis,sinawa,since,sincere,sind,sinder,sindle,sindoc,sindon,sindry,sine,sinew,sinewed,sinewy,sinful,sing,singe,singed,singer,singey,singh,singing,single,singled,singler,singles,singlet,singly,singult,sinh,sink,sinkage,sinker,sinking,sinky,sinless,sinlike,sinnen,sinner,sinnet,sinopia,sinople,sinsion,sinsyne,sinter,sintoc,sinuate,sinuose,sinuous,sinus,sinusal,sinward,siol,sion,sip,sipage,sipe,siper,siphoid,siphon,sipid,siping,sipling,sipper,sippet,sippio,sir,sircar,sirdar,sire,siren,sirene,sirenic,sireny,siress,sirgang,sirian,siricid,sirih,siris,sirkeer,sirki,sirky,sirloin,siroc,sirocco,sirpea,sirple,sirpoon,sirrah,sirree,sirship,sirup,siruped,siruper,sirupy,sis,sisal,sise,sisel,sish,sisham,sisi,siskin,siss,sissify,sissoo,sissy,sist,sister,sistern,sistle,sistrum,sit,sitao,sitar,sitch,site,sitfast,sith,sithe,sithens,sitient,sitio,sittee,sitten,sitter,sittine,sitting,situal,situate,situla,situlae,situs,siva,siver,sivvens,siwash,six,sixain,sixer,sixfoil,sixfold,sixsome,sixte,sixteen,sixth,sixthet,sixthly,sixty,sizable,sizably,sizal,sizar,size,sized,sizeman,sizer,sizes,sizing,sizy,sizygia,sizz,sizzard,sizzing,sizzle,sjambok,skaddle,skaff,skaffie,skag,skair,skal,skance,skart,skasely,skat,skate,skater,skatiku,skating,skatist,skatole,skaw,skean,skedge,skee,skeed,skeeg,skeel,skeely,skeen,skeer,skeered,skeery,skeet,skeeter,skeezix,skeg,skegger,skeif,skeigh,skeily,skein,skeiner,skeipp,skel,skelder,skelf,skelic,skell,skellat,skeller,skellum,skelly,skelp,skelper,skelpin,skelter,skemmel,skemp,sken,skene,skeo,skeough,skep,skepful,skeptic,sker,skere,skerret,skerry,sketch,sketchy,skete,skevish,skew,skewed,skewer,skewl,skewly,skewy,skey,ski,skiapod,skibby,skice,skid,skidded,skidder,skiddoo,skiddy,skidpan,skidway,skied,skieppe,skier,skies,skiff,skift,skiing,skijore,skil,skilder,skill,skilled,skillet,skilly,skilpot,skilts,skim,skime,skimmed,skimmer,skimp,skimpy,skin,skinch,skinful,skink,skinker,skinkle,skinned,skinner,skinny,skip,skipman,skippel,skipper,skippet,skipple,skippy,skirl,skirp,skirr,skirreh,skirret,skirt,skirted,skirter,skirty,skit,skite,skiter,skither,skitter,skittle,skitty,skiv,skive,skiver,skiving,sklate,sklater,sklent,skoal,skoo,skookum,skoptsy,skout,skraigh,skrike,skrupul,skua,skulk,skulker,skull,skulled,skully,skulp,skun,skunk,skunky,skuse,sky,skybal,skyey,skyful,skyish,skylark,skyless,skylike,skylook,skyman,skyphoi,skyphos,skyre,skysail,skyugle,skyward,skyway,sla,slab,slabbed,slabber,slabby,slabman,slack,slacked,slacken,slacker,slackly,slad,sladang,slade,slae,slag,slagger,slaggy,slagman,slain,slainte,slait,slake,slaker,slaking,slaky,slam,slamp,slander,slane,slang,slangy,slank,slant,slantly,slap,slape,slapper,slare,slart,slarth,slash,slashed,slasher,slashy,slat,slatch,slate,slater,slath,slather,slatify,slating,slatish,slatted,slatter,slaty,slaum,slave,slaved,slaver,slavery,slavey,slaving,slavish,slaw,slay,slayer,slaying,sleathy,sleave,sleaved,sleazy,sleck,sled,sledded,sledder,sledful,sledge,sledger,slee,sleech,sleechy,sleek,sleeken,sleeker,sleekit,sleekly,sleeky,sleep,sleeper,sleepry,sleepy,sleer,sleet,sleety,sleeve,sleeved,sleever,sleigh,sleight,slender,slent,slepez,slept,slete,sleuth,slew,slewed,slewer,slewing,sley,sleyer,slice,sliced,slicer,slich,slicht,slicing,slick,slicken,slicker,slickly,slid,slidage,slidden,slidder,slide,slided,slider,sliding,slifter,slight,slighty,slim,slime,slimer,slimily,slimish,slimly,slimpsy,slimsy,slimy,sline,sling,slinge,slinger,slink,slinker,slinky,slip,slipe,slipman,slipped,slipper,slippy,slipway,slirt,slish,slit,slitch,slite,slither,slithy,slitted,slitter,slitty,slive,sliver,slivery,sliving,sloan,slob,slobber,slobby,slock,slocken,slod,slodder,slodge,slodger,sloe,slog,slogan,slogger,sloka,sloke,slon,slone,slonk,sloo,sloom,sloomy,sloop,sloosh,slop,slope,sloped,slopely,sloper,sloping,slopped,sloppy,slops,slopy,slorp,slosh,slosher,sloshy,slot,slote,sloted,sloth,slotted,slotter,slouch,slouchy,slough,sloughy,slour,sloush,sloven,slow,slowish,slowly,slowrie,slows,sloyd,slub,slubber,slubby,slud,sludder,sludge,sludged,sludger,sludgy,slue,sluer,slug,slugged,slugger,sluggy,sluice,sluicer,sluicy,sluig,sluit,slum,slumber,slumdom,slumgum,slummer,slummy,slump,slumpy,slung,slunge,slunk,slunken,slur,slurbow,slurp,slurry,slush,slusher,slushy,slut,slutch,slutchy,sluther,slutter,slutty,sly,slyish,slyly,slyness,slype,sma,smack,smackee,smacker,smaik,small,smallen,smaller,smalls,smally,smalm,smalt,smalter,smalts,smaragd,smarm,smarmy,smart,smarten,smartly,smarty,smash,smasher,smashup,smatter,smaze,smear,smeared,smearer,smeary,smectic,smectis,smeddum,smee,smeech,smeek,smeeky,smeer,smeeth,smegma,smell,smelled,smeller,smelly,smelt,smelter,smeth,smethe,smeuse,smew,smich,smicker,smicket,smiddie,smiddum,smidge,smidgen,smilax,smile,smiler,smilet,smiling,smily,smirch,smirchy,smiris,smirk,smirker,smirkle,smirkly,smirky,smirtle,smit,smitch,smite,smiter,smith,smitham,smither,smithy,smiting,smitten,smock,smocker,smog,smoke,smoked,smoker,smokery,smokily,smoking,smokish,smoky,smolder,smolt,smooch,smoochy,smoodge,smook,smoot,smooth,smopple,smore,smote,smother,smotter,smouch,smous,smouse,smouser,smout,smriti,smudge,smudged,smudger,smudgy,smug,smuggle,smugism,smugly,smuisty,smur,smurr,smurry,smuse,smush,smut,smutch,smutchy,smutted,smutter,smutty,smyth,smytrie,snab,snabbie,snabble,snack,snackle,snaff,snaffle,snafu,snag,snagged,snagger,snaggy,snagrel,snail,snails,snaily,snaith,snake,snaker,snakery,snakily,snaking,snakish,snaky,snap,snapbag,snape,snaper,snapped,snapper,snapps,snappy,snaps,snapy,snare,snarer,snark,snarl,snarler,snarly,snary,snaste,snatch,snatchy,snath,snathe,snavel,snavvle,snaw,snead,sneak,sneaker,sneaky,sneap,sneath,sneathe,sneb,sneck,snecker,snecket,sned,snee,sneer,sneerer,sneery,sneesh,sneest,sneesty,sneeze,sneezer,sneezy,snell,snelly,snerp,snew,snib,snibble,snibel,snicher,snick,snicker,snicket,snickey,snickle,sniddle,snide,sniff,sniffer,sniffle,sniffly,sniffy,snift,snifter,snifty,snig,snigger,sniggle,snip,snipe,sniper,sniping,snipish,snipper,snippet,snippy,snipy,snirl,snirt,snirtle,snitch,snite,snithe,snithy,snittle,snivel,snively,snivy,snob,snobber,snobby,snobdom,snocher,snock,snocker,snod,snodly,snoek,snog,snoga,snoke,snood,snooded,snook,snooker,snoop,snooper,snoopy,snoose,snoot,snooty,snoove,snooze,snoozer,snoozle,snoozy,snop,snore,snorer,snoring,snork,snorkel,snorker,snort,snorter,snortle,snorty,snot,snotter,snotty,snouch,snout,snouted,snouter,snouty,snow,snowcap,snowie,snowily,snowish,snowk,snowl,snowy,snozzle,snub,snubbed,snubbee,snubber,snubby,snuck,snudge,snuff,snuffer,snuffle,snuffly,snuffy,snug,snugger,snuggle,snugify,snugly,snum,snup,snupper,snur,snurl,snurly,snurp,snurt,snuzzle,sny,snying,so,soak,soakage,soaked,soaken,soaker,soaking,soakman,soaky,soally,soam,soap,soapbox,soaper,soapery,soapily,soapsud,soapy,soar,soarer,soaring,soary,sob,sobber,sobbing,sobby,sobeit,sober,soberer,soberly,sobful,soboles,soc,socage,socager,soccer,soce,socht,social,society,socii,socius,sock,socker,socket,sockeye,socky,socle,socman,soco,sod,soda,sodaic,sodded,sodden,sodding,soddite,soddy,sodic,sodio,sodium,sodless,sodoku,sodomic,sodomy,sodwork,sody,soe,soekoe,soever,sofa,sofane,sofar,soffit,soft,softa,soften,softish,softly,softner,softy,sog,soger,soget,soggily,sogging,soggy,soh,soho,soil,soilage,soiled,soiling,soilure,soily,soiree,soja,sojourn,sok,soka,soke,sokeman,soken,sol,sola,solace,solacer,solan,solanal,solanum,solar,solate,solatia,solay,sold,soldado,soldan,solder,soldi,soldier,soldo,sole,solea,soleas,soleil,solely,solemn,solen,solent,soler,soles,soleus,soleyn,soli,solicit,solid,solidi,solidly,solidum,solidus,solio,soliped,solist,sollar,solo,solod,solodi,soloist,solon,soloth,soluble,solubly,solum,solute,solvate,solve,solvend,solvent,solver,soma,somal,somata,somatic,somber,sombre,some,someday,somehow,someone,somers,someway,somewhy,somital,somite,somitic,somma,somnial,somnify,somnus,sompay,sompne,sompner,son,sonable,sonance,sonancy,sonant,sonar,sonata,sond,sondeli,soneri,song,songful,songish,songle,songlet,songman,songy,sonhood,sonic,soniou,sonk,sonless,sonlike,sonly,sonnet,sonny,sonoric,sons,sonship,sonsy,sontag,soodle,soodly,sook,sooky,sool,sooloos,soon,sooner,soonish,soonly,soorawn,soord,soorkee,soot,sooter,sooth,soothe,soother,sootily,sooty,sop,sope,soph,sophia,sophic,sophism,sophy,sopite,sopor,sopper,sopping,soppy,soprani,soprano,sora,sorage,soral,sorb,sorbate,sorbent,sorbic,sorbile,sorbin,sorbite,sorbose,sorbus,sorcer,sorcery,sorchin,sorda,sordes,sordid,sordine,sordino,sordor,sore,soredia,soree,sorehon,sorely,sorema,sorgho,sorghum,sorgo,sori,soricid,sorite,sorites,sorn,sornare,sornari,sorner,sorning,soroban,sororal,sorose,sorosis,sorra,sorrel,sorrily,sorroa,sorrow,sorrowy,sorry,sort,sortal,sorted,sorter,sortie,sortly,sorty,sorus,sorva,sory,sosh,soshed,soso,sosoish,soss,sossle,sot,sotie,sotnia,sotnik,sotol,sots,sottage,sotted,sotter,sottish,sou,souari,soubise,soucar,souchet,souchy,soud,souffle,sough,sougher,sought,soul,soulack,souled,soulful,soulish,souly,soum,sound,sounder,soundly,soup,soupcon,souper,souple,soupy,sour,source,soured,souren,sourer,souring,sourish,sourly,sourock,soursop,sourtop,soury,souse,souser,souslik,soutane,souter,south,souther,sov,soviet,sovite,sovkhoz,sovran,sow,sowable,sowan,sowans,sowar,sowarry,sowback,sowbane,sowel,sowens,sower,sowfoot,sowing,sowins,sowl,sowle,sowlike,sowlth,sown,sowse,sowt,sowte,soy,soya,soybean,sozin,sozolic,sozzle,sozzly,spa,space,spaced,spacer,spacing,spack,spacy,spad,spade,spaded,spader,spadger,spading,spadix,spadone,spae,spaedom,spaeman,spaer,spahi,spaid,spaik,spairge,spak,spald,spalder,spale,spall,spaller,spalt,span,spancel,spandle,spandy,spane,spanemy,spang,spangle,spangly,spaniel,spaning,spank,spanker,spanky,spann,spannel,spanner,spanule,spar,sparada,sparch,spare,sparely,sparer,sparge,sparger,sparid,sparing,spark,sparked,sparker,sparkle,sparkly,sparks,sparky,sparm,sparoid,sparred,sparrer,sparrow,sparry,sparse,spart,sparth,spartle,sparver,spary,spasm,spasmed,spasmic,spastic,spat,spate,spatha,spathal,spathe,spathed,spathic,spatial,spatted,spatter,spattle,spatula,spatule,spave,spaver,spavie,spavied,spaviet,spavin,spawn,spawner,spawny,spay,spayad,spayard,spaying,speak,speaker,speal,spean,spear,spearer,speary,spec,spece,special,specie,species,specify,speck,specked,speckle,speckly,specks,specky,specs,specter,spectra,spectry,specula,specus,sped,speech,speed,speeder,speedy,speel,speen,speer,speiss,spelder,spelk,spell,speller,spelt,spelter,speltz,spelunk,spence,spencer,spend,spender,spense,spent,speos,sperate,sperity,sperket,sperm,sperma,spermic,spermy,sperone,spet,spetch,spew,spewer,spewing,spewy,spex,sphacel,sphecid,spheges,sphegid,sphene,sphenic,spheral,sphere,spheric,sphery,sphinx,spica,spical,spicant,spicate,spice,spiced,spicer,spicery,spicily,spicing,spick,spicket,spickle,spicose,spicous,spicula,spicule,spicy,spider,spidery,spidger,spied,spiegel,spiel,spieler,spier,spiff,spiffed,spiffy,spig,spignet,spigot,spike,spiked,spiker,spikily,spiking,spiky,spile,spiler,spiling,spilite,spill,spiller,spillet,spilly,spiloma,spilt,spilth,spilus,spin,spina,spinach,spinae,spinage,spinal,spinate,spinder,spindle,spindly,spine,spined,spinel,spinet,spingel,spink,spinner,spinney,spinoid,spinose,spinous,spinule,spiny,spionid,spiral,spirale,spiran,spirant,spirate,spire,spirea,spired,spireme,spiring,spirit,spirity,spirket,spiro,spiroid,spirous,spirt,spiry,spise,spit,spital,spitbox,spite,spitful,spitish,spitted,spitten,spitter,spittle,spitz,spiv,spivery,splash,splashy,splat,splatch,splay,splayed,splayer,spleen,spleeny,spleet,splenic,splet,splice,splicer,spline,splint,splinty,split,splodge,splodgy,splore,splosh,splotch,splunge,splurge,splurgy,splurt,spoach,spode,spodium,spoffle,spoffy,spogel,spoil,spoiled,spoiler,spoilt,spoke,spoken,spoky,spole,spolia,spolium,spondee,spondyl,spong,sponge,sponged,sponger,spongin,spongy,sponsal,sponson,sponsor,spoof,spoofer,spook,spooky,spool,spooler,spoom,spoon,spooner,spoony,spoor,spoorer,spoot,spor,sporal,spore,spored,sporid,sporoid,sporont,sporous,sporran,sport,sporter,sportly,sports,sporty,sporule,sposh,sposhy,spot,spotted,spotter,spottle,spotty,spousal,spouse,spousy,spout,spouter,spouty,sprack,sprad,sprag,spraich,sprain,spraint,sprang,sprank,sprat,spratty,sprawl,sprawly,spray,sprayer,sprayey,spread,spready,spreath,spree,spreeuw,spreng,sprent,spret,sprew,sprewl,spried,sprier,spriest,sprig,spriggy,spring,springe,springy,sprink,sprint,sprit,sprite,spritty,sproat,sprod,sprogue,sproil,sprong,sprose,sprout,sprowsy,spruce,sprue,spruer,sprug,spruit,sprung,sprunny,sprunt,spry,spryly,spud,spudder,spuddle,spuddy,spuffle,spug,spuke,spume,spumone,spumose,spumous,spumy,spun,spung,spunk,spunkie,spunky,spunny,spur,spurge,spuriae,spurl,spurlet,spurn,spurner,spurred,spurrer,spurry,spurt,spurter,spurtle,spurway,sput,sputa,sputter,sputum,spy,spyboat,spydom,spyer,spyhole,spyism,spyship,squab,squabby,squacco,squad,squaddy,squail,squalid,squall,squally,squalm,squalor,squam,squama,squamae,squame,square,squared,squarer,squark,squary,squash,squashy,squat,squatly,squatty,squaw,squawk,squawky,squdge,squdgy,squeak,squeaky,squeal,squeald,squeam,squeamy,squeege,squeeze,squeezy,squelch,squench,squib,squid,squidge,squidgy,squiffy,squilla,squin,squinch,squinny,squinsy,squint,squinty,squire,squiret,squirk,squirm,squirmy,squirr,squirt,squirty,squish,squishy,squit,squitch,squoze,squush,squushy,sraddha,sramana,sri,sruti,ssu,st,staab,stab,stabber,stabile,stable,stabler,stably,staboy,stacher,stachys,stack,stacker,stacte,stadda,staddle,stade,stadia,stadic,stadion,stadium,staff,staffed,staffer,stag,stage,staged,stager,stagery,stagese,stagger,staggie,staggy,stagily,staging,stagnum,stagy,staia,staid,staidly,stain,stainer,staio,stair,staired,stairy,staith,staiver,stake,staker,stale,stalely,staling,stalk,stalked,stalker,stalko,stalky,stall,stallar,staller,stam,stambha,stamen,stamin,stamina,stammel,stammer,stamnos,stamp,stampee,stamper,stample,stance,stanch,stand,standee,standel,stander,stane,stang,stanine,stanjen,stank,stankie,stannel,stanner,stannic,stanno,stannum,stannyl,stanza,stanze,stap,stapes,staple,stapled,stapler,star,starch,starchy,stardom,stare,staree,starer,starets,starful,staring,stark,starken,starkly,starky,starlet,starlit,starn,starnel,starnie,starost,starred,starry,start,starter,startle,startly,startor,starty,starve,starved,starver,starvy,stary,stases,stash,stashie,stasis,statal,statant,state,stated,stately,stater,static,statics,station,statism,statist,stative,stator,statue,statued,stature,status,statute,stauk,staumer,staun,staunch,staup,stauter,stave,staver,stavers,staving,staw,stawn,staxis,stay,stayed,stayer,staynil,stays,stchi,stead,steady,steak,steal,stealed,stealer,stealth,stealy,steam,steamer,steamy,stean,stearic,stearin,stearyl,steatin,stech,steddle,steed,steek,steel,steeler,steely,steen,steenth,steep,steepen,steeper,steeple,steeply,steepy,steer,steerer,steeve,steever,steg,steid,steigh,stein,stekan,stela,stelae,stelai,stelar,stele,stell,stella,stellar,stem,stema,stemlet,stemma,stemmed,stemmer,stemmy,stemple,stemson,sten,stenar,stench,stenchy,stencil,stend,steng,stengah,stenion,steno,stenog,stent,stenter,stenton,step,steppe,stepped,stepper,stepson,stept,stepway,stere,stereo,steri,steric,sterics,steride,sterile,sterin,sterk,sterlet,stern,sterna,sternad,sternal,sterned,sternly,sternum,stero,steroid,sterol,stert,stertor,sterve,stet,stetch,stevel,steven,stevia,stew,steward,stewed,stewpan,stewpot,stewy,stey,sthenia,sthenic,stib,stibial,stibic,stibine,stibium,stich,stichic,stichid,stick,sticked,sticker,stickit,stickle,stickly,sticks,stickum,sticky,stid,stiddy,stife,stiff,stiffen,stiffly,stifle,stifler,stigma,stigmai,stigmal,stigme,stile,stilet,still,stiller,stilly,stilt,stilted,stilter,stilty,stim,stime,stimuli,stimy,stine,sting,stinge,stinger,stingo,stingy,stink,stinker,stint,stinted,stinter,stinty,stion,stionic,stipe,stiped,stipel,stipend,stipes,stippen,stipple,stipply,stipula,stipule,stir,stirk,stirp,stirps,stirra,stirrer,stirrup,stitch,stite,stith,stithy,stive,stiver,stivy,stoa,stoach,stoat,stoater,stob,stocah,stock,stocker,stocks,stocky,stod,stodge,stodger,stodgy,stoep,stof,stoff,stog,stoga,stogie,stogy,stoic,stoical,stoke,stoker,stola,stolae,stole,stoled,stolen,stolid,stolist,stollen,stolon,stoma,stomach,stomata,stomate,stomium,stomp,stomper,stond,stone,stoned,stonen,stoner,stong,stonied,stonify,stonily,stoning,stonish,stonker,stony,stood,stooded,stooden,stoof,stooge,stook,stooker,stookie,stool,stoon,stoond,stoop,stooper,stoory,stoot,stop,stopa,stope,stoper,stopgap,stoping,stopped,stopper,stoppit,stopple,storage,storax,store,storeen,storer,storge,storied,storier,storify,stork,storken,storm,stormer,stormy,story,stosh,stoss,stot,stotter,stoun,stound,stoup,stour,stoury,stoush,stout,stouten,stouth,stoutly,stouty,stove,stoven,stover,stow,stowage,stowce,stower,stowing,stra,strack,stract,strad,strade,stradl,stradld,strae,strafe,strafer,strag,straik,strain,straint,strait,strake,straked,straky,stram,stramp,strand,strang,strange,strany,strap,strass,strata,stratal,strath,strati,stratic,stratum,stratus,strave,straw,strawen,strawer,strawy,stray,strayer,stre,streak,streaky,stream,streamy,streck,stree,streek,streel,streen,streep,street,streets,streite,streke,stremma,streng,strent,strenth,strepen,strepor,stress,stret,stretch,strette,stretti,stretto,strew,strewer,strewn,strey,streyne,stria,striae,strial,striate,strich,striche,strick,strict,strid,stride,strider,stridor,strife,strig,striga,strigae,strigal,stright,strigil,strike,striker,strind,string,stringy,striola,strip,stripe,striped,striper,stript,stripy,strit,strive,strived,striven,striver,strix,stroam,strobic,strode,stroil,stroke,stroker,stroky,strold,stroll,strolld,strom,stroma,stromal,stromb,strome,strone,strong,strook,stroot,strop,strophe,stroth,stroud,stroup,strove,strow,strowd,strown,stroy,stroyer,strub,struck,strudel,strue,strum,struma,strumae,strung,strunt,strut,struth,struv,strych,stub,stubb,stubbed,stubber,stubble,stubbly,stubboy,stubby,stuber,stuboy,stucco,stuck,stud,studder,studdie,studdle,stude,student,studia,studied,studier,studio,studium,study,stue,stuff,stuffed,stuffer,stuffy,stug,stuggy,stuiver,stull,stuller,stulm,stum,stumble,stumbly,stumer,stummer,stummy,stump,stumper,stumpy,stun,stung,stunk,stunner,stunsle,stunt,stunted,stunter,stunty,stupa,stupe,stupefy,stupend,stupent,stupex,stupid,stupor,stupose,stupp,stuprum,sturdy,sturine,sturk,sturt,sturtan,sturtin,stuss,stut,stutter,sty,styan,styca,styful,stylar,stylate,style,styler,stylet,styline,styling,stylish,stylist,stylite,stylize,stylo,styloid,stylops,stylus,stymie,stypsis,styptic,styrax,styrene,styrol,styrone,styryl,stythe,styward,suable,suably,suade,suaharo,suant,suantly,suasion,suasive,suasory,suave,suavely,suavify,suavity,sub,subacid,subact,subage,subah,subaid,subanal,subarch,subarea,subatom,subaud,subband,subbank,subbase,subbass,subbeau,subbias,subbing,subcase,subcash,subcast,subcell,subcity,subclan,subcool,subdate,subdean,subdeb,subdial,subdie,subdual,subduce,subduct,subdue,subdued,subduer,subecho,subedit,suber,suberic,suberin,subface,subfeu,subfief,subfix,subform,subfusc,subfusk,subgape,subgens,subget,subgit,subgod,subgrin,subgyre,subhall,subhead,subherd,subhero,subicle,subidar,subidea,subitem,subjack,subject,subjee,subjoin,subking,sublate,sublet,sublid,sublime,sublong,sublot,submaid,submain,subman,submind,submiss,submit,subnect,subness,subnex,subnote,subnude,suboral,suborn,suboval,subpart,subpass,subpial,subpimp,subplat,subplot,subplow,subpool,subport,subrace,subrent,subroot,subrule,subsale,subsalt,subsea,subsect,subsept,subset,subside,subsidy,subsill,subsist,subsoil,subsult,subsume,subtack,subtend,subtext,subtile,subtill,subtle,subtly,subtone,subtype,subunit,suburb,subvein,subvene,subvert,subvola,subway,subwink,subzone,succade,succeed,succent,success,succi,succin,succise,succor,succory,succous,succub,succuba,succube,succula,succumb,succuss,such,suck,suckage,sucken,sucker,sucking,suckle,suckler,suclat,sucrate,sucre,sucrose,suction,sucuri,sucuriu,sud,sudamen,sudary,sudate,sudd,sudden,sudder,suddle,suddy,sudoral,sudoric,suds,sudsman,sudsy,sue,suede,suer,suet,suety,suff,suffect,suffer,suffete,suffice,suffix,sufflue,suffuse,sugamo,sugan,sugar,sugared,sugarer,sugary,sugent,suggest,sugh,sugi,suguaro,suhuaro,suicide,suid,suidian,suiform,suimate,suine,suing,suingly,suint,suist,suit,suite,suiting,suitor,suity,suji,sulcal,sulcar,sulcate,sulcus,suld,sulea,sulfa,sulfato,sulfion,sulfury,sulk,sulka,sulker,sulkily,sulky,sull,sulla,sullage,sullen,sullow,sully,sulpha,sulpho,sulphur,sultam,sultan,sultana,sultane,sultone,sultry,sulung,sum,sumac,sumatra,sumbul,sumless,summage,summand,summar,summary,summate,summed,summer,summery,summist,summit,summity,summon,summons,summula,summut,sumner,sump,sumpage,sumper,sumph,sumphy,sumpit,sumple,sumpman,sumpter,sun,sunbeam,sunbird,sunbow,sunburn,suncup,sundae,sundang,sundari,sundek,sunder,sundew,sundial,sundik,sundog,sundown,sundra,sundri,sundry,sune,sunfall,sunfast,sunfish,sung,sungha,sunglo,sunglow,sunk,sunken,sunket,sunlamp,sunland,sunless,sunlet,sunlike,sunlit,sunn,sunnily,sunnud,sunny,sunray,sunrise,sunroom,sunset,sunsmit,sunspot,sunt,sunup,sunward,sunway,sunways,sunweed,sunwise,sunyie,sup,supa,supari,supawn,supe,super,superb,supine,supper,supping,supple,supply,support,suppose,suppost,supreme,sur,sura,surah,surahi,sural,suranal,surat,surbase,surbate,surbed,surcoat,surcrue,surculi,surd,surdent,surdity,sure,surely,sures,surette,surety,surf,surface,surfacy,surfeit,surfer,surfle,surfman,surfuse,surfy,surge,surgent,surgeon,surgery,surging,surgy,suriga,surlily,surly,surma,surmark,surmise,surname,surnap,surnay,surpass,surplus,surra,surrey,surtax,surtout,survey,survive,suscept,susi,suslik,suspect,suspend,suspire,sustain,susu,susurr,suther,sutile,sutler,sutlery,sutor,sutra,suttee,sutten,suttin,suttle,sutural,suture,suum,suwarro,suwe,suz,svelte,swa,swab,swabber,swabble,swack,swacken,swad,swaddle,swaddy,swag,swage,swager,swagger,swaggie,swaggy,swagman,swain,swaird,swale,swaler,swaling,swallet,swallo,swallow,swam,swami,swamp,swamper,swampy,swan,swang,swangy,swank,swanker,swanky,swanner,swanny,swap,swape,swapper,swaraj,swarbie,sward,swardy,sware,swarf,swarfer,swarm,swarmer,swarmy,swarry,swart,swarth,swarthy,swartly,swarty,swarve,swash,swasher,swashy,swat,swatch,swath,swathe,swather,swathy,swatter,swattle,swaver,sway,swayed,swayer,swayful,swaying,sweal,swear,swearer,sweat,sweated,sweater,sweath,sweaty,swedge,sweeny,sweep,sweeper,sweepy,sweer,sweered,sweet,sweeten,sweetie,sweetly,sweety,swego,swell,swelled,sweller,swelly,swelp,swelt,swelter,swelth,sweltry,swelty,swep,swept,swerd,swerve,swerver,swick,swidge,swift,swiften,swifter,swifty,swig,swigger,swiggle,swile,swill,swiller,swim,swimmer,swimmy,swimy,swindle,swine,swinely,swinery,swiney,swing,swinge,swinger,swingle,swingy,swinish,swink,swinney,swipe,swiper,swipes,swiple,swipper,swipy,swird,swire,swirl,swirly,swish,swisher,swishy,swiss,switch,switchy,swith,swithe,swithen,swither,swivel,swivet,swiz,swizzle,swob,swollen,swom,swonken,swoon,swooned,swoony,swoop,swooper,swoosh,sword,swore,sworn,swosh,swot,swotter,swounds,swow,swum,swung,swungen,swure,syagush,sybotic,syce,sycee,sycock,sycoma,syconid,syconus,sycosis,sye,syenite,sylid,syllab,syllabe,syllabi,sylloge,sylph,sylphic,sylphid,sylphy,sylva,sylvae,sylvage,sylvan,sylvate,sylvic,sylvine,sylvite,symbion,symbiot,symbol,sympode,symptom,synacme,synacmy,synange,synapse,synapte,synaxar,synaxis,sync,syncarp,synch,synchro,syncope,syndic,syndoc,syne,synema,synergy,synesis,syngamy,synod,synodal,synoecy,synonym,synopsy,synovia,syntan,syntax,synthol,syntomy,syntone,syntony,syntype,synusia,sypher,syre,syringa,syringe,syrinx,syrma,syrphid,syrt,syrtic,syrup,syruped,syruper,syrupy,syssel,system,systole,systyle,syzygy,t,ta,taa,taar,tab,tabacin,tabacum,tabanid,tabard,tabaret,tabaxir,tabber,tabby,tabefy,tabella,taberna,tabes,tabet,tabetic,tabic,tabid,tabidly,tabific,tabinet,tabla,table,tableau,tabled,tabler,tables,tablet,tabling,tabloid,tabog,taboo,taboot,tabor,taborer,taboret,taborin,tabour,tabret,tabu,tabula,tabular,tabule,tabut,taccada,tach,tache,tachiol,tacit,tacitly,tack,tacker,tacket,tackety,tackey,tacking,tackle,tackled,tackler,tacky,tacnode,tacso,tact,tactful,tactic,tactics,tactile,taction,tactite,tactive,tactor,tactual,tactus,tad,tade,tadpole,tae,tael,taen,taenia,taenial,taenian,taenite,taennin,taffeta,taffety,taffle,taffy,tafia,taft,tafwiz,tag,tagetol,tagged,tagger,taggle,taggy,taglet,taglike,taglock,tagrag,tagsore,tagtail,tagua,taguan,tagwerk,taha,taheen,tahil,tahin,tahr,tahsil,tahua,tai,taiaha,taich,taiga,taigle,taihoa,tail,tailage,tailed,tailer,tailet,tailge,tailing,taille,taillie,tailor,tailory,tailpin,taily,tailzee,tailzie,taimen,tain,taint,taintor,taipan,taipo,tairge,tairger,tairn,taisch,taise,taissle,tait,taiver,taivers,taivert,taj,takable,takar,take,takeful,taken,taker,takin,taking,takings,takosis,takt,taky,takyr,tal,tala,talabon,talahib,talaje,talak,talao,talar,talari,talaria,talaric,talayot,talbot,talc,talcer,talcky,talcoid,talcose,talcous,talcum,tald,tale,taled,taleful,talent,taler,tales,tali,taliage,taliera,talion,talipat,taliped,talipes,talipot,talis,talisay,talite,talitol,talk,talker,talkful,talkie,talking,talky,tall,tallage,tallboy,taller,tallero,talles,tallet,talliar,tallier,tallis,tallish,tallit,tallith,talloel,tallote,tallow,tallowy,tally,tallyho,talma,talon,taloned,talonic,talonid,talose,talpid,talpify,talpine,talpoid,talthib,taluk,taluka,talus,taluto,talwar,talwood,tam,tamable,tamably,tamale,tamandu,tamanu,tamara,tamarao,tamarin,tamas,tamasha,tambac,tamber,tambo,tamboo,tambor,tambour,tame,tamein,tamely,tamer,tamis,tamise,tamlung,tammie,tammock,tammy,tamp,tampala,tampan,tampang,tamper,tampin,tamping,tampion,tampon,tampoon,tan,tana,tanach,tanager,tanaist,tanak,tanan,tanbark,tanbur,tancel,tandan,tandem,tandle,tandour,tane,tang,tanga,tanged,tangelo,tangent,tanger,tangham,tanghan,tanghin,tangi,tangie,tangka,tanglad,tangle,tangler,tangly,tango,tangram,tangs,tangue,tangum,tangun,tangy,tanh,tanha,tania,tanica,tanier,tanist,tanjib,tanjong,tank,tanka,tankage,tankah,tankard,tanked,tanker,tankert,tankful,tankle,tankman,tanling,tannage,tannaic,tannaim,tannase,tannate,tanned,tanner,tannery,tannic,tannide,tannin,tanning,tannoid,tannyl,tanoa,tanquam,tanquen,tanrec,tansy,tantara,tanti,tantivy,tantle,tantra,tantric,tantrik,tantrum,tantum,tanwood,tanyard,tanzeb,tanzib,tanzy,tao,taotai,taoyin,tap,tapa,tapalo,tapas,tapasvi,tape,tapeman,tapen,taper,tapered,taperer,taperly,tapet,tapetal,tapete,tapeti,tapetum,taphole,tapia,tapioca,tapir,tapis,tapism,tapist,taplash,taplet,tapmost,tapnet,tapoa,tapoun,tappa,tappall,tappaul,tappen,tapper,tappet,tapping,tappoon,taproom,taproot,taps,tapster,tapu,tapul,taqua,tar,tara,taraf,tarage,tarairi,tarand,taraph,tarapin,tarata,taratah,tarau,tarbet,tarboy,tarbush,tardily,tardive,tardle,tardy,tare,tarea,tarefa,tarente,tarfa,targe,targer,target,tarhood,tari,tarie,tariff,tarin,tariric,tarish,tarkhan,tarlike,tarmac,tarman,tarn,tarnal,tarnish,taro,taroc,tarocco,tarok,tarot,tarp,tarpan,tarpon,tarpot,tarpum,tarr,tarrack,tarras,tarrass,tarred,tarrer,tarri,tarrie,tarrier,tarrify,tarrily,tarrish,tarrock,tarrow,tarry,tars,tarsal,tarsale,tarse,tarsi,tarsia,tarsier,tarsome,tarsus,tart,tartago,tartan,tartana,tartane,tartar,tarten,tartish,tartle,tartlet,tartly,tartro,tartryl,tarve,tarweed,tarwood,taryard,tasajo,tascal,tasco,tash,tashie,tashlik,tashrif,task,taskage,tasker,taskit,taslet,tass,tassago,tassah,tassal,tassard,tasse,tassel,tassely,tasser,tasset,tassie,tassoo,taste,tasted,tasten,taster,tastily,tasting,tasty,tasu,tat,tataupa,tatbeb,tatchy,tate,tater,tath,tatie,tatinek,tatler,tatou,tatouay,tatsman,tatta,tatter,tattery,tatther,tattied,tatting,tattle,tattler,tattoo,tattva,tatty,tatu,tau,taught,taula,taum,taun,taunt,taunter,taupe,taupo,taupou,taur,taurean,taurian,tauric,taurine,taurite,tauryl,taut,tautaug,tauted,tauten,tautit,tautly,tautog,tav,tave,tavell,taver,tavern,tavers,tavert,tavola,taw,tawa,tawdry,tawer,tawery,tawie,tawite,tawkee,tawkin,tawn,tawney,tawnily,tawnle,tawny,tawpi,tawpie,taws,tawse,tawtie,tax,taxable,taxably,taxator,taxed,taxeme,taxemic,taxer,taxi,taxibus,taxicab,taximan,taxine,taxing,taxis,taxite,taxitic,taxless,taxman,taxon,taxor,taxpaid,taxwax,taxy,tay,tayer,tayir,tayra,taysaam,tazia,tch,tchai,tcharik,tchast,tche,tchick,tchu,tck,te,tea,teabox,teaboy,teacake,teacart,teach,teache,teacher,teachy,teacup,tead,teadish,teaer,teaey,teagle,teaish,teaism,teak,teal,tealery,tealess,team,teaman,teameo,teamer,teaming,teamman,tean,teanal,teap,teapot,teapoy,tear,tearage,tearcat,tearer,tearful,tearing,tearlet,tearoom,tearpit,teart,teary,tease,teasel,teaser,teashop,teasing,teasler,teasy,teat,teated,teathe,teather,teatime,teatman,teaty,teave,teaware,teaze,teazer,tebbet,tec,teca,tecali,tech,techily,technic,techous,techy,teck,tecomin,tecon,tectal,tectum,tecum,tecuma,ted,tedder,tedge,tedious,tedium,tee,teedle,teel,teem,teemer,teemful,teeming,teems,teen,teenage,teenet,teens,teensy,teenty,teeny,teer,teerer,teest,teet,teetan,teeter,teeth,teethe,teethy,teeting,teety,teevee,teff,teg,tegmen,tegmina,tegua,tegula,tegular,tegumen,tehseel,tehsil,teicher,teil,teind,teinder,teioid,tejon,teju,tekiah,tekke,tekken,tektite,tekya,telamon,telang,telar,telary,tele,teledu,telega,teleost,teleran,telergy,telesia,telesis,teleuto,televox,telfer,telford,teli,telial,telic,telical,telium,tell,tellach,tellee,teller,telling,tellt,telome,telomic,telpath,telpher,telson,telt,telurgy,telyn,temacha,teman,tembe,temblor,temenos,temiak,temin,temp,temper,tempera,tempery,tempest,tempi,templar,temple,templed,templet,tempo,tempora,tempre,tempt,tempter,temse,temser,ten,tenable,tenably,tenace,tenai,tenancy,tenant,tench,tend,tendant,tendent,tender,tending,tendon,tendour,tendril,tendron,tenebra,tenent,teneral,tenet,tenfold,teng,tengere,tengu,tenible,tenio,tenline,tenne,tenner,tennis,tennisy,tenon,tenoner,tenor,tenpin,tenrec,tense,tensely,tensify,tensile,tension,tensity,tensive,tenson,tensor,tent,tentage,tented,tenter,tentful,tenth,tenthly,tentigo,tention,tentlet,tenture,tenty,tenuate,tenues,tenuis,tenuity,tenuous,tenure,teopan,tepache,tepal,tepee,tepefy,tepid,tepidly,tepor,tequila,tera,terap,teras,terbia,terbic,terbium,tercel,tercer,tercet,tercia,tercine,tercio,terebic,terebra,teredo,terek,terete,tereu,terfez,tergal,tergant,tergite,tergum,term,terma,termage,termen,termer,termin,termine,termini,termino,termite,termly,termon,termor,tern,terna,ternal,ternar,ternary,ternate,terne,ternery,ternion,ternize,ternlet,terp,terpane,terpene,terpin,terpine,terrace,terrage,terrain,terral,terrane,terrar,terrene,terret,terrier,terrify,terrine,terron,terror,terry,terse,tersely,tersion,tertia,tertial,tertian,tertius,terton,tervee,terzina,terzo,tesack,teskere,tessara,tessel,tessera,test,testa,testacy,testar,testata,testate,teste,tested,testee,tester,testes,testify,testily,testing,testis,teston,testone,testoon,testor,testril,testudo,testy,tetanic,tetanus,tetany,tetard,tetch,tetchy,tete,tetel,teth,tether,tethery,tetra,tetract,tetrad,tetrane,tetrazo,tetric,tetrode,tetrole,tetrose,tetryl,tetter,tettery,tettix,teucrin,teufit,teuk,teviss,tew,tewel,tewer,tewit,tewly,tewsome,text,textile,textlet,textman,textual,texture,tez,tezkere,th,tha,thack,thacker,thakur,thalami,thaler,thalli,thallic,thallus,thameng,than,thana,thanage,thanan,thane,thank,thankee,thanker,thanks,thapes,thapsia,thar,tharf,tharm,that,thatch,thatchy,thatn,thats,thaught,thave,thaw,thawer,thawn,thawy,the,theah,theasum,theat,theater,theatry,theave,theb,theca,thecae,thecal,thecate,thecia,thecium,thecla,theclan,thecoid,thee,theek,theeker,theelin,theelol,theer,theet,theezan,theft,thegn,thegnly,theine,their,theirn,theirs,theism,theist,thelium,them,thema,themata,theme,themer,themis,themsel,then,thenal,thenar,thence,theody,theorbo,theorem,theoria,theoric,theorum,theory,theow,therapy,there,thereas,thereat,thereby,therein,thereof,thereon,theres,therese,thereto,thereup,theriac,therial,therm,thermae,thermal,thermic,thermit,thermo,thermos,theroid,these,theses,thesial,thesis,theta,thetch,thetic,thetics,thetin,thetine,theurgy,thew,thewed,thewy,they,theyll,theyre,thiamin,thiasi,thiasoi,thiasos,thiasus,thick,thicken,thicket,thickly,thief,thienyl,thieve,thiever,thig,thigger,thigh,thighed,thight,thilk,thill,thiller,thilly,thimber,thimble,thin,thine,thing,thingal,thingly,thingum,thingy,think,thinker,thinly,thinner,thio,thiol,thiolic,thionic,thionyl,thir,third,thirdly,thirl,thirst,thirsty,thirt,thirty,this,thishow,thisn,thissen,thistle,thistly,thither,thiuram,thivel,thixle,tho,thob,thocht,thof,thoft,thoke,thokish,thole,tholi,tholoi,tholos,tholus,thon,thonder,thone,thong,thonged,thongy,thoo,thooid,thoom,thoral,thorax,thore,thoria,thoric,thorina,thorite,thorium,thorn,thorned,thornen,thorny,thoro,thoron,thorp,thort,thorter,those,thou,though,thought,thouse,thow,thowel,thowt,thrack,thraep,thrail,thrain,thrall,thram,thrang,thrap,thrash,thrast,thrave,thraver,thraw,thrawn,thread,thready,threap,threat,three,threne,threnos,threose,thresh,threw,thrice,thrift,thrifty,thrill,thrilly,thrimp,thring,thrip,thripel,thrips,thrive,thriven,thriver,thro,throat,throaty,throb,throck,throddy,throe,thronal,throne,throng,throu,throuch,through,throve,throw,thrower,thrown,thrum,thrummy,thrush,thrushy,thrust,thrutch,thruv,thrymsa,thud,thug,thugdom,thuggee,thujene,thujin,thujone,thujyl,thulia,thulir,thulite,thulium,thulr,thuluth,thumb,thumbed,thumber,thumble,thumby,thump,thumper,thunder,thung,thunge,thuoc,thurify,thurl,thurm,thurmus,thurse,thurt,thus,thusly,thutter,thwack,thwaite,thwart,thwite,thy,thyine,thymate,thyme,thymele,thymene,thymic,thymine,thymol,thymoma,thymus,thymy,thymyl,thynnid,thyroid,thyrse,thyrsus,thysel,thyself,thysen,ti,tiang,tiao,tiar,tiara,tib,tibby,tibet,tibey,tibia,tibiad,tibiae,tibial,tibiale,tiburon,tic,tical,ticca,tice,ticer,tick,ticked,ticken,ticker,ticket,tickey,tickie,ticking,tickle,tickled,tickler,tickly,tickney,ticky,ticul,tid,tidal,tidally,tidbit,tiddle,tiddler,tiddley,tiddy,tide,tided,tideful,tidely,tideway,tidily,tiding,tidings,tidley,tidy,tidyism,tie,tieback,tied,tien,tiepin,tier,tierce,tierced,tiered,tierer,tietick,tiewig,tiff,tiffany,tiffie,tiffin,tiffish,tiffle,tiffy,tift,tifter,tig,tige,tigella,tigelle,tiger,tigerly,tigery,tigger,tight,tighten,tightly,tights,tiglic,tignum,tigress,tigrine,tigroid,tigtag,tikka,tikker,tiklin,tikor,tikur,til,tilaite,tilaka,tilbury,tilde,tile,tiled,tiler,tilery,tilikum,tiling,till,tillage,tiller,tilley,tillite,tillot,tilly,tilmus,tilpah,tilt,tilter,tilth,tilting,tiltup,tilty,tilyer,timable,timar,timarau,timawa,timbal,timbale,timbang,timbe,timber,timbern,timbery,timbo,timbre,timbrel,time,timed,timeful,timely,timeous,timer,times,timid,timidly,timing,timish,timist,timon,timor,timothy,timpani,timpano,tin,tinamou,tincal,tinchel,tinclad,tinct,tind,tindal,tindalo,tinder,tindery,tine,tinea,tineal,tinean,tined,tineid,tineine,tineman,tineoid,tinety,tinful,ting,tinge,tinged,tinger,tingi,tingid,tingle,tingler,tingly,tinguy,tinhorn,tinily,tining,tink,tinker,tinkle,tinkler,tinkly,tinlet,tinlike,tinman,tinned,tinner,tinnery,tinnet,tinnily,tinning,tinnock,tinny,tinosa,tinsel,tinsman,tint,tinta,tintage,tinted,tinter,tintie,tinting,tintist,tinty,tintype,tinwald,tinware,tinwork,tiny,tip,tipburn,tipcart,tipcat,tipe,tipful,tiphead,tipiti,tiple,tipless,tiplet,tipman,tipmost,tiponi,tipped,tippee,tipper,tippet,tipping,tipple,tippler,tipply,tippy,tipsify,tipsily,tipster,tipsy,tiptail,tiptilt,tiptoe,tiptop,tipulid,tipup,tirade,tiralee,tire,tired,tiredly,tiredom,tireman,tirer,tiriba,tiring,tirl,tirma,tirr,tirret,tirrlie,tirve,tirwit,tisane,tisar,tissual,tissue,tissued,tissuey,tiswin,tit,titania,titanic,titano,titanyl,titar,titbit,tite,titer,titfish,tithal,tithe,tither,tithing,titi,titian,titien,titlark,title,titled,titler,titlike,titling,titlist,titmal,titman,titoki,titrate,titre,titter,tittery,tittie,tittle,tittler,tittup,tittupy,titty,titular,titule,titulus,tiver,tivoli,tivy,tiza,tizeur,tizzy,tji,tjosite,tlaco,tmema,tmesis,to,toa,toad,toadeat,toader,toadery,toadess,toadier,toadish,toadlet,toady,toast,toastee,toaster,toasty,toat,toatoa,tobacco,tobe,tobine,tobira,toby,tobyman,toccata,tocher,tock,toco,tocome,tocsin,tocusso,tod,today,todder,toddick,toddite,toddle,toddler,toddy,tode,tody,toe,toecap,toed,toeless,toelike,toenail,toetoe,toff,toffee,toffing,toffish,toffy,toft,tofter,toftman,tofu,tog,toga,togaed,togata,togate,togated,toggel,toggery,toggle,toggler,togless,togs,togt,togue,toher,toheroa,toho,tohunga,toi,toil,toiled,toiler,toilet,toilful,toiling,toise,toit,toitish,toity,tokay,toke,token,tokened,toko,tokopat,tol,tolan,tolane,told,toldo,tole,tolite,toll,tollage,toller,tollery,tolling,tollman,tolly,tolsey,tolt,tolter,tolu,toluate,toluene,toluic,toluide,toluido,toluol,toluyl,tolyl,toman,tomato,tomb,tombac,tombal,tombe,tombic,tomblet,tombola,tombolo,tomboy,tomcat,tomcod,tome,tomeful,tomelet,toment,tomfool,tomial,tomin,tomish,tomium,tomjohn,tomkin,tommy,tomnoup,tomorn,tomosis,tompon,tomtate,tomtit,ton,tonal,tonally,tonant,tondino,tone,toned,toneme,toner,tonetic,tong,tonga,tonger,tongman,tongs,tongue,tongued,tonguer,tonguey,tonic,tonify,tonight,tonish,tonite,tonjon,tonk,tonkin,tonlet,tonnage,tonneau,tonner,tonnish,tonous,tonsil,tonsor,tonsure,tontine,tonus,tony,too,toodle,took,tooken,tool,toolbox,tooler,tooling,toolman,toom,toomly,toon,toop,toorie,toorock,tooroo,toosh,toot,tooter,tooth,toothed,toother,toothy,tootle,tootler,tootsy,toozle,toozoo,top,toparch,topass,topaz,topazy,topcap,topcast,topcoat,tope,topee,topeng,topepo,toper,topfull,toph,tophus,topi,topia,topiary,topic,topical,topknot,topless,toplike,topline,topman,topmast,topmost,topo,toponym,topped,topper,topping,topple,toppler,topply,toppy,toprail,toprope,tops,topsail,topside,topsl,topsman,topsoil,toptail,topwise,toque,tor,tora,torah,toral,toran,torc,torcel,torch,torcher,torchon,tore,tored,torero,torfel,torgoch,toric,torii,torma,tormen,torment,tormina,torn,tornade,tornado,tornal,tornese,torney,tornote,tornus,toro,toroid,torose,torous,torpedo,torpent,torpid,torpify,torpor,torque,torqued,torques,torrefy,torrent,torrid,torsade,torse,torsel,torsile,torsion,torsive,torsk,torso,tort,torta,torteau,tortile,tortive,tortula,torture,toru,torula,torulin,torulus,torus,torve,torvid,torvity,torvous,tory,tosh,tosher,toshery,toshly,toshy,tosily,toss,tosser,tossily,tossing,tosspot,tossup,tossy,tost,toston,tosy,tot,total,totally,totara,totchka,tote,totem,totemic,totemy,toter,tother,totient,toto,totora,totquot,totter,tottery,totting,tottle,totty,totuava,totum,toty,totyman,tou,toucan,touch,touched,toucher,touchy,toug,tough,toughen,toughly,tought,tould,toumnah,toup,toupee,toupeed,toupet,tour,touraco,tourer,touring,tourism,tourist,tourize,tourn,tournay,tournee,tourney,tourte,tousche,touse,touser,tousle,tously,tousy,tout,touter,tovar,tow,towable,towage,towai,towan,toward,towards,towboat,towcock,towd,towel,towelry,tower,towered,towery,towght,towhead,towhee,towing,towkay,towlike,towline,towmast,town,towned,townee,towner,townet,townful,townify,townish,townist,townlet,townly,townman,towny,towpath,towrope,towser,towy,tox,toxa,toxamin,toxcatl,toxemia,toxemic,toxic,toxical,toxicum,toxifer,toxin,toxity,toxoid,toxon,toxone,toxosis,toxotae,toy,toydom,toyer,toyful,toying,toyish,toyland,toyless,toylike,toyman,toyon,toyshop,toysome,toytown,toywort,toze,tozee,tozer,tra,trabal,trabant,trabea,trabeae,trabuch,trace,tracer,tracery,trachea,trachle,tracing,track,tracked,tracker,tract,tractor,tradal,trade,trader,trading,tradite,traduce,trady,traffic,trag,tragal,tragedy,tragi,tragic,tragus,trah,traheen,traik,trail,trailer,traily,train,trained,trainee,trainer,trainy,traipse,trait,traitor,traject,trajet,tralira,tram,trama,tramal,tramcar,trame,tramful,tramman,trammel,trammer,trammon,tramp,tramper,trample,trampot,tramway,trance,tranced,traneen,trank,tranka,tranker,trankum,tranky,transit,transom,trant,tranter,trap,trapes,trapeze,trapped,trapper,trappy,traps,trash,traship,trashy,trass,trasy,trauma,travail,travale,trave,travel,travis,travois,travoy,trawl,trawler,tray,trayful,treacle,treacly,tread,treader,treadle,treason,treat,treatee,treater,treator,treaty,treble,trebly,treddle,tree,treed,treeful,treeify,treelet,treeman,treen,treetop,treey,tref,trefle,trefoil,tregerg,tregohm,trehala,trek,trekker,trellis,tremble,trembly,tremie,tremolo,tremor,trenail,trench,trend,trendle,trental,trepan,trepang,trepid,tress,tressed,tresson,tressy,trest,trestle,tret,trevet,trews,trey,tri,triable,triace,triacid,triact,triad,triadic,triaene,triage,trial,triamid,triarch,triarii,triatic,triaxon,triazin,triazo,tribade,tribady,tribal,tribase,tribble,tribe,triblet,tribrac,tribual,tribuna,tribune,tribute,trica,tricae,tricar,trice,triceps,trichi,trichia,trichy,trick,tricker,trickle,trickly,tricksy,tricky,triclad,tricorn,tricot,trident,triduan,triduum,tried,triedly,triene,triens,trier,trifa,trifid,trifle,trifler,triflet,trifoil,trifold,trifoly,triform,trig,trigamy,trigger,triglid,triglot,trigly,trigon,trigone,trigram,trigyn,trikaya,trike,triker,triketo,trikir,trilabe,trilby,trilit,trilite,trilith,trill,trillet,trilli,trillo,trilobe,trilogy,trim,trimer,trimly,trimmer,trin,trinal,trinary,trindle,trine,trinely,tringle,trinity,trink,trinket,trinkle,trinode,trinol,trintle,trio,triobol,triode,triodia,triole,triolet,trionym,trior,triose,trip,tripal,tripara,tripart,tripe,tripel,tripery,triple,triplet,triplex,triplum,triply,tripod,tripody,tripoli,tripos,tripper,trippet,tripple,tripsis,tripy,trireme,trisalt,trisazo,trisect,triseme,trishna,trismic,trismus,trisome,trisomy,trist,trisul,trisula,tritaph,trite,tritely,tritish,tritium,tritolo,triton,tritone,tritor,trityl,triumph,triunal,triune,triurid,trivant,trivet,trivia,trivial,trivium,trivvet,trizoic,trizone,troat,troca,trocar,trochal,troche,trochee,trochi,trochid,trochus,trock,troco,trod,trodden,trode,troft,trog,trogger,troggin,trogon,trogs,trogue,troika,troke,troker,troll,troller,trolley,trollol,trollop,trolly,tromba,trombe,trommel,tromp,trompe,trompil,tromple,tron,trona,tronage,tronc,trone,troner,troolie,troop,trooper,troot,tropal,tropary,tropate,trope,tropeic,troper,trophal,trophi,trophic,trophy,tropic,tropine,tropism,tropist,tropoyl,tropyl,trot,troth,trotlet,trotol,trotter,trottie,trotty,trotyl,trouble,troubly,trough,troughy,trounce,troupe,trouper,trouse,trouser,trout,trouter,trouty,trove,trover,trow,trowel,trowing,trowman,trowth,troy,truancy,truant,trub,trubu,truce,trucial,truck,trucker,truckle,trucks,truddo,trudge,trudgen,trudger,true,truer,truff,truffle,trug,truish,truism,trull,truller,trullo,truly,trummel,trump,trumper,trumpet,trumph,trumpie,trun,truncal,trunch,trundle,trunk,trunked,trunnel,trush,trusion,truss,trussed,trusser,trust,trustee,trusten,truster,trustle,trusty,truth,truthy,truvat,try,trygon,trying,tryma,tryout,tryp,trypa,trypan,trypsin,tryptic,trysail,tryst,tryster,tryt,tsadik,tsamba,tsantsa,tsar,tsardom,tsarina,tsatlee,tsere,tsetse,tsia,tsine,tst,tsuba,tsubo,tsun,tsunami,tsungtu,tu,tua,tuan,tuarn,tuart,tuatara,tuatera,tuath,tub,tuba,tubae,tubage,tubal,tubar,tubate,tubba,tubbal,tubbeck,tubber,tubbie,tubbing,tubbish,tubboe,tubby,tube,tubeful,tubelet,tubeman,tuber,tuberin,tubfish,tubful,tubicen,tubifer,tubig,tubik,tubing,tublet,tublike,tubman,tubular,tubule,tubulet,tubuli,tubulus,tuchit,tuchun,tuck,tucker,tucket,tucking,tuckner,tucktoo,tucky,tucum,tucuma,tucuman,tudel,tue,tueiron,tufa,tufan,tuff,tuffet,tuffing,tuft,tufted,tufter,tuftily,tufting,tuftlet,tufty,tug,tugboat,tugger,tuggery,tugging,tughra,tugless,tuglike,tugman,tugrik,tugui,tui,tuik,tuille,tuilyie,tuism,tuition,tuitive,tuke,tukra,tula,tulare,tulasi,tulchan,tulchin,tule,tuliac,tulip,tulipy,tulisan,tulle,tulsi,tulwar,tum,tumasha,tumbak,tumble,tumbled,tumbler,tumbly,tumbrel,tume,tumefy,tumid,tumidly,tummals,tummel,tummer,tummock,tummy,tumor,tumored,tump,tumtum,tumular,tumuli,tumult,tumulus,tun,tuna,tunable,tunably,tunca,tund,tunder,tundish,tundra,tundun,tune,tuned,tuneful,tuner,tunful,tung,tungate,tungo,tunhoof,tunic,tunicin,tunicle,tuning,tunish,tunist,tunk,tunket,tunlike,tunmoot,tunna,tunnel,tunner,tunnery,tunnor,tunny,tuno,tunu,tuny,tup,tupara,tupek,tupelo,tupik,tupman,tupuna,tuque,tur,turacin,turb,turban,turbary,turbeh,turbid,turbine,turbit,turbith,turbo,turbot,turco,turd,turdine,turdoid,tureen,turf,turfage,turfdom,turfed,turfen,turfing,turfite,turfman,turfy,turgent,turgid,turgite,turgoid,turgor,turgy,turio,turion,turjite,turk,turken,turkey,turkis,turkle,turm,turma,turment,turmit,turmoil,turn,turncap,turndun,turned,turnel,turner,turnery,turney,turning,turnip,turnipy,turnix,turnkey,turnoff,turnout,turnpin,turnrow,turns,turnup,turp,turpeth,turpid,turps,turr,turret,turse,tursio,turtle,turtler,turtlet,turtosa,tururi,turus,turwar,tusche,tush,tushed,tusher,tushery,tusk,tuskar,tusked,tusker,tuskish,tusky,tussah,tussal,tusser,tussis,tussive,tussle,tussock,tussore,tussur,tut,tutania,tutball,tute,tutee,tutela,tutelar,tutenag,tuth,tutin,tutly,tutman,tutor,tutorer,tutorly,tutory,tutoyer,tutress,tutrice,tutrix,tuts,tutsan,tutster,tutti,tutty,tutu,tutulus,tutwork,tuwi,tux,tuxedo,tuyere,tuza,tuzzle,twa,twaddle,twaddly,twaddy,twae,twagger,twain,twaite,twal,twale,twalt,twang,twanger,twangle,twangy,twank,twanker,twankle,twanky,twant,twarly,twas,twasome,twat,twattle,tway,twazzy,tweag,tweak,tweaker,tweaky,twee,tweed,tweeded,tweedle,tweedy,tweeg,tweel,tween,tweeny,tweesh,tweesht,tweest,tweet,tweeter,tweeze,tweezer,tweil,twelfth,twelve,twenty,twere,twerp,twibil,twice,twicer,twicet,twick,twiddle,twiddly,twifoil,twifold,twig,twigful,twigged,twiggen,twigger,twiggy,twiglet,twilit,twill,twilled,twiller,twilly,twilt,twin,twindle,twine,twiner,twinge,twingle,twinism,twink,twinkle,twinkly,twinly,twinned,twinner,twinter,twiny,twire,twirk,twirl,twirler,twirly,twiscar,twisel,twist,twisted,twister,twistle,twisty,twit,twitch,twitchy,twite,twitten,twitter,twitty,twixt,twizzle,two,twofold,twoling,twoness,twosome,tychism,tychite,tycoon,tyddyn,tydie,tye,tyee,tyg,tying,tyke,tyken,tykhana,tyking,tylarus,tylion,tyloma,tylopod,tylose,tylosis,tylote,tylotic,tylotus,tylus,tymp,tympan,tympana,tympani,tympany,tynd,typal,type,typer,typeset,typhia,typhic,typhlon,typhoid,typhoon,typhose,typhous,typhus,typic,typica,typical,typicon,typicum,typify,typist,typo,typobar,typonym,typp,typy,tyranny,tyrant,tyre,tyro,tyroma,tyrone,tyronic,tyrosyl,tyste,tyt,tzolkin,tzontle,u,uang,uayeb,uberant,uberous,uberty,ubi,ubiety,ubiquit,ubussu,uckia,udal,udaler,udaller,udalman,udasi,udder,uddered,udell,udo,ug,ugh,uglify,uglily,ugly,ugsome,uhlan,uhllo,uhtsong,uily,uinal,uintjie,uitspan,uji,ukase,uke,ukiyoye,ukulele,ula,ulcer,ulcered,ulcery,ule,ulema,uletic,ulex,ulexine,ulexite,ulitis,ull,ulla,ullage,ullaged,uller,ulling,ulluco,ulmic,ulmin,ulminic,ulmo,ulmous,ulna,ulnad,ulnae,ulnar,ulnare,ulnaria,uloid,uloncus,ulster,ultima,ultimo,ultimum,ultra,ulu,ulua,uluhi,ululant,ululate,ululu,um,umbel,umbeled,umbella,umber,umbilic,umble,umbo,umbonal,umbone,umbones,umbonic,umbra,umbrae,umbrage,umbral,umbrel,umbril,umbrine,umbrose,umbrous,ume,umiak,umiri,umlaut,ump,umph,umpire,umpirer,umpteen,umpty,umu,un,unable,unably,unact,unacted,unacute,unadapt,unadd,unadded,unadopt,unadorn,unadult,unafire,unaflow,unaged,unagile,unaging,unaided,unaimed,unaired,unakin,unakite,unal,unalarm,unalert,unalike,unalist,unalive,unallow,unalone,unaloud,unamend,unamiss,unamo,unample,unamply,unangry,unannex,unapart,unapt,unaptly,unarch,unark,unarm,unarmed,unarray,unarted,unary,unasked,unau,unavian,unawake,unaware,unaway,unawed,unawful,unawned,unaxled,unbag,unbain,unbait,unbaked,unbale,unbank,unbar,unbarb,unbare,unbark,unbase,unbased,unbaste,unbated,unbay,unbe,unbear,unbeard,unbeast,unbed,unbefit,unbeget,unbegot,unbegun,unbeing,unbell,unbelt,unbench,unbend,unbent,unberth,unbeset,unbesot,unbet,unbias,unbid,unbind,unbit,unbitt,unblade,unbled,unblent,unbless,unblest,unblind,unbliss,unblock,unbloom,unblown,unblued,unblush,unboat,unbody,unbog,unboggy,unbokel,unbold,unbolt,unbone,unboned,unbonny,unboot,unbored,unborn,unborne,unbosom,unbound,unbow,unbowed,unbowel,unbox,unboxed,unboy,unbrace,unbraid,unbran,unbrand,unbrave,unbraze,unbred,unbrent,unbrick,unbrief,unbroad,unbroke,unbrown,unbrute,unbud,unbuild,unbuilt,unbulky,unbung,unburly,unburn,unburnt,unburst,unbury,unbush,unbusk,unbusy,unbuxom,unca,uncage,uncaged,uncake,uncalk,uncall,uncalm,uncaned,uncanny,uncap,uncart,uncase,uncased,uncask,uncast,uncaste,uncate,uncave,unceded,unchain,unchair,uncharm,unchary,uncheat,uncheck,unchid,unchild,unchurn,unci,uncia,uncial,uncinal,uncinch,uncinct,uncini,uncinus,uncite,uncited,uncity,uncivic,uncivil,unclad,unclamp,unclasp,unclay,uncle,unclead,unclean,unclear,uncleft,unclew,unclick,unclify,unclimb,uncling,unclip,uncloak,unclog,unclose,uncloud,unclout,unclub,unco,uncoach,uncoat,uncock,uncoded,uncoif,uncoil,uncoin,uncoked,uncolt,uncoly,uncome,uncomfy,uncomic,uncoop,uncope,uncord,uncore,uncored,uncork,uncost,uncouch,uncous,uncouth,uncover,uncowed,uncowl,uncoy,uncram,uncramp,uncream,uncrest,uncrib,uncried,uncrime,uncrisp,uncrook,uncropt,uncross,uncrown,uncrude,uncruel,unction,uncubic,uncular,uncurb,uncurd,uncured,uncurl,uncurse,uncurst,uncus,uncut,uncuth,undaily,undam,undamn,undared,undark,undate,undated,undaub,undazed,unde,undead,undeaf,undealt,undean,undear,undeck,undecyl,undeep,undeft,undeify,undelve,unden,under,underdo,underer,undergo,underly,undern,undevil,undewed,undewy,undid,undies,undig,undight,undiked,undim,undine,undined,undirk,undo,undock,undoer,undog,undoing,undomed,undon,undone,undoped,undose,undosed,undowny,undrab,undrag,undrape,undraw,undrawn,undress,undried,undrunk,undry,undub,unducal,undue,undug,unduke,undular,undull,unduly,unduped,undust,unduty,undwelt,undy,undye,undyed,undying,uneager,unearly,unearth,unease,uneasy,uneaten,uneath,unebbed,unedge,unedged,unelect,unempt,unempty,unended,unepic,unequal,unerect,unethic,uneven,unevil,unexact,uneye,uneyed,unface,unfaced,unfact,unfaded,unfain,unfaint,unfair,unfaith,unfaked,unfalse,unfamed,unfancy,unfar,unfast,unfeary,unfed,unfeed,unfele,unfelon,unfelt,unfence,unfeted,unfeued,unfew,unfiber,unfiend,unfiery,unfight,unfile,unfiled,unfill,unfilm,unfine,unfined,unfired,unfirm,unfit,unfitly,unfitty,unfix,unfixed,unflag,unflaky,unflank,unflat,unflead,unflesh,unflock,unfloor,unflown,unfluid,unflush,unfoggy,unfold,unfond,unfool,unfork,unform,unfoul,unfound,unfoxy,unfrail,unframe,unfrank,unfree,unfreed,unfret,unfried,unfrill,unfrizz,unfrock,unfrost,unfroze,unfull,unfully,unfumed,unfunny,unfur,unfurl,unfused,unfussy,ungag,ungaged,ungain,ungaite,ungaro,ungaudy,ungear,ungelt,unget,ungiant,ungiddy,ungild,ungill,ungilt,ungird,ungirt,ungirth,ungive,ungiven,ungka,unglad,unglaze,unglee,unglobe,ungloom,unglory,ungloss,unglove,unglue,unglued,ungnaw,ungnawn,ungod,ungodly,ungold,ungone,ungood,ungored,ungorge,ungot,ungouty,ungown,ungrace,ungraft,ungrain,ungrand,ungrasp,ungrave,ungreat,ungreen,ungrip,ungripe,ungross,ungrow,ungrown,ungruff,ungual,unguard,ungueal,unguent,ungues,unguis,ungula,ungulae,ungular,unguled,ungull,ungulp,ungum,unguyed,ungyve,ungyved,unhabit,unhad,unhaft,unhair,unhairy,unhand,unhandy,unhang,unhap,unhappy,unhard,unhardy,unharsh,unhasp,unhaste,unhasty,unhat,unhate,unhated,unhaunt,unhave,unhayed,unhazed,unhead,unheady,unheal,unheard,unheart,unheavy,unhedge,unheed,unheedy,unheld,unhele,unheler,unhelm,unherd,unhero,unhewed,unhewn,unhex,unhid,unhide,unhigh,unhinge,unhired,unhit,unhitch,unhive,unhoard,unhoary,unhoed,unhoist,unhold,unholy,unhome,unhoned,unhood,unhook,unhoop,unhoped,unhorny,unhorse,unhose,unhosed,unhot,unhouse,unhull,unhuman,unhumid,unhung,unhurt,unhusk,uniat,uniate,uniaxal,unible,unice,uniced,unicell,unicism,unicist,unicity,unicorn,unicum,unideal,unidle,unidly,unie,uniface,unific,unified,unifier,uniflow,uniform,unify,unilobe,unimped,uninked,uninn,unio,unioid,union,unioned,unionic,unionid,unioval,unipara,uniped,unipod,unique,unireme,unisoil,unison,unit,unitage,unital,unitary,unite,united,uniter,uniting,unition,unitism,unitive,unitize,unitude,unity,univied,unjaded,unjam,unjewel,unjoin,unjoint,unjolly,unjoyed,unjudge,unjuicy,unjust,unkamed,unked,unkempt,unken,unkept,unket,unkey,unkeyed,unkid,unkill,unkin,unkind,unking,unkink,unkirk,unkiss,unkist,unknave,unknew,unknit,unknot,unknow,unknown,unlace,unlaced,unlade,unladen,unlaid,unlame,unlamed,unland,unlap,unlarge,unlash,unlatch,unlath,unlaugh,unlaved,unlaw,unlawed,unlawly,unlay,unlead,unleaf,unleaky,unleal,unlean,unlearn,unleash,unleave,unled,unleft,unlegal,unlent,unless,unlet,unlevel,unlid,unlie,unlight,unlike,unliked,unliken,unlimb,unlime,unlimed,unlimp,unline,unlined,unlink,unlist,unlisty,unlit,unlive,unload,unloath,unlobed,unlocal,unlock,unlodge,unlofty,unlogic,unlook,unloop,unloose,unlord,unlost,unlousy,unlove,unloved,unlowly,unloyal,unlucid,unluck,unlucky,unlunar,unlured,unlust,unlusty,unlute,unluted,unlying,unmad,unmade,unmagic,unmaid,unmail,unmake,unmaker,unman,unmaned,unmanly,unmarch,unmarry,unmask,unmast,unmate,unmated,unmaze,unmeant,unmeek,unmeet,unmerge,unmerry,unmesh,unmet,unmeted,unmew,unmewed,unmind,unmined,unmired,unmiry,unmist,unmiter,unmix,unmixed,unmodel,unmoist,unmold,unmoldy,unmoor,unmoral,unmount,unmoved,unmowed,unmown,unmuddy,unmuted,unnail,unnaked,unname,unnamed,unneat,unneedy,unnegro,unnerve,unnest,unneth,unnethe,unnew,unnewly,unnice,unnigh,unnoble,unnobly,unnose,unnosed,unnoted,unnovel,unoared,unobese,unode,unoften,unogled,unoil,unoiled,unoily,unold,unoped,unopen,unorbed,unorder,unorn,unornly,unovert,unowed,unowing,unown,unowned,unpaced,unpack,unpagan,unpaged,unpaid,unpaint,unpale,unpaled,unpanel,unpapal,unpaper,unparch,unpared,unpark,unparty,unpass,unpaste,unpave,unpaved,unpawed,unpawn,unpeace,unpeel,unpeg,unpen,unpenal,unpent,unperch,unpetal,unpick,unpiece,unpiety,unpile,unpiled,unpin,unpious,unpiped,unplace,unplaid,unplain,unplait,unplan,unplank,unplant,unplat,unpleat,unplied,unplow,unplug,unplumb,unplume,unplump,unpoise,unpoled,unpope,unposed,unpot,unpower,unpray,unprim,unprime,unprint,unprop,unproud,unpure,unpurse,unput,unqueen,unquick,unquiet,unquit,unquote,unraced,unrack,unrainy,unrake,unraked,unram,unrank,unraped,unrare,unrash,unrated,unravel,unray,unrayed,unrazed,unread,unready,unreal,unreave,unrebel,unred,unreel,unreeve,unregal,unrein,unrent,unrest,unresty,unrhyme,unrich,unricht,unrid,unride,unrife,unrig,unright,unrigid,unrind,unring,unrip,unripe,unriped,unrisen,unrisky,unrived,unriven,unrivet,unroast,unrobe,unrobed,unroll,unroof,unroomy,unroost,unroot,unrope,unroped,unrosed,unroted,unrough,unround,unrove,unroved,unrow,unrowed,unroyal,unrule,unruled,unruly,unrun,unrung,unrural,unrust,unruth,unsack,unsad,unsafe,unsage,unsaid,unsaint,unsalt,unsane,unsappy,unsash,unsated,unsatin,unsaved,unsawed,unsawn,unsay,unscale,unscaly,unscarb,unscent,unscrew,unseal,unseam,unseat,unsee,unseen,unself,unsense,unsent,unset,unsew,unsewed,unsewn,unsex,unsexed,unshade,unshady,unshape,unsharp,unshawl,unsheaf,unshed,unsheet,unshell,unship,unshod,unshoe,unshoed,unshop,unshore,unshorn,unshort,unshot,unshown,unshowy,unshrew,unshut,unshy,unshyly,unsick,unsided,unsiege,unsight,unsilly,unsin,unsinew,unsing,unsized,unskin,unslack,unslain,unslate,unslave,unsleek,unslept,unsling,unslip,unslit,unslot,unslow,unslung,unsly,unsmart,unsmoky,unsmote,unsnaky,unsnap,unsnare,unsnarl,unsneck,unsnib,unsnow,unsober,unsoft,unsoggy,unsoil,unsolar,unsold,unsole,unsoled,unsolid,unsome,unson,unsonsy,unsooty,unsore,unsorry,unsort,unsoul,unsound,unsour,unsowed,unsown,unspan,unspar,unspeak,unsped,unspeed,unspell,unspelt,unspent,unspicy,unspied,unspike,unspin,unspit,unsplit,unspoil,unspot,unspun,unstack,unstagy,unstaid,unstain,unstar,unstate,unsteck,unsteel,unsteep,unstep,unstern,unstick,unstill,unsting,unstock,unstoic,unstone,unstony,unstop,unstore,unstout,unstow,unstrap,unstrip,unstuck,unstuff,unstung,unsty,unsued,unsuit,unsulky,unsun,unsung,unsunk,unsunny,unsure,unswear,unsweat,unsweet,unswell,unswept,unswing,unsworn,unswung,untack,untaint,untaken,untall,untame,untamed,untap,untaped,untar,untaste,untasty,untaut,untawed,untax,untaxed,unteach,unteam,unteem,untell,untense,untent,untenty,untewed,unthank,unthaw,unthick,unthink,unthorn,unthrid,unthrob,untidal,untidy,untie,untied,untight,until,untile,untiled,untill,untilt,untimed,untin,untinct,untine,untipt,untire,untired,unto,untold,untomb,untone,untoned,untooth,untop,untorn,untouch,untough,untown,untrace,untrain,untread,untreed,untress,untried,untrig,untrill,untrim,untripe,untrite,untrod,untruck,untrue,untruly,untruss,untrust,untruth,untuck,untumid,untune,untuned,unturf,unturn,untwine,untwirl,untwist,untying,untz,unugly,unultra,unupset,unurban,unurged,unurn,unurned,unuse,unused,unusual,unvain,unvalid,unvalue,unveil,unvenom,unvest,unvexed,unvicar,unvisor,unvital,unvivid,unvocal,unvoice,unvote,unvoted,unvowed,unwaded,unwaged,unwaked,unwall,unwan,unware,unwarm,unwarn,unwarp,unwary,unwater,unwaved,unwax,unwaxed,unwayed,unweal,unweary,unweave,unweb,unwed,unwedge,unweel,unweft,unweld,unwell,unwept,unwet,unwheel,unwhig,unwhip,unwhite,unwield,unwifed,unwig,unwild,unwill,unwily,unwind,unwindy,unwiped,unwire,unwired,unwise,unwish,unwist,unwitch,unwitty,unwive,unwived,unwoful,unwoman,unwomb,unwon,unwooed,unwoof,unwooly,unwordy,unwork,unworld,unwormy,unworn,unworth,unwound,unwoven,unwrap,unwrit,unwrite,unwrung,unyoke,unyoked,unyoung,unze,unzen,unzone,unzoned,up,upaisle,upalley,upalong,uparch,uparise,uparm,uparna,upas,upattic,upbank,upbar,upbay,upbear,upbeat,upbelch,upbelt,upbend,upbid,upbind,upblast,upblaze,upblow,upboil,upbolt,upboost,upborne,upbotch,upbound,upbrace,upbraid,upbray,upbreak,upbred,upbreed,upbrim,upbring,upbrook,upbrow,upbuild,upbuoy,upburn,upburst,upbuy,upcall,upcanal,upcarry,upcast,upcatch,upchoke,upchuck,upcity,upclimb,upclose,upcoast,upcock,upcoil,upcome,upcover,upcrane,upcrawl,upcreek,upcreep,upcrop,upcrowd,upcry,upcurl,upcurve,upcut,updart,update,updeck,updelve,updive,updo,updome,updraft,updrag,updraw,updrink,updry,upeat,upend,upeygan,upfeed,upfield,upfill,upflame,upflare,upflash,upflee,upfling,upfloat,upflood,upflow,upflung,upfly,upfold,upframe,upfurl,upgale,upgang,upgape,upgaze,upget,upgird,upgirt,upgive,upglean,upglide,upgo,upgorge,upgrade,upgrave,upgrow,upgully,upgush,uphand,uphang,uphasp,upheal,upheap,upheave,upheld,uphelm,uphelya,upher,uphill,uphoard,uphoist,uphold,uphung,uphurl,upjerk,upjet,upkeep,upknell,upknit,upla,uplaid,uplake,upland,uplane,uplay,uplead,upleap,upleg,uplick,uplift,uplight,uplimb,upline,uplock,uplong,uplook,uploom,uploop,uplying,upmast,upmix,upmost,upmount,upmove,upness,upo,upon,uppard,uppent,upper,upperch,upperer,uppers,uppile,upping,uppish,uppity,upplow,uppluck,uppoint,uppoise,uppop,uppour,uppowoc,upprick,upprop,uppuff,uppull,uppush,upraise,upreach,uprear,uprein,uprend,uprest,uprid,upridge,upright,uprip,uprisal,uprise,uprisen,upriser,uprist,uprive,upriver,uproad,uproar,uproom,uproot,uprose,uprouse,uproute,uprun,uprush,upscale,upscrew,upseal,upseek,upseize,upsend,upset,upsey,upshaft,upshear,upshoot,upshore,upshot,upshove,upshut,upside,upsides,upsilon,upsit,upslant,upslip,upslope,upsmite,upsoak,upsoar,upsolve,upspeak,upspear,upspeed,upspew,upspin,upspire,upspout,upspurt,upstaff,upstage,upstair,upstamp,upstand,upstare,upstart,upstate,upstay,upsteal,upsteam,upstem,upstep,upstick,upstir,upsuck,upsun,upsup,upsurge,upswarm,upsway,upsweep,upswell,upswing,uptable,uptake,uptaker,uptear,uptend,upthrow,uptide,uptie,uptill,uptilt,uptorn,uptoss,uptower,uptown,uptrace,uptrack,uptrail,uptrain,uptree,uptrend,uptrill,uptrunk,uptruss,uptube,uptuck,upturn,uptwist,upupoid,upvomit,upwaft,upwall,upward,upwards,upwarp,upwax,upway,upways,upwell,upwent,upwheel,upwhelm,upwhir,upwhirl,upwind,upwith,upwork,upwound,upwrap,upwring,upyard,upyoke,ur,ura,urachal,urachus,uracil,uraemic,uraeus,ural,urali,uraline,uralite,uralium,uramido,uramil,uramino,uran,uranate,uranic,uraniid,uranin,uranine,uranion,uranism,uranist,uranite,uranium,uranous,uranyl,urao,urare,urari,urase,urate,uratic,uratoma,urazine,urazole,urban,urbane,urbian,urbic,urbify,urceole,urceoli,urceus,urchin,urd,urde,urdee,ure,urea,ureal,urease,uredema,uredine,uredo,ureic,ureid,ureide,ureido,uremia,uremic,urent,uresis,uretal,ureter,urethan,urethra,uretic,urf,urge,urgence,urgency,urgent,urger,urging,urheen,urial,uric,urinal,urinant,urinary,urinate,urine,urinose,urinous,urite,urlar,urled,urling,urluch,urman,urn,urna,urnae,urnal,urnful,urning,urnism,urnlike,urocele,urocyst,urodele,urogram,urohyal,urolith,urology,uromere,uronic,uropod,urosis,urosome,urostea,urotoxy,uroxin,ursal,ursine,ursoid,ursolic,urson,ursone,ursuk,urtica,urtite,urubu,urucu,urucuri,uruisg,urunday,urus,urushi,urushic,urva,us,usable,usage,usager,usance,usar,usara,usaron,usation,use,used,usedly,usednt,usee,useful,usehold,useless,usent,user,ush,ushabti,usher,usherer,usings,usitate,usnea,usneoid,usnic,usninic,usque,usself,ussels,ust,uster,ustion,usual,usually,usuary,usucapt,usure,usurer,usuress,usurp,usurper,usurpor,usury,usward,uswards,ut,uta,utahite,utai,utas,utch,utchy,utees,utensil,uteri,uterine,uterus,utick,utile,utility,utilize,utinam,utmost,utopia,utopian,utopism,utopist,utricle,utricul,utrubi,utrum,utsuk,utter,utterer,utterly,utu,utum,uva,uval,uvalha,uvanite,uvate,uvea,uveal,uveitic,uveitis,uveous,uvic,uvid,uviol,uvitic,uvito,uvrou,uvula,uvulae,uvular,uvver,uxorial,uzan,uzara,uzarin,uzaron,v,vaagmer,vaalite,vacancy,vacant,vacate,vacatur,vaccary,vaccina,vaccine,vache,vacoa,vacona,vacoua,vacouf,vacual,vacuate,vacuefy,vacuist,vacuity,vacuole,vacuome,vacuous,vacuum,vacuuma,vade,vadium,vadose,vady,vag,vagal,vagary,vagas,vage,vagile,vagina,vaginal,vagitus,vagrant,vagrate,vagrom,vague,vaguely,vaguish,vaguity,vagus,vahine,vail,vain,vainful,vainly,vair,vairagi,vaire,vairy,vaivode,vajra,vakass,vakia,vakil,valance,vale,valence,valency,valent,valeral,valeric,valerin,valeryl,valet,valeta,valetry,valeur,valgoid,valgus,valhall,vali,valiant,valid,validly,valine,valise,vall,vallar,vallary,vallate,valley,vallis,vallum,valonia,valor,valse,valsoid,valuate,value,valued,valuer,valuta,valva,valval,valvate,valve,valved,valvula,valvule,valyl,vamfont,vamoose,vamp,vamped,vamper,vampire,van,vanadic,vanadyl,vane,vaned,vanfoss,vang,vangee,vangeli,vanglo,vanilla,vanille,vanish,vanity,vanman,vanmost,vanner,vannet,vansire,vantage,vanward,vapid,vapidly,vapor,vapored,vaporer,vapory,vara,varahan,varan,varanid,vardy,vare,varec,vareuse,vari,variant,variate,varical,varices,varied,varier,variety,variola,variole,various,varisse,varix,varlet,varment,varna,varnish,varsha,varsity,varus,varve,varved,vary,vas,vasa,vasal,vase,vaseful,vaselet,vassal,vast,vastate,vastily,vastity,vastly,vasty,vasu,vat,vatful,vatic,vatman,vatter,vau,vaudy,vault,vaulted,vaulter,vaulty,vaunt,vaunted,vaunter,vaunty,vauxite,vavasor,vaward,veal,vealer,vealy,vection,vectis,vector,vecture,vedana,vedette,vedika,vedro,veduis,vee,veen,veep,veer,veery,vegetal,vegete,vehicle,vei,veigle,veil,veiled,veiler,veiling,veily,vein,veinage,veinal,veined,veiner,veinery,veining,veinlet,veinous,veinule,veiny,vejoces,vela,velal,velamen,velar,velaric,velary,velate,velated,veldman,veldt,velic,veliger,vell,vellala,velleda,vellon,vellum,vellumy,velo,velours,velte,velum,velumen,velure,velvet,velvety,venada,venal,venally,venatic,venator,vencola,vend,vendace,vendee,vender,vending,vendor,vendue,veneer,venene,veneral,venerer,venery,venesia,venger,venial,venie,venin,venison,vennel,venner,venom,venomed,venomer,venomly,venomy,venosal,venose,venous,vent,ventage,ventail,venter,ventil,ventose,ventrad,ventral,ventric,venture,venue,venula,venular,venule,venust,vera,veranda,verb,verbal,verbate,verbena,verbene,verbid,verbify,verbile,verbose,verbous,verby,verchok,verd,verdant,verdea,verdet,verdict,verdin,verdoy,verdun,verdure,verek,verge,vergent,verger,vergery,vergi,verglas,veri,veridic,verify,verily,verine,verism,verist,verite,verity,vermeil,vermian,vermin,verminy,vermis,vermix,vernal,vernant,vernier,vernile,vernin,vernine,verre,verrel,verruca,verruga,versal,versant,versate,verse,versed,verser,verset,versify,versine,version,verso,versor,verst,versta,versual,versus,vert,vertex,vertigo,veruled,vervain,verve,vervel,vervet,very,vesania,vesanic,vesbite,vesicae,vesical,vesicle,veskit,vespal,vesper,vespers,vespery,vespid,vespine,vespoid,vessel,vest,vestal,vestee,vester,vestige,vesting,vestlet,vestral,vestry,vesture,vet,veta,vetanda,vetch,vetchy,veteran,vetiver,veto,vetoer,vetoism,vetoist,vetust,vetusty,veuve,vex,vexable,vexed,vexedly,vexer,vexful,vexil,vext,via,viable,viaduct,viagram,viajaca,vial,vialful,viand,viander,viatic,viatica,viator,vibex,vibgyor,vibix,vibrant,vibrate,vibrato,vibrion,vicar,vicarly,vice,viceroy,vicety,vicilin,vicinal,vicine,vicious,vicoite,victim,victor,victory,victrix,victual,vicuna,viddui,video,vidette,vidonia,vidry,viduage,vidual,viduate,viduine,viduity,viduous,vidya,vie,vielle,vier,viertel,view,viewer,viewly,viewy,vifda,viga,vigia,vigil,vignin,vigonia,vigor,vihara,vihuela,vijao,viking,vila,vilayet,vile,vilely,vilify,vility,vill,villa,village,villain,villar,villate,ville,villein,villoid,villose,villous,villus,vim,vimana,vimen,vimful,viminal,vina,vinage,vinal,vinasse,vinata,vincent,vindex,vine,vinea,vineal,vined,vinegar,vineity,vinelet,viner,vinery,vinic,vinny,vino,vinose,vinous,vint,vinta,vintage,vintem,vintner,vintry,viny,vinyl,vinylic,viol,viola,violal,violate,violent,violer,violet,violety,violin,violina,violine,violist,violon,violone,viper,viperan,viperid,vipery,viqueen,viragin,virago,viral,vire,virelay,viremia,viremic,virent,vireo,virga,virgal,virgate,virgin,virgula,virgule,virial,virid,virific,virify,virile,virl,virole,viroled,viron,virose,virosis,virous,virtu,virtual,virtue,virtued,viruela,virus,vis,visa,visage,visaged,visarga,viscera,viscid,viscin,viscose,viscous,viscus,vise,viseman,visible,visibly,visie,visile,vision,visit,visita,visite,visitee,visiter,visitor,visive,visne,vison,visor,vista,vistaed,vistal,visto,visual,vita,vital,vitalic,vitally,vitals,vitamer,vitamin,vitasti,vitiate,vitium,vitrage,vitrail,vitrain,vitraux,vitreal,vitrean,vitreum,vitric,vitrics,vitrify,vitrine,vitriol,vitrite,vitrous,vitta,vittate,vitular,viuva,viva,vivary,vivax,vive,vively,vivency,viver,vivers,vives,vivid,vividly,vivific,vivify,vixen,vixenly,vizard,vizier,vlei,voar,vocable,vocably,vocal,vocalic,vocally,vocate,vocular,vocule,vodka,voe,voet,voeten,vog,voglite,vogue,voguey,voguish,voice,voiced,voicer,voicing,void,voided,voidee,voider,voiding,voidly,voile,voivode,vol,volable,volage,volant,volar,volata,volatic,volcan,volcano,vole,volency,volent,volery,volet,volley,volost,volt,voltage,voltaic,voltize,voluble,volubly,volume,volumed,volupt,volupty,voluta,volute,voluted,volutin,volva,volvate,volvent,vomer,vomica,vomit,vomiter,vomito,vomitus,voodoo,vorago,vorant,vorhand,vorpal,vortex,vota,votable,votal,votally,votary,vote,voteen,voter,voting,votive,votress,vouch,vouchee,voucher,vouge,vow,vowed,vowel,vowely,vower,vowess,vowless,voyage,voyager,voyance,voyeur,vraic,vrbaite,vriddhi,vrother,vug,vuggy,vulgar,vulgare,vulgate,vulgus,vuln,vulnose,vulpic,vulpine,vulture,vulturn,vulva,vulval,vulvar,vulvate,vum,vying,vyingly,w,wa,waag,waapa,waar,wab,wabber,wabble,wabbly,wabby,wabe,wabeno,wabster,wacago,wace,wachna,wack,wacke,wacken,wacker,wacky,wad,waddent,wadder,wadding,waddler,waddly,waddy,wade,wader,wadi,wading,wadlike,wadmal,wadmeal,wadna,wadset,wae,waeg,waer,waesome,waesuck,wafer,waferer,wafery,waff,waffle,waffly,waft,waftage,wafter,wafture,wafty,wag,wagaun,wage,waged,wagedom,wager,wagerer,wages,waggel,wagger,waggery,waggie,waggish,waggle,waggly,waggy,waglike,wagling,wagon,wagoner,wagonry,wagsome,wagtail,wagwag,wagwit,wah,wahahe,wahine,wahoo,waiata,waif,waik,waikly,wail,wailer,wailful,waily,wain,wainage,wainer,wainful,wainman,waipiro,wairch,waird,wairepo,wairsh,waise,waist,waisted,waister,wait,waiter,waiting,waive,waiver,waivery,waivod,waiwode,wajang,waka,wakan,wake,wakeel,wakeful,waken,wakener,waker,wakes,wakf,wakif,wakiki,waking,wakiup,wakken,wakon,wakonda,waky,walahee,wale,waled,waler,wali,waling,walk,walker,walking,walkist,walkout,walkway,wall,wallaba,wallaby,wallah,walled,waller,wallet,walleye,wallful,walling,wallise,wallman,walloon,wallop,wallow,wally,walnut,walrus,walsh,walt,walter,walth,waltz,waltzer,wamara,wambais,wamble,wambly,wame,wamefou,wamel,wamp,wampee,wample,wampum,wampus,wamus,wan,wand,wander,wandery,wandle,wandoo,wandy,wane,waned,wang,wanga,wangala,wangan,wanghee,wangle,wangler,wanhope,wanhorn,wanigan,waning,wankle,wankly,wanle,wanly,wanner,wanness,wannish,wanny,wanrufe,want,wantage,wanter,wantful,wanting,wanton,wantwit,wanty,wany,wap,wapacut,wapatoo,wapiti,wapp,wapper,wapping,war,warabi,waratah,warble,warbled,warbler,warblet,warbly,warch,ward,wardage,warday,warded,warden,warder,warding,wardite,wardman,ware,warehou,wareman,warf,warfare,warful,warily,warish,warison,wark,warl,warless,warlike,warlock,warluck,warly,warm,warman,warmed,warmer,warmful,warming,warmish,warmly,warmth,warmus,warn,warnel,warner,warning,warnish,warnoth,warnt,warp,warpage,warped,warper,warping,warple,warran,warrand,warrant,warree,warren,warrer,warrin,warrior,warrok,warsaw,warse,warsel,warship,warsle,warsler,warst,wart,warted,wartern,warth,wartime,wartlet,warty,warve,warwolf,warworn,wary,was,wasabi,wase,wasel,wash,washday,washed,washen,washer,washery,washin,washing,washman,washoff,washout,washpot,washrag,washtub,washway,washy,wasnt,wasp,waspen,waspily,waspish,waspy,wassail,wassie,wast,wastage,waste,wasted,wastel,waster,wasting,wastrel,wasty,wat,watap,watch,watched,watcher,water,watered,waterer,waterie,watery,wath,watt,wattage,wattape,wattle,wattled,wattman,wauble,wauch,wauchle,waucht,wauf,waugh,waughy,wauken,waukit,waul,waumle,wauner,wauns,waup,waur,wauve,wavable,wavably,wave,waved,wavelet,waver,waverer,wavery,waveson,wavey,wavicle,wavily,waving,wavy,waw,wawa,wawah,wax,waxbill,waxbird,waxbush,waxen,waxer,waxily,waxing,waxlike,waxman,waxweed,waxwing,waxwork,waxy,way,wayaka,wayang,wayback,waybill,waybird,waybook,waybung,wayfare,waygang,waygate,waygone,waying,waylaid,waylay,wayless,wayman,waymark,waymate,waypost,ways,wayside,wayward,waywode,wayworn,waywort,we,weak,weaken,weakish,weakly,weaky,weal,weald,wealth,wealthy,weam,wean,weanel,weaner,weanyer,weapon,wear,wearer,wearied,wearier,wearily,wearing,wearish,weary,weasand,weasel,weaser,weason,weather,weave,weaved,weaver,weaving,weazen,weazeny,web,webbed,webber,webbing,webby,weber,webeye,webfoot,webless,weblike,webster,webwork,webworm,wecht,wed,wedana,wedbed,wedded,wedder,wedding,wede,wedge,wedged,wedger,wedging,wedgy,wedlock,wedset,wee,weeble,weed,weeda,weedage,weeded,weeder,weedery,weedful,weedish,weedow,weedy,week,weekday,weekend,weekly,weekwam,weel,weemen,ween,weeness,weening,weenong,weeny,weep,weeper,weepful,weeping,weeps,weepy,weesh,weeshy,weet,weever,weevil,weevily,weewow,weeze,weft,weftage,wefted,wefty,weigh,weighed,weigher,weighin,weight,weighty,weir,weird,weirdly,weiring,weism,wejack,weka,wekau,wekeen,weki,welcome,weld,welder,welding,weldor,welfare,welk,welkin,well,wellat,welling,wellish,wellman,welly,wels,welsh,welsher,welsium,welt,welted,welter,welting,wem,wemless,wen,wench,wencher,wend,wende,wene,wennish,wenny,went,wenzel,wept,wer,were,werefox,werent,werf,wergil,weri,wert,wervel,wese,weskit,west,weste,wester,western,westing,westy,wet,weta,wetback,wetbird,wetched,wetchet,wether,wetly,wetness,wetted,wetter,wetting,wettish,weve,wevet,wey,wha,whabby,whack,whacker,whacky,whale,whaler,whalery,whaling,whalish,whally,whalm,whalp,whaly,wham,whamble,whame,whammle,whamp,whampee,whample,whan,whand,whang,whangam,whangee,whank,whap,whappet,whapuka,whapuku,whar,whare,whareer,wharf,wharl,wharp,wharry,whart,wharve,whase,whasle,what,whata,whatkin,whatna,whatnot,whats,whatso,whatten,whau,whauk,whaup,whaur,whauve,wheal,whealy,wheam,wheat,wheaten,wheaty,whedder,whee,wheedle,wheel,wheeled,wheeler,wheely,wheem,wheen,wheenge,wheep,wheeple,wheer,wheesht,wheetle,wheeze,wheezer,wheezle,wheezy,wheft,whein,whekau,wheki,whelk,whelked,whelker,whelky,whelm,whelp,whelve,whemmel,when,whenas,whence,wheneer,whenso,where,whereas,whereat,whereby,whereer,wherein,whereof,whereon,whereso,whereto,whereup,wherret,wherrit,wherry,whet,whether,whetile,whetter,whew,whewer,whewl,whewt,whey,wheyey,wheyish,whiba,which,whick,whicken,whicker,whid,whidah,whidder,whiff,whiffer,whiffet,whiffle,whiffy,whift,whig,while,whileen,whilere,whiles,whilie,whilk,whill,whilly,whilock,whilom,whils,whilst,whilter,whim,whimble,whimmy,whimper,whimsey,whimsic,whin,whincow,whindle,whine,whiner,whing,whinge,whinger,whinnel,whinner,whinny,whiny,whip,whipcat,whipman,whippa,whipped,whipper,whippet,whippy,whipsaw,whipt,whir,whirken,whirl,whirled,whirler,whirley,whirly,whirret,whirrey,whirroo,whirry,whirtle,whish,whisk,whisker,whiskey,whisky,whisp,whisper,whissle,whist,whister,whistle,whistly,whit,white,whited,whitely,whiten,whites,whither,whiting,whitish,whitlow,whits,whittaw,whitten,whitter,whittle,whity,whiz,whizgig,whizzer,whizzle,who,whoa,whoever,whole,wholly,whom,whomble,whomso,whone,whoo,whoof,whoop,whoopee,whooper,whoops,whoosh,whop,whopper,whorage,whore,whorish,whorl,whorled,whorly,whort,whortle,whose,whosen,whud,whuff,whuffle,whulk,whulter,whummle,whun,whup,whush,whuskie,whussle,whute,whuther,whutter,whuz,why,whyever,whyfor,whyness,whyo,wi,wice,wicht,wichtje,wick,wicked,wicken,wicker,wicket,wicking,wickiup,wickup,wicky,wicopy,wid,widbin,widder,widdle,widdy,wide,widegab,widely,widen,widener,widgeon,widish,widow,widowed,widower,widowly,widowy,width,widu,wield,wielder,wieldy,wiener,wienie,wife,wifedom,wifeism,wifekin,wifelet,wifely,wifie,wifish,wifock,wig,wigan,wigdom,wigful,wigged,wiggen,wigger,wiggery,wigging,wiggish,wiggism,wiggle,wiggler,wiggly,wiggy,wight,wightly,wigless,wiglet,wiglike,wigtail,wigwag,wigwam,wiikite,wild,wildcat,wilded,wilder,wilding,wildish,wildly,wile,wileful,wilga,wilgers,wilily,wilk,wilkin,will,willawa,willed,willer,willet,willey,willful,willie,willier,willies,willing,willock,willow,willowy,willy,willyer,wilsome,wilt,wilter,wily,wim,wimble,wimbrel,wime,wimick,wimple,win,wince,wincer,wincey,winch,wincher,wincing,wind,windage,windbag,winddog,winded,winder,windigo,windily,winding,windle,windles,windlin,windock,windore,window,windowy,windrow,windup,windway,windy,wine,wined,winemay,winepot,winer,winery,winesop,winevat,winful,wing,wingcut,winged,winger,wingle,winglet,wingman,wingy,winish,wink,winkel,winker,winking,winkle,winklet,winly,winna,winnard,winnel,winner,winning,winnle,winnow,winrace,winrow,winsome,wint,winter,wintle,wintry,winy,winze,wipe,wiper,wippen,wips,wir,wirable,wirble,wird,wire,wirebar,wired,wireman,wirer,wireway,wirily,wiring,wirl,wirling,wirr,wirra,wirrah,wiry,wis,wisdom,wise,wisely,wiseman,wisen,wisent,wiser,wish,wisha,wished,wisher,wishful,wishing,wishly,wishmay,wisht,wisket,wisp,wispish,wispy,wiss,wisse,wissel,wist,wiste,wistful,wistit,wistiti,wit,witan,witch,witched,witchen,witchet,witchy,wite,witess,witful,with,withal,withe,withen,wither,withers,withery,within,without,withy,witjar,witless,witlet,witling,witloof,witness,witney,witship,wittal,witted,witter,wittily,witting,wittol,witty,witwall,wive,wiver,wivern,wiz,wizard,wizen,wizened,wizier,wizzen,wloka,wo,woad,woader,woadman,woady,woak,woald,woan,wob,wobble,wobbler,wobbly,wobster,wod,woddie,wode,wodge,wodgy,woe,woeful,woesome,woevine,woeworn,woffler,woft,wog,wogiet,woibe,wokas,woke,wokowi,wold,woldy,wolf,wolfdom,wolfen,wolfer,wolfish,wolfkin,wolfram,wollop,wolter,wolve,wolver,woman,womanly,womb,wombat,wombed,womble,womby,womera,won,wonder,wone,wonegan,wong,wonga,wongen,wongshy,wongsky,woning,wonky,wonna,wonned,wonner,wonning,wonnot,wont,wonted,wonting,woo,wooable,wood,woodbin,woodcut,wooded,wooden,woodeny,woodine,wooding,woodish,woodlet,woodly,woodman,woodrow,woodsy,woodwax,woody,wooer,woof,woofed,woofell,woofer,woofy,woohoo,wooing,wool,woold,woolder,wooled,woolen,wooler,woolert,woolly,woolman,woolsey,woom,woomer,woon,woons,woorali,woorari,woosh,wootz,woozle,woozy,wop,woppish,wops,worble,word,wordage,worded,worder,wordily,wording,wordish,wordle,wordman,wordy,wore,work,workbag,workbox,workday,worked,worker,working,workman,workout,workpan,works,worky,world,worlded,worldly,worldy,worm,wormed,wormer,wormil,worming,wormy,worn,wornil,worral,worried,worrier,worrit,worry,worse,worsen,worser,worset,worship,worst,worsted,wort,worth,worthy,wosbird,wot,wote,wots,wottest,wotteth,woubit,wouch,wouf,wough,would,wouldnt,wouldst,wound,wounded,wounder,wounds,woundy,wourali,wourari,wournil,wove,woven,wow,wowser,wowsery,wowt,woy,wrack,wracker,wraggle,wraith,wraithe,wraithy,wraitly,wramp,wran,wrang,wrangle,wranny,wrap,wrapped,wrapper,wrasse,wrastle,wrath,wrathy,wraw,wrawl,wrawler,wraxle,wreak,wreat,wreath,wreathe,wreathy,wreck,wrecker,wrecky,wren,wrench,wrenlet,wrest,wrester,wrestle,wretch,wricht,wrick,wride,wried,wrier,wriest,wrig,wriggle,wriggly,wright,wring,wringer,wrinkle,wrinkly,wrist,wristed,wrister,writ,write,writee,writer,writh,writhe,writhed,writhen,writher,writhy,writing,written,writter,wrive,wro,wrocht,wroke,wroken,wrong,wronged,wronger,wrongly,wrossle,wrote,wroth,wrothly,wrothy,wrought,wrox,wrung,wry,wrybill,wryly,wryneck,wryness,wrytail,wud,wuddie,wudge,wudu,wugg,wulk,wull,wullcat,wulliwa,wumble,wumman,wummel,wun,wungee,wunna,wunner,wunsome,wup,wur,wurley,wurmal,wurrus,wurset,wurzel,wush,wusp,wuss,wusser,wust,wut,wuther,wuzu,wuzzer,wuzzle,wuzzy,wy,wyde,wye,wyke,wyle,wymote,wyn,wynd,wyne,wynn,wype,wyson,wyss,wyve,wyver,x,xanthic,xanthin,xanthyl,xarque,xebec,xenia,xenial,xenian,xenium,xenon,xenyl,xerafin,xerarch,xerasia,xeric,xeriff,xerogel,xeroma,xeronic,xerosis,xerotes,xerotic,xi,xiphias,xiphiid,xiphoid,xoana,xoanon,xurel,xyla,xylan,xylate,xylem,xylene,xylenol,xylenyl,xyletic,xylic,xylidic,xylinid,xylite,xylitol,xylogen,xyloid,xylol,xyloma,xylon,xylonic,xylose,xyloyl,xylyl,xylylic,xyphoid,xyrid,xyst,xyster,xysti,xystos,xystum,xystus,y,ya,yaba,yabber,yabbi,yabble,yabby,yabu,yacal,yacca,yachan,yacht,yachter,yachty,yad,yade,yaff,yaffle,yagger,yagi,yagua,yaguaza,yah,yahan,yahoo,yair,yaird,yaje,yajeine,yak,yakalo,yakamik,yakin,yakka,yakman,yalb,yale,yali,yalla,yallaer,yallow,yam,yamamai,yamanai,yamen,yamilke,yammer,yamp,yampa,yamph,yamshik,yan,yander,yang,yangtao,yank,yanking,yanky,yaoort,yaourti,yap,yapa,yaply,yapness,yapok,yapp,yapped,yapper,yapping,yappish,yappy,yapster,yar,yarak,yaray,yarb,yard,yardage,yardang,yardarm,yarder,yardful,yarding,yardman,yare,yareta,yark,yarke,yarl,yarly,yarm,yarn,yarnen,yarner,yarpha,yarr,yarran,yarrow,yarth,yarthen,yarwhip,yas,yashiro,yashmak,yat,yate,yati,yatter,yaud,yauld,yaupon,yautia,yava,yaw,yawl,yawler,yawn,yawner,yawney,yawnful,yawnily,yawning,yawnups,yawny,yawp,yawper,yawroot,yaws,yawweed,yawy,yaxche,yaya,ycie,yday,ye,yea,yeah,yealing,yean,year,yeara,yeard,yearday,yearful,yearly,yearn,yearock,yearth,yeast,yeasty,yeat,yeather,yed,yede,yee,yeel,yees,yegg,yeggman,yeguita,yeld,yeldrin,yelk,yell,yeller,yelling,yelloch,yellow,yellows,yellowy,yelm,yelmer,yelp,yelper,yelt,yen,yender,yeni,yenite,yeo,yeoman,yep,yer,yerb,yerba,yercum,yerd,yere,yerga,yerk,yern,yerth,yes,yese,yeso,yesso,yest,yester,yestern,yesty,yet,yeta,yetapa,yeth,yether,yetlin,yeuk,yeuky,yeven,yew,yex,yez,yezzy,ygapo,yield,yielden,yielder,yieldy,yigh,yill,yilt,yin,yince,yinst,yip,yird,yirk,yirm,yirn,yirr,yirth,yis,yite,ym,yn,ynambu,yo,yobi,yocco,yochel,yock,yockel,yodel,yodeler,yodh,yoe,yoga,yogh,yoghurt,yogi,yogin,yogism,yogist,yogoite,yohimbe,yohimbi,yoi,yoick,yoicks,yojan,yojana,yok,yoke,yokeage,yokel,yokelry,yoker,yoking,yoky,yolden,yolk,yolked,yolky,yom,yomer,yon,yond,yonder,yonner,yonside,yont,yook,yoop,yor,yore,york,yorker,yot,yote,you,youd,youden,youdith,youff,youl,young,younger,youngly,youngun,younker,youp,your,yourn,yours,yoursel,youse,youth,youthen,youthy,youve,youward,youze,yoven,yow,yowie,yowl,yowler,yowley,yowt,yox,yoy,yperite,yr,yttria,yttric,yttrium,yuan,yuca,yucca,yuck,yuckel,yucker,yuckle,yucky,yuft,yugada,yuh,yukkel,yulan,yule,yummy,yungan,yurt,yurta,yus,yusdrum,yutu,yuzlik,yuzluk,z,za,zabeta,zabra,zabti,zabtie,zac,zacate,zacaton,zachun,zad,zadruga,zaffar,zaffer,zafree,zag,zagged,zain,zak,zakkeu,zaman,zamang,zamarra,zamarro,zambo,zamorin,zamouse,zander,zanella,zant,zante,zany,zanyish,zanyism,zanze,zapas,zaphara,zapota,zaptiah,zaptieh,zapupe,zaqqum,zar,zareba,zarf,zarnich,zarp,zat,zati,zattare,zax,zayat,zayin,zeal,zealful,zealot,zealous,zebra,zebraic,zebrass,zebrine,zebroid,zebrula,zebrule,zebu,zebub,zeburro,zechin,zed,zedoary,zee,zeed,zehner,zein,zeism,zeist,zel,zelator,zemeism,zemi,zemmi,zemni,zemstvo,zenana,zendik,zenick,zenith,zenu,zeolite,zephyr,zephyry,zequin,zer,zerda,zero,zeroize,zest,zestful,zesty,zeta,zetetic,zeugma,ziamet,ziara,ziarat,zibet,zibetum,ziega,zieger,ziffs,zig,ziganka,zigzag,zihar,zikurat,zillah,zimarra,zimb,zimbi,zimme,zimmi,zimmis,zimocca,zinc,zincate,zincic,zincide,zincify,zincing,zincite,zincize,zincke,zincky,zinco,zincous,zincum,zing,zingel,zink,zinsang,zip,ziphian,zipper,zipping,zippy,zira,zirai,zircite,zircon,zither,zizz,zloty,zo,zoa,zoacum,zoaria,zoarial,zoarium,zobo,zocco,zoccolo,zodiac,zoea,zoeal,zoeform,zoetic,zogan,zogo,zoic,zoid,zoisite,zoism,zoist,zoistic,zokor,zoll,zolle,zombi,zombie,zonal,zonally,zonar,zonary,zonate,zonated,zone,zoned,zonelet,zonic,zoning,zonite,zonitid,zonoid,zonular,zonule,zonulet,zonure,zonurid,zoo,zoocarp,zoocyst,zooecia,zoogamy,zoogene,zoogeny,zoogony,zooid,zooidal,zooks,zoolite,zoolith,zoology,zoom,zoon,zoonal,zoonic,zoonist,zoonite,zoonomy,zoons,zoonule,zoopery,zoopsia,zoosis,zootaxy,zooter,zootic,zootomy,zootype,zoozoo,zorgite,zoril,zorilla,zorillo,zorro,zoster,zounds,zowie,zudda,zuisin,zumatic,zunyite,zuza,zwitter,zyga,zygal,zygion,zygite,zygoma,zygon,zygose,zygosis,zygote,zygotic,zygous,zymase,zyme,zymic,zymin,zymite,zymogen,zymoid,zymome,zymomin,zymosis,zymotic,zymurgy,zythem,zythum" diff --git a/benchmarks/benchmarks/bench_transaction.py b/benchmarks/benchmarks/bench_transaction.py index 4eb2aaff6dae10b4a7b1191ad9999a2be17f3f58..0a56877ea97f2b3baee46fefaed1ff5842498418 100644 --- a/benchmarks/benchmarks/bench_transaction.py +++ b/benchmarks/benchmarks/bench_transaction.py @@ -25,7 +25,7 @@ from beembase.operationids import getOperationNameForId from beemgraphenebase.py23 import py23_bytes, bytes_types from beem.amount import Amount from beem.asset import Asset -from beem.steem import Steem +from beem.hive import Hive class Benchmark(object): goal_time = 2 @@ -33,13 +33,13 @@ class Benchmark(object): class Transaction(Benchmark): def setup(self): - self.prefix = u"STEEM" + self.prefix = u"HIVE" self.default_prefix = u"STM" self.wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" self.ref_block_num = 34294 self.ref_block_prefix = 3707022213 self.expiration = "2016-04-06T08:29:27" - self.stm = Steem( + self.stm = Hive( offline=True ) @@ -61,7 +61,7 @@ class Transaction(Benchmark): self.op = operations.Transfer(**{ "from": "foo", "to": "baar", - "amount": Amount("111.110 STEEM", steem_instance=self.stm), + "amount": Amount("111.110 HIVE", hive_instance=self.stm), "memo": "Fooo", "prefix": self.default_prefix }) @@ -73,7 +73,7 @@ class Transaction(Benchmark): 'creator': 'xeroc', 'fee': - '10.000 STEEM', + '10.000 HIVE', 'json_metadata': '', 'memo_key': @@ -128,7 +128,7 @@ class Transaction(Benchmark): self.op = operations.Transfer_to_vesting(**{ "from": "foo", "to": "baar", - "amount": "111.110 STEEM", + "amount": "111.110 HIVE", "prefix": self.default_prefix }) @@ -177,7 +177,7 @@ class Transaction(Benchmark): **{ "from": "testuser", "to": "testuser", - "amount": "1.000 STEEM", + "amount": "1.000 HIVE", "memo": "testmemo", "prefix": self.default_prefix }) @@ -190,7 +190,7 @@ class Transaction(Benchmark): "from": "testuser", "request_id": 9001, "to": "testser", - "amount": "100.000 SBD", + "amount": "100.000 HBD", "memo": "memohere", "prefix": self.default_prefix }) @@ -212,8 +212,8 @@ class Transaction(Benchmark): **{ "owner": "", "orderid": 0, - "amount_to_sell": "0.000 STEEM", - "min_to_receive": "0.000 STEEM", + "amount_to_sell": "0.000 HIVE", + "min_to_receive": "0.000 HIVE", "fill_or_kill": False, "expiration": "2016-12-31T23:59:59", "prefix": self.default_prefix @@ -296,7 +296,7 @@ class Transaction(Benchmark): self.op = operations.Convert(**{ "owner": "xeroc", "requestid": 2342343235, - "amount": "100.000 SBD", + "amount": "100.000 HBD", "prefix": self.default_prefix }) @@ -322,8 +322,8 @@ class Transaction(Benchmark): **{ "publisher": "xeroc", "exchange_rate": { - "base": "1.000 SBD", - "quote": "4.123 STEEM" + "base": "1.000 HBD", + "quote": "4.123 HIVE" }, "prefix": self.default_prefix }) @@ -350,12 +350,12 @@ class Transaction(Benchmark): "block_signing_key": "STM6zLNtyFVToBsBZDsgMhgjpwysYVbsQD6YhP3kRkQhANUB4w7Qp", "props": { - "account_creation_fee": "10.000 STEEM", + "account_creation_fee": "10.000 HIVE", "maximum_block_size": 1111111, - "sbd_interest_rate": 1000 + "hbd_interest_rate": 1000 }, "fee": - "10.000 STEEM", + "10.000 HIVE", "prefix": self.default_prefix }) @@ -400,8 +400,8 @@ class Transaction(Benchmark): "permlink": "piston", "max_accepted_payout": - "1000000.000 SBD", - "percent_steem_dollars": + "1000000.000 HBD", + "percent_hive_dollars": 10000, "allow_votes": True, diff --git a/docs/apidefinitions.rst b/docs/apidefinitions.rst index 756925203426c8fc8d9a0cc4120f623f9e93e8a4..a024655afdbb1c20f48f6cf2eb7bc6c392c1a36a 100644 --- a/docs/apidefinitions.rst +++ b/docs/apidefinitions.rst @@ -50,7 +50,7 @@ get_account_history .. code-block:: python from beem.account import Account - acc = Account("steemit") + acc = Account("hiveit") for h in acc.get_account_history(1,0): print(h) @@ -145,8 +145,8 @@ get_chain_properties .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_chain_properties()) get_comment_discussions_by_payout @@ -164,8 +164,8 @@ get_config .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_config()) get_content @@ -207,8 +207,8 @@ get_current_median_history_price .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_current_median_history()) @@ -267,7 +267,7 @@ get_discussions_by_comments .. code-block:: python from beem.discussions import Query, Discussions_by_comments - q = Query(limit=10, start_author="steemit", start_permlink="firstpost") + q = Query(limit=10, start_author="hiveit", start_permlink="firstpost") for h in Discussions_by_comments(q): print(h) @@ -287,7 +287,7 @@ get_discussions_by_feed .. code-block:: python from beem.discussions import Query, Discussions_by_feed - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_feed(q): print(h) @@ -297,7 +297,7 @@ get_discussions_by_hot .. code-block:: python from beem.discussions import Query, Discussions_by_hot - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_hot(q): print(h) @@ -307,7 +307,7 @@ get_discussions_by_promoted .. code-block:: python from beem.discussions import Query, Discussions_by_promoted - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_promoted(q): print(h) @@ -317,7 +317,7 @@ get_discussions_by_trending .. code-block:: python from beem.discussions import Query, Discussions_by_trending - q = Query(limit=10, tag="steem") + q = Query(limit=10, tag="hive") for h in Discussions_by_trending(q): print(h) @@ -336,8 +336,8 @@ get_dynamic_global_properties .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_dynamic_global_properties()) get_escrow @@ -383,8 +383,8 @@ get_feed_history .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_feed_history()) get_follow_count @@ -421,8 +421,8 @@ get_hardfork_version .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_hardfork_properties()["hf_version"]) get_key_references @@ -461,8 +461,8 @@ get_next_scheduled_hardfork .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_hardfork_properties()) get_open_orders @@ -563,7 +563,7 @@ get_replies_by_last_update .. code-block:: python from beem.discussions import Query, Replies_by_last_update - q = Query(limit=10, start_author="steemit", start_permlink="firstpost") + q = Query(limit=10, start_author="hiveit", start_permlink="firstpost") for h in Replies_by_last_update(q): print(h) @@ -585,8 +585,8 @@ get_reward_fund .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_reward_funds()) get_savings_withdraw_from @@ -670,7 +670,7 @@ get_trending_tags .. code-block:: python from beem.discussions import Query, Trending_tags - q = Query(limit=10, start_tag="steemit") + q = Query(limit=10, start_tag="hiveit") for h in Trending_tags(q): print(h) @@ -729,8 +729,8 @@ get_witness_schedule .. code-block:: python - from beem import Steem - stm = Steem() + from beem import Hive + stm = Hive() print(stm.get_witness_schedule()) get_witnesses diff --git a/docs/beem.steem.rst b/docs/beem.hive.rst similarity index 63% rename from docs/beem.steem.rst rename to docs/beem.hive.rst index 95013ba71265d688a90666fb9591303bb28a688c..05a181fa9a00b5855fc2498b2a266bdc70e0cb83 100644 --- a/docs/beem.steem.rst +++ b/docs/beem.hive.rst @@ -1,7 +1,7 @@ -beem\.steem +beem\.hive =========== -.. automodule:: beem.steem +.. automodule:: beem.hive :members: :undoc-members: :show-inheritance: \ No newline at end of file diff --git a/docs/beem.steemconnect.rst b/docs/beem.hiveconnect.rst similarity index 59% rename from docs/beem.steemconnect.rst rename to docs/beem.hiveconnect.rst index e276089dcf18ad9f49fecc01f07b8c7247859094..ecb3a225d56a14a84625db918daa17724c59e473 100644 --- a/docs/beem.steemconnect.rst +++ b/docs/beem.hiveconnect.rst @@ -1,7 +1,7 @@ -beem\.steemconnect +beem\.hiveconnect ================== -.. automodule:: beem.steemconnect +.. automodule:: beem.hiveconnect :members: :undoc-members: :show-inheritance: diff --git a/docs/beemapi.steemnoderpc.rst b/docs/beemapi.hivenoderpc.rst similarity index 57% rename from docs/beemapi.steemnoderpc.rst rename to docs/beemapi.hivenoderpc.rst index 3ebaf862231420ed88c90a0523c1d7e07eff5dca..36e58c0ab10bb8bfcaf4cb015398c8ae8da8415a 100644 --- a/docs/beemapi.steemnoderpc.rst +++ b/docs/beemapi.hivenoderpc.rst @@ -1,7 +1,7 @@ -beemapi\.steemnoderpc +beemapi\.hivenoderpc ===================== -.. automodule:: beemapi.steemnoderpc +.. automodule:: beemapi.hivenoderpc :members: :undoc-members: :show-inheritance: diff --git a/docs/beemapi.websocket.rst b/docs/beemapi.websocket.rst index 75f31fe4b060de1e1e50b35eb3e676df0458f473..3eb3d02de9a4201e7703367cae7be4e67ef0bda4 100644 --- a/docs/beemapi.websocket.rst +++ b/docs/beemapi.websocket.rst @@ -1,16 +1,16 @@ beemapi\.websocket ================== -This class allows subscribe to push notifications from the Steem +This class allows subscribe to push notifications from the Hive node. .. code-block:: python from pprint import pprint - from beemapi.websocket import SteemWebsocket + from beemapi.websocket import HiveWebsocket - ws = SteemWebsocket( - "wss://gtg.steem.house:8090", + ws = HiveWebsocket( + "wss://gtg.hive.house:8090", accounts=["test"], on_block=print, ) @@ -18,7 +18,7 @@ node. ws.run_forever() -.. autoclass:: beemapi.websocket.SteemWebsocket +.. autoclass:: beemapi.websocket.HiveWebsocket :members: :undoc-members: :private-members: diff --git a/docs/cli.rst b/docs/cli.rst index a1dc6ad542c8f423294b1e21e094bbdfa7c6dec6..91a9e494de57634f4c931e251a918f1387ffcab6 100644 --- a/docs/cli.rst +++ b/docs/cli.rst @@ -18,17 +18,17 @@ You can change the password via `changewalletpassphrase` command. From this point on, every time an action requires your private keys, you will be prompted ot enter -this password (from CLI as well as while using `steem` library). +this password (from CLI as well as while using `hive` library). To bypass password entry, you can set an environment variable ``UNLOCK``. :: - UNLOCK=mysecretpassword beempy transfer <recipient_name> 100 STEEM + UNLOCK=mysecretpassword beempy transfer <recipient_name> 100 HIVE Common Commands --------------- -First, you may like to import your Steem account: +First, you may like to import your Hive account: :: @@ -57,19 +57,19 @@ Sending funds: :: - beempy transfer --account <account_name> <recipient_name> 100 STEEM memo + beempy transfer --account <account_name> <recipient_name> 100 HIVE memo Upvoting a post: :: - beempy upvote --account <account_name> https://steemit.com/funny/@mynameisbrian/the-content-stand-a-comic + beempy upvote --account <account_name> https://hiveit.com/funny/@mynameisbrian/the-content-stand-a-comic Setting Defaults ---------------- For a more convenient use of ``beempy`` as well as the ``beem`` library, you can set some defaults. -This is especially useful if you have a single Steem account. +This is especially useful if you have a single Hive account. :: @@ -88,7 +88,7 @@ If you've set up your `default_account`, you can now send funds by omitting this :: - beempy transfer <recipient_name> 100 STEEM memo + beempy transfer <recipient_name> 100 HIVE memo Commands -------- @@ -107,8 +107,8 @@ You can see all available commands with ``beempy --help`` Usage: cli.py [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]... Options: - -n, --node TEXT URL for public Steem API (e.g. - https://api.steemit.com) + -n, --node TEXT URL for public Hive API (e.g. + https://api.hiveit.com) -o, --offline Prevent connecting to network -d, --no-broadcast Do not broadcast -p, --no-wallet Do not load the wallet @@ -125,12 +125,12 @@ You can see all available commands with ``beempy --help`` approvewitness Approve a witnesses balance Shows balance broadcast broadcast a signed transaction - buy Buy STEEM or SBD from the internal market... + buy Buy HIVE or HBD from the internal market... cancel Cancel order in the internal market changewalletpassphrase Change wallet password claimreward Claim reward balances By default, this will... config Shows local configuration - convert Convert STEEMDollars to Steem (takes a week... + convert Convert HIVEDollars to Hive (takes a week... createwallet Create new wallet with a new password currentnode Sets the currently working node at the first... delkey Delete key from the wallet PUB is the public... @@ -159,16 +159,16 @@ You can see all available commands with ``beempy --help`` power Shows vote power and bandwidth powerdown Power down (start withdrawing VESTS from... powerdownroute Setup a powerdown route - powerup Power up (vest STEEM as STEEM POWER) + powerup Power up (vest HIVE as HIVE POWER) pricehistory Show price history - resteem Resteem an existing post - sell Sell STEEM or SBD from the internal market... + rehive Rehive an existing post + sell Sell HIVE or HBD from the internal market... set Set default_account, default_vote_weight or... setprofile Set a variable in an account's profile sign Sign a provided transaction with available... ticker Show ticker tradehistory Show price history - transfer Transfer SBD/STEEM + transfer Transfer HBD/HIVE unfollow Unfollow/Unmute another account updatememokey Update an account's memo key upvote Upvote a post/comment POST is... diff --git a/docs/conf.py b/docs/conf.py index 8cf780d7b85b548821bdacbf12ca5e516f4b4265..6723df8c1eef057b9e3b798f400850e1f4241fa7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -269,7 +269,7 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'beem', 'beem Documentation', - author, 'beem', 'python library for steem', + author, 'beem', 'python library for hive', 'Miscellaneous'), ] diff --git a/docs/configuration.rst b/docs/configuration.rst index 01bb2a8003f36f85d0d0aeb31c0d4f484544ce5a..79c640d6d05a7b9c61c403f0e2764f73ac6c81b4 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -2,7 +2,7 @@ Configuration ************* -The pysteem library comes with its own local configuration database +The pyhive library comes with its own local configuration database that stores information like * API node URLs @@ -17,13 +17,13 @@ You can access those variables like a regular dictionary by using .. code-block:: python - from beem import Steem - steem = Steem() - print(steem.config.items()) + from beem import Hive + hive = Hive() + print(hive.config.items()) Keys can be added and changed like they are for regular dictionaries. -If you don't want to load the :class:`beem.steem.Steem` class, you +If you don't want to load the :class:`beem.hive.Hive` class, you can load the configuration directly by using: .. code-block:: python @@ -39,26 +39,26 @@ It is also possible to access the configuration with the commandline tool `beemp API node URLs ------------- -The default node URLs which will be used when `node` is `None` in :class:`beem.steem.Steem` class +The default node URLs which will be used when `node` is `None` in :class:`beem.hive.Hive` class is stored in `config["nodes"]` as string. The list can be get and set by: .. code-block:: python - from beem import Steem - steem = Steem() - node_list = steem.get_default_nodes() + from beem import Hive + hive = Hive() + node_list = hive.get_default_nodes() node_list = node_list[1:] + [node_list[0]] - steem.set_default_nodes(node_list) + hive.set_default_nodes(node_list) beempy can also be used to set nodes: .. code-block:: bash - beempy set nodes wss://steemd.privex.io - beempy set nodes "['wss://steemd.privex.io', 'wss://gtg.steem.house:8090']" + beempy set nodes wss://hived.privex.io + beempy set nodes "['wss://hived.privex.io', 'wss://gtg.hive.house:8090']" The default nodes can be reset to the default value. When the first node does not -answer, steem should be set to the offline mode. This can be done by: +answer, hive should be set to the offline mode. This can be done by: .. code-block:: bash @@ -68,9 +68,9 @@ or .. code-block:: python - from beem import Steem - steem = Steem(offline=True) - steem.set_default_nodes("") + from beem import Hive + hive = Hive(offline=True) + hive.set_default_nodes("") Default account --------------- @@ -80,10 +80,10 @@ It is also used in `beempy` for all account related functions. .. code-block:: python - from beem import Steem - steem = Steem() - steem.set_default_account("test") - steem.config["default_account"] = "test" + from beem import Hive + hive = Hive() + hive.set_default_account("test") + hive.config["default_account"] = "test" or by beempy with @@ -98,9 +98,9 @@ The default vote weight is used for voting, when no vote weight is given. .. code-block:: python - from beem import Steem - steem = Steem() - steem.config["default_vote_weight"] = 100 + from beem import Hive + hive = Hive() + hive.config["default_vote_weight"] = 100 or by beempy with @@ -161,9 +161,9 @@ Testing if the master password is correctly provided by keyring or the `UNLOCK` .. code-block:: python - from beem import Steem - steem = Steem() - print(steem.wallet.locked()) + from beem import Hive + hive = Hive() + print(hive.wallet.locked()) When the output is False, automatic unlocking with keyring or the `UNLOCK` variable works. It can also tested by beempy with diff --git a/docs/index.rst b/docs/index.rst index 3b4ba38344392fbf3e366b94a0d18a56f548c242..f468a5d85c92706bce97c8a977a44c45c84ce4ce 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,4 +1,4 @@ -.. python-steem documentation master file, created by +.. python-hive documentation master file, created by sphinx-quickstart on Fri Jun 5 14:06:38 2015. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. @@ -17,18 +17,18 @@ Welcome to beem's documentation! ================================ -Steem is a blockchain-based rewards platform for publishers to monetize +Hive is a blockchain-based rewards platform for publishers to monetize content and grow community. It is based on *Graphene* (tm), a blockchain technology stack (i.e. software) that allows for fast transactions and ascalable blockchain -solution. In case of Steem, it comes with decentralized publishing of +solution. In case of Hive, it comes with decentralized publishing of content. The beem library has been designed to allow developers to easily access its routines and make use of the network without dealing with all the related blockchain technology and cryptography. This library can be -used to do anything that is allowed according to the Steem +used to do anything that is allowed according to the Hive blockchain protocol. @@ -36,7 +36,7 @@ About this Library ------------------ The purpose of *beem* is to simplify development of products and -services that use the Steem blockchain. It comes with +services that use the Hive blockchain. It comes with * its own (bip32-encrypted) wallet * RPC interface for the Blockchain backend @@ -63,10 +63,10 @@ Quickstart .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("wallet-passphrase") - account = Account("test", steem_instance=steem) + from beem import Hive + hive = Hive() + hive.wallet.unlock("wallet-passphrase") + account = Account("test", hive_instance=hive) account.transfer("<to>", "<amount>", "<asset>", "<memo>") .. code-block:: python @@ -91,8 +91,8 @@ Quickstart .. code-block:: python - from beem.steem import Steem - stm = Steem() + from beem.hive import Hive + stm = Hive() stm.wallet.wipe(True) stm.wallet.create("wallet-passphrase") stm.wallet.unlock("wallet-passphrase") @@ -102,10 +102,10 @@ Quickstart .. code-block:: python from beem.market import Market - market = Market("SBD:STEEM") + market = Market("HBD:HIVE") print(market.ticker()) - market.steem.wallet.unlock("wallet-passphrase") - print(market.sell(300, 100) # sell 100 STEEM for 300 STEEM/SBD + market.hive.wallet.unlock("wallet-passphrase") + print(market.sell(300, 100) # sell 100 HIVE for 300 HIVE/HBD General diff --git a/docs/installation.rst b/docs/installation.rst index 7db836163de13d153df2e15abd93b3bca4b5c537..92ddf755b4bc54fed145e70b2194b3755322b203 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -2,7 +2,7 @@ Installation ============ The minimal working python version is 2.7.x. or 3.4.x -beem can be installed parallel to python-steem. +beem can be installed parallel to python-hive. For Debian and Ubuntu, please ensure that the following packages are installed: diff --git a/docs/modules.rst b/docs/modules.rst index 031f9c2038a2a6c461f849d1b55457cf93a6f7ac..687ac8b96130218db7cb89db9a20883208369160 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -28,8 +28,8 @@ beem Modules beem.price beem.rc beem.snapshot - beem.steem - beem.steemconnect + beem.hive + beem.hiveconnect beem.storage beem.transactionbuilder beem.utils @@ -45,7 +45,7 @@ beemapi Modules beemapi.exceptions beemapi.graphenenerpc beemapi.node - beemapi.steemnoderpc + beemapi.hivenoderpc beemapi.websocket beembase Modules diff --git a/docs/quickstart.rst b/docs/quickstart.rst index eefdc0d5af004a779d8b0993b7c6e12570018b31..361459f0a44c0ef9933491d6c700454ddb238136 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -1,47 +1,47 @@ Quickstart ========== -Steem +Hive ----- -The steem object is the connection to the Steem blockchain. +The hive object is the connection to the Hive blockchain. By creating this object different options can be set. .. note:: All init methods of beem classes can be given - the ``steem_instance=`` parameter to assure that - all objects use the same steem object. When the - ``steem_instance=`` parameter is not used, the - steem object is taken from get_shared_steem_instance(). + the ``hive_instance=`` parameter to assure that + all objects use the same hive object. When the + ``hive_instance=`` parameter is not used, the + hive object is taken from get_shared_hive_instance(). - :func:`beem.instance.shared_steem_instance` returns a global instance of steem. - It can be set by :func:`beem.instance.set_shared_steem_instance` otherwise it is created + :func:`beem.instance.shared_hive_instance` returns a global instance of hive. + It can be set by :func:`beem.instance.set_shared_hive_instance` otherwise it is created on the first call. .. code-block:: python - from beem import Steem + from beem import Hive from beem.account import Account - stm = Steem() - account = Account("test", steem_instance=stm) + stm = Hive() + account = Account("test", hive_instance=stm) .. code-block:: python - from beem import Steem + from beem import Hive from beem.account import Account - from beem.instance import set_shared_steem_instance - stm = Steem() - set_shared_steem_instance(stm) + from beem.instance import set_shared_hive_instance + stm = Hive() + set_shared_hive_instance(stm) account = Account("test") Wallet and Keys --------------- Each account has the following keys: -* Posting key (allows accounts to post, vote, edit, resteem and follow/mute) +* Posting key (allows accounts to post, vote, edit, rehive and follow/mute) * Active key (allows accounts to transfer, power up/down, voting for witness, ...) * Memo key (Can be used to encrypt/decrypt memos) * Owner key (The most important key, should not be used with beem) -Outgoing operation, which will be stored in the steem blockchain, have to be +Outgoing operation, which will be stored in the hive blockchain, have to be signed by a private key. E.g. Comment or Vote operation need to be signed by the posting key of the author or upvoter. Private keys can be provided to beem temporary or can be stored encrypted in a sql-database (wallet). @@ -52,34 +52,34 @@ stored encrypted in a sql-database (wallet). Creating a wallet ~~~~~~~~~~~~~~~~~ -``steem.wallet.wipe(True)`` is only necessary when there was already an wallet created. +``hive.wallet.wipe(True)`` is only necessary when there was already an wallet created. .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.wipe(True) - steem.wallet.unlock("wallet-passphrase") + from beem import Hive + hive = Hive() + hive.wallet.wipe(True) + hive.wallet.unlock("wallet-passphrase") Adding keys to the wallet ~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("wallet-passphrase") - steem.wallet.addPrivateKey("xxxxxxx") - steem.wallet.addPrivateKey("xxxxxxx") + from beem import Hive + hive = Hive() + hive.wallet.unlock("wallet-passphrase") + hive.wallet.addPrivateKey("xxxxxxx") + hive.wallet.addPrivateKey("xxxxxxx") Using the keys in the wallet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("wallet-passphrase") - account = Account("test", steem_instance=steem) + from beem import Hive + hive = Hive() + hive.wallet.unlock("wallet-passphrase") + account = Account("test", hive_instance=hive) account.transfer("<to>", "<amount>", "<asset>", "<memo>") Private keys can also set temporary @@ -87,9 +87,9 @@ Private keys can also set temporary .. code-block:: python - from beem import Steem - steem = Steem(keys=["xxxxxxxxx"]) - account = Account("test", steem_instance=steem) + from beem import Hive + hive = Hive(keys=["xxxxxxxxx"]) + account = Account("test", hive_instance=hive) account.transfer("<to>", "<amount>", "<asset>", "<memo>") Receiving information about blocks, accounts, votes, comments, market and witness @@ -149,7 +149,7 @@ Access the market .. code-block:: python from beem.market import Market - market = Market("SBD:STEEM") + market = Market("HBD:HIVE") print(market.ticker()) Access a witness @@ -167,40 +167,40 @@ Sending a Transfer .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("wallet-passphrase") - account = Account("test", steem_instance=steem) - account.transfer("null", 1, "SBD", "test") + from beem import Hive + hive = Hive() + hive.wallet.unlock("wallet-passphrase") + account = Account("test", hive_instance=hive) + account.transfer("null", 1, "HBD", "test") Upvote a post .. code-block:: python from beem.comment import Comment - from beem import Steem - steem = Steem() - steem.wallet.unlock("wallet-passphrase") - comment = Comment("@gtg/ffdhu-gtg-witness-log", steem_instance=steem) + from beem import Hive + hive = Hive() + hive.wallet.unlock("wallet-passphrase") + comment = Comment("@gtg/ffdhu-gtg-witness-log", hive_instance=hive) comment.upvote(weight=10, voter="test") Publish a post to the blockchain .. code-block:: python - from beem import Steem - steem = Steem() - steem.wallet.unlock("wallet-passphrase") - steem.post("title", "body", author="test", tags=["a", "b", "c", "d", "e"], self_vote=True) + from beem import Hive + hive = Hive() + hive.wallet.unlock("wallet-passphrase") + hive.post("title", "body", author="test", tags=["a", "b", "c", "d", "e"], self_vote=True) -Sell STEEM on the market +Sell HIVE on the market .. code-block:: python from beem.market import Market - from beem import Steem - steem.wallet.unlock("wallet-passphrase") - market = Market("SBD:STEEM", steem_instance=steem) + from beem import Hive + hive.wallet.unlock("wallet-passphrase") + market = Market("HBD:HIVE", hive_instance=hive) print(market.ticker()) - market.steem.wallet.unlock("wallet-passphrase") - print(market.sell(300, 100)) # sell 100 STEEM for 300 STEEM/SBD + market.hive.wallet.unlock("wallet-passphrase") + print(market.sell(300, 100)) # sell 100 HIVE for 300 HIVE/HBD diff --git a/docs/tutorials.rst b/docs/tutorials.rst index 761ec49193db4124afe2271c5f27ef9945958e61..e42dde82e9fd1f8663ada9da209a498a4926ee31 100644 --- a/docs/tutorials.rst +++ b/docs/tutorials.rst @@ -5,7 +5,7 @@ Tutorials Bundle Many Operations ---------------------- -With Steem, you can bundle multiple operations into a single +With Hive, you can bundle multiple operations into a single transactions. This can be used to do a multi-send (one sender, multiple receivers), but it also allows to use any other kind of operation. The advantage here is that the user can be sure that the operations are @@ -17,21 +17,21 @@ one comment operation from each sender. .. code-block:: python from pprint import pprint - from beem import Steem + from beem import Hive from beem.account import Account from beem.comment import Comment - from beem.instance import set_shared_steem_instance + from beem.instance import set_shared_hive_instance # not a real working key wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" - stm = Steem( + stm = Hive( bundle=True, # Enable bundle broadcast # nobroadcast=True, # Enable this for testing keys=[wif], ) # Set stm as shared instance - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) # Account and Comment will use now stm account = Account("test") @@ -39,9 +39,9 @@ one comment operation from each sender. # Post c = Comment("@gtg/witness-gtg-log") - account.transfer("test1", 1, "STEEM") - account.transfer("test2", 1, "STEEM") - account.transfer("test3", 1, "SBD") + account.transfer("test1", 1, "HIVE") + account.transfer("test2", 1, "HIVE") + account.transfer("test3", 1, "HBD") # Upvote post with 25% c.upvote(25, voter=account) @@ -56,25 +56,25 @@ When using `nobroadcast=True` the transaction is not broadcasted but printed. .. code-block:: python from pprint import pprint - from beem import Steem + from beem import Hive from beem.account import Account - from beem.instance import set_shared_steem_instance + from beem.instance import set_shared_hive_instance # Only for testing not a real working key wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" # set nobroadcast always to True, when testing - testnet = Steem( + testnet = Hive( nobroadcast=True, # Set to false when want to go live keys=[wif], ) # Set testnet as shared instance - set_shared_steem_instance(testnet) + set_shared_hive_instance(testnet) # Account will use now testnet account = Account("test") - pprint(account.transfer("test1", 1, "STEEM")) + pprint(account.transfer("test1", 1, "HIVE")) When executing the script above, the output will be similar to the following: @@ -84,7 +84,7 @@ When executing the script above, the output will be similar to the following: {'expiration': '2018-05-01T16:16:57', 'extensions': [], 'operations': [['transfer', - {'amount': '1.000 STEEM', + {'amount': '1.000 HIVE', 'from': 'test', 'memo': '', 'to': 'test1'}]], @@ -118,7 +118,7 @@ Simple Sell Script .. code-block:: python - from beem import Steem + from beem import Hive from beem.market import Market from beem.price import Price from beem.amount import Amount @@ -127,9 +127,9 @@ Simple Sell Script wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" # - # Instantiate Steem (pick network via API node) + # Instantiate Hive (pick network via API node) # - steem = Steem( + hive = Hive( nobroadcast=True, # <<--- set this to False when you want to fire! keys=[wif] # <<--- use your real keys, when going live! ) @@ -139,16 +139,16 @@ Simple Sell Script # The first asset in the first argument is the *quote* # Sell and buy calls always refer to the *quote* # - market = Market("SBD:STEEM", - steem_instance=steem + market = Market("HBD:HIVE", + hive_instance=hive ) # # Sell an asset for a price with amount (quote) # print(market.sell( - Price(100.0, "STEEM/SBD"), - Amount("0.01 SBD") + Price(100.0, "HIVE/HBD"), + Amount("0.01 HBD") )) @@ -158,7 +158,7 @@ Sell at a timely rate .. code-block:: python import threading - from beem import Steem + from beem import Hive from beem.market import Market from beem.price import Price from beem.amount import Amount @@ -170,8 +170,8 @@ Sell at a timely rate """ Sell an asset for a price with amount (quote) """ print(market.sell( - Price(100.0, "SBD/STEEM"), - Amount("0.01 STEEM") + Price(100.0, "HBD/HIVE"), + Amount("0.01 HIVE") )) threading.Timer(60, sell).start() @@ -179,9 +179,9 @@ Sell at a timely rate if __name__ == "__main__": # - # Instantiate Steem (pick network via API node) + # Instantiate Hive (pick network via API node) # - steem = Steem( + hive = Hive( nobroadcast=True, # <<--- set this to False when you want to fire! keys=[wif] # <<--- use your real keys, when going live! ) @@ -191,8 +191,8 @@ Sell at a timely rate # The first asset in the first argument is the *quote* # Sell and buy calls always refer to the *quote* # - market = Market("STEEM:SBD", - steem_instance=steem + market = Market("HIVE:HBD", + hive_instance=hive ) sell() @@ -207,8 +207,8 @@ the complete queue is sended at once to the node. The result is a list with repl .. code-block:: python - from beem import Steem - stm = Steem("https://api.steemit.com") + from beem import Hive + stm = Hive("https://api.hiveit.com") stm.rpc.get_config(add_to_queue=True) stm.rpc.rpc_queue @@ -241,8 +241,8 @@ Lets calculate the curation reward from the last 7 days: reward_vests = Amount("0 VESTS") for reward in acc.history_reverse(stop=stop, only_ops=["curation_reward"]): reward_vests += Amount(reward['reward']) - curation_rewards_SP = acc.steem.vests_to_sp(reward_vests.amount) - print("Rewards are %.3f SP" % curation_rewards_SP) + curation_rewards_SP = acc.hive.vests_to_sp(reward_vests.amount) + print("Rewards are %.3f HP" % curation_rewards_SP) Lets display all Posts from an account: @@ -271,16 +271,16 @@ Example with one operation with and without the wallet: .. code-block:: python - from beem import Steem + from beem import Hive from beem.transactionbuilder import TransactionBuilder from beembase import operations - stm = Steem() + stm = Hive() # Uncomment the following when using a wallet: # stm.wallet.unlock("secret_password") - tx = TransactionBuilder(steem_instance=stm) + tx = TransactionBuilder(hive_instance=stm) op = operations.Transfer(**{"from": 'user_a', "to": 'user_b', - "amount": '1.000 SBD', + "amount": '1.000 HBD', "memo": 'test 2'})) tx.appendOps(op) # Comment appendWif out and uncomment appendSigner when using a stored key from the wallet @@ -293,17 +293,17 @@ Example with signing and broadcasting two operations: .. code-block:: python - from beem import Steem + from beem import Hive from beem.transactionbuilder import TransactionBuilder from beembase import operations - stm = Steem() + stm = Hive() # Uncomment the following when using a wallet: # stm.wallet.unlock("secret_password") - tx = TransactionBuilder(steem_instance=stm) + tx = TransactionBuilder(hive_instance=stm) ops = [] op = operations.Transfer(**{"from": 'user_a', "to": 'user_b', - "amount": '1.000 SBD', + "amount": '1.000 HBD', "memo": 'test 2'})) ops.append(op) op = operations.Vote(**{"voter": v, diff --git a/examples/account_curation_per_week_and_1k_sp.py b/examples/account_curation_per_week_and_1k_sp.py index 0843fb2bc90f74b6a40e521363cd8f0647e685ea..40edbdb90f1cd470928f415a5ace91c6028996eb 100644 --- a/examples/account_curation_per_week_and_1k_sp.py +++ b/examples/account_curation_per_week_and_1k_sp.py @@ -3,8 +3,8 @@ import sys import datetime as dt from beem.amount import Amount from beem.utils import parse_time, formatTimeString, addTzInfo -from beem.instance import set_shared_steem_instance -from beem import Steem +from beem.instance import set_shared_hive_instance +from beem import Hive from beem.snapshot import AccountSnapshot import matplotlib as mpl # mpl.use('Agg') @@ -28,12 +28,12 @@ if __name__ == "__main__": plt.figure(figsize=(12, 6)) opts = {'linestyle': '-', 'marker': '.'} - plt.plot_date(timestamps, curation_per_1000_SP, label="Curation reward per week and 1k SP", **opts) + plt.plot_date(timestamps, curation_per_1000_SP, label="Curation reward per week and 1k HP", **opts) plt.grid() plt.legend() plt.title("Curation over time - @%s" % (account)) plt.xlabel("Date") - plt.ylabel("Curation rewards (SP / (week * 1k SP))") + plt.ylabel("Curation rewards (HP / (week * 1k HP))") plt.show() # plt.savefig("curation_per_week-%s.png" % (account)) - print("last curation reward per week and 1k sp %.2f SP" % (curation_per_1000_SP[-1])) + print("last curation reward per week and 1k hp %.2f HP" % (curation_per_1000_SP[-1])) diff --git a/examples/account_rep_over_time.py b/examples/account_rep_over_time.py index 8af7d19d9925965901b1abad5b10f5cafa3c6756..e6840c61fd982dcd4711f066d72b3338505cd324 100644 --- a/examples/account_rep_over_time.py +++ b/examples/account_rep_over_time.py @@ -3,8 +3,8 @@ import sys import datetime as dt from beem.amount import Amount from beem.utils import parse_time, formatTimeString, addTzInfo -from beem.instance import set_shared_steem_instance -from beem import Steem +from beem.instance import set_shared_hive_instance +from beem import Hive from beem.snapshot import AccountSnapshot import matplotlib as mpl # mpl.use('Agg') diff --git a/examples/account_sp_over_time.py b/examples/account_sp_over_time.py index bd7108a6a231fcfc2317ed32a5612aed82bff01d..bffc08eee8a518ff2d8507b70c2550c9a7724535 100644 --- a/examples/account_sp_over_time.py +++ b/examples/account_sp_over_time.py @@ -3,8 +3,8 @@ import sys import datetime as dt from beem.amount import Amount from beem.utils import parse_time, formatTimeString, addTzInfo -from beem.instance import set_shared_steem_instance -from beem import Steem +from beem.instance import set_shared_hive_instance +from beem import Hive from beem.snapshot import AccountSnapshot import matplotlib as mpl # mpl.use('Agg') @@ -25,22 +25,22 @@ if __name__ == "__main__": # acc_snapshot.build(only_ops=["producer_reward"]) # acc_snapshot.build(only_ops=["curation_reward"]) # acc_snapshot.build(only_ops=["author_reward"]) - acc_snapshot.build_sp_arrays() + acc_snapshot.build_hp_arrays() timestamps = acc_snapshot.timestamps - own_sp = acc_snapshot.own_sp - eff_sp = acc_snapshot.eff_sp + own_hp = acc_snapshot.own_hp + eff_hp = acc_snapshot.eff_hp plt.figure(figsize=(12, 6)) opts = {'linestyle': '-', 'marker': '.'} - plt.plot_date(timestamps[1:], own_sp[1:], label="Own SP", **opts) - plt.plot_date(timestamps[1:], eff_sp[1:], label="Effective SP", **opts) + plt.plot_date(timestamps[1:], own_hp[1:], label="Own HP", **opts) + plt.plot_date(timestamps[1:], eff_hp[1:], label="Effective HP", **opts) plt.grid() plt.legend() - plt.title("SP over time - @%s" % (account)) + plt.title("HP over time - @%s" % (account)) plt.xlabel("Date") - plt.ylabel("SteemPower (SP)") + plt.ylabel("HivePower (HP)") # plt.show() - plt.savefig("sp_over_time-%s.png" % (account)) + plt.savefig("hp_over_time-%s.png" % (account)) - print("last effective SP: %.1f SP" % (eff_sp[-1])) - print("last own SP: %.1f SP" % (own_sp[-1])) + print("last effective HP: %.1f HP" % (eff_hp[-1])) + print("last own HP: %.1f HP" % (own_hp[-1])) diff --git a/examples/account_vp_over_time.py b/examples/account_vp_over_time.py index dff893b66469e20e0ca03c501e4d09ce323758c3..64c75a99e6fc41637c1e8f41c8e78f71d5e5cff1 100644 --- a/examples/account_vp_over_time.py +++ b/examples/account_vp_over_time.py @@ -3,8 +3,8 @@ import sys import datetime as dt from beem.amount import Amount from beem.utils import parse_time, formatTimeString, addTzInfo -from beem.instance import set_shared_steem_instance -from beem import Steem +from beem.instance import set_shared_hive_instance +from beem import Hive from beem.snapshot import AccountSnapshot import matplotlib as mpl # mpl.use('Agg') diff --git a/examples/accout_reputation_by_SP.py b/examples/accout_reputation_by_SP.py index 7cb22905268fd52a753558c511f92d862292f6ba..715befe289f078913f6a28de0fad47bbf116fc64 100644 --- a/examples/accout_reputation_by_SP.py +++ b/examples/accout_reputation_by_SP.py @@ -1,8 +1,8 @@ -from beem import Steem +from beem import Hive import numpy as np from beem.utils import reputation_to_score from beem.amount import Amount -from beem.constants import STEEM_100_PERCENT +from beem.constants import HIVE_100_PERCENT import matplotlib as mpl # mpl.use('Agg') # mpl.use('TkAgg') @@ -10,33 +10,33 @@ import matplotlib.pyplot as plt if __name__ == "__main__": - stm = Steem() + stm = Hive() price = Amount(stm.get_current_median_history()["base"]) reps = [0] for i in range(26, 91): reps.append(int(10**((i - 25) / 9 + 9))) # reps = np.logspace(9, 16, 60) used_power = stm._calc_resulting_vote() - last_sp = 0 - sp_list = [] + last_hp = 0 + hp_list = [] rep_score_list = [] for goal_rep in reps: score = reputation_to_score(goal_rep) rep_score_list.append(score) needed_rshares = int(goal_rep) << 6 needed_vests = needed_rshares / used_power / 100 - needed_sp = stm.vests_to_sp(needed_vests) - sp_list.append(needed_sp / 1000) - # print("| %.1f | %.2f | %.2f | " % (score, needed_sp / 1000, needed_sp / 1000 - last_sp / 1000)) - last_sp = needed_sp + needed_hp = stm.vests_to_hp(needed_vests) + hp_list.append(needed_hp / 1000) + # print("| %.1f | %.2f | %.2f | " % (score, needed_hp / 1000, needed_hp / 1000 - last_hp / 1000)) + last_hp = needed_hp plt.figure(figsize=(12, 6)) opts = {'linestyle': '-', 'marker': '.'} - plt.semilogx(sp_list, rep_score_list, label="Reputation", **opts) + plt.semilogx(hp_list, rep_score_list, label="Reputation", **opts) plt.grid() plt.legend() - plt.title("Required number of 1k SP upvotes to reach certain reputation") - plt.xlabel("1k SP votes") + plt.title("Required number of 1k HP upvotes to reach certain reputation") + plt.xlabel("1k HP votes") plt.ylabel("Reputation") plt.show() # plt.savefig("rep_based_on_votes.png") diff --git a/examples/benchmark_beem.py b/examples/benchmark_beem.py index f8244776320a3f782471d8e93421e2ab7fb44604..4627f460df68fd54ec81123f0bb67d0f77ec73a8 100644 --- a/examples/benchmark_beem.py +++ b/examples/benchmark_beem.py @@ -10,7 +10,7 @@ import logging from beem.blockchain import Blockchain from beem.block import Block -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beem.nodelist import NodeList log = logging.getLogger(__name__) @@ -22,23 +22,23 @@ if __name__ == "__main__": how_many_hours = 1 nodes = NodeList() if node_setup == 0: - stm = Steem(node=nodes.get_nodes(normal=True, wss=True), num_retries=10) + stm = Hive(node=nodes.get_nodes(normal=True, wss=True), num_retries=10) max_batch_size = None threading = False thread_num = 8 elif node_setup == 1: - stm = Steem(node=nodes.get_nodes(normal=True, wss=True), num_retries=10) + stm = Hive(node=nodes.get_nodes(normal=True, wss=True), num_retries=10) max_batch_size = None threading = True thread_num = 16 elif node_setup == 2: - stm = Steem(node=nodes.get_nodes(appbase=False, https=False), num_retries=10) + stm = Hive(node=nodes.get_nodes(appbase=False, https=False), num_retries=10) max_batch_size = None threading = True thread_num = 16 - blockchain = Blockchain(steem_instance=stm) + blockchain = Blockchain(hive_instance=stm) last_block_id = 19273700 - last_block = Block(last_block_id, steem_instance=stm) + last_block = Block(last_block_id, hive_instance=stm) startTime = datetime.now() stopTime = last_block.time() + timedelta(seconds=how_many_hours * 60 * 60) @@ -47,7 +47,7 @@ if __name__ == "__main__": total_transaction = 0 start_time = time.time() - last_node = blockchain.steem.rpc.url + last_node = blockchain.hive.rpc.url print("Current node:", last_node) for entry in blockchain.blocks(start=last_block_id, max_batch_size=max_batch_size, threading=threading, thread_num=thread_num, thread_limit=1200): block_no = entry.identifier @@ -83,8 +83,8 @@ if __name__ == "__main__": avspeed = int((last_block_id - 19273700) * 1000 / total_duration) * 1.0 / 1000 avtran = total_transaction / (last_block_id - 19273700) ltime = now - if last_node != blockchain.steem.rpc.url: - last_node = blockchain.steem.rpc.url + if last_node != blockchain.hive.rpc.url: + last_node = blockchain.hive.rpc.url print("Current node:", last_node) print("* 100 blocks processed in %.2f seconds. Speed %.2f. Avg: %.2f. Avg.Trans:" "%.2f Count: %d Block minutes: %d" % (duration, speed, avspeed, avtran, cnt, cnt * 3 / 60)) diff --git a/examples/benchmark_nodes.py b/examples/benchmark_nodes.py index 6079c10c842e0f7fd3a823f717f57e16207b1218..34454482bf7cc97c38adacec312f777bb217c5c0 100644 --- a/examples/benchmark_nodes.py +++ b/examples/benchmark_nodes.py @@ -11,7 +11,7 @@ from prettytable import PrettyTable from beem.blockchain import Blockchain from beem.account import Account from beem.block import Block -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beem.nodelist import NodeList from beemapi.exceptions import NumRetriesReached @@ -32,14 +32,14 @@ if __name__ == "__main__": for node in nodes: print("Current node:", node) try: - stm = Steem(node=node, num_retries=3) - blockchain = Blockchain(steem_instance=stm) - account = Account("gtg", steem_instance=stm) + stm = Hive(node=node, num_retries=3) + blockchain = Blockchain(hive_instance=stm) + account = Account("gtg", hive_instance=stm) virtual_op_count = account.virtual_op_count() blockchain_version = stm.get_blockchain_version() last_block_id = 19273700 - last_block = Block(last_block_id, steem_instance=stm) + last_block = Block(last_block_id, hive_instance=stm) startTime = datetime.now() stopTime = last_block.time() + timedelta(seconds=how_many_minutes * 60) @@ -48,7 +48,7 @@ if __name__ == "__main__": total_transaction = 0 start_time = time.time() - last_node = blockchain.steem.rpc.url + last_node = blockchain.hive.rpc.url for entry in blockchain.blocks(start=last_block_id, max_batch_size=max_batch_size, threading=threading, thread_num=thread_num): block_no = entry.identifier diff --git a/examples/benchmark_nodes2.py b/examples/benchmark_nodes2.py index 5efdc85afcd04b46ebd36cbe4b83c4a84f2c1468..8bdcec00e6ca92527aca4aa5d33f39fb21b4a172 100644 --- a/examples/benchmark_nodes2.py +++ b/examples/benchmark_nodes2.py @@ -12,7 +12,7 @@ from prettytable import PrettyTable from beem.blockchain import Blockchain from beem.account import Account from beem.block import Block -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta, construct_authorperm, resolve_authorperm, resolve_authorpermvoter, construct_authorpermvoter, formatTimeString from beem.comment import Comment from beem.nodelist import NodeList @@ -43,16 +43,16 @@ def benchmark_node(node, how_many_minutes=10, how_many_seconds=30): threading = False thread_num = 16 - authorpermvoter = u"@gtg/steem-pressure-4-need-for-speed|gandalf" + authorpermvoter = u"@gtg/hive-pressure-4-need-for-speed|gandalf" [author, permlink, voter] = resolve_authorpermvoter(authorpermvoter) authorperm = construct_authorperm(author, permlink) last_block_id = 19273700 try: - stm = Steem(node=node, num_retries=3, num_retries_call=3, timeout=30) - blockchain = Blockchain(steem_instance=stm) + stm = Hive(node=node, num_retries=3, num_retries_call=3, timeout=30) + blockchain = Blockchain(hive_instance=stm) blockchain_version = stm.get_blockchain_version() - last_block = Block(last_block_id, steem_instance=stm) + last_block = Block(last_block_id, hive_instance=stm) stopTime = last_block.time() + timedelta(seconds=how_many_minutes * 60) total_transaction = 0 @@ -90,8 +90,8 @@ def benchmark_node(node, how_many_minutes=10, how_many_seconds=30): block_count = -1 try: - stm = Steem(node=node, num_retries=3, num_retries_call=3, timeout=30) - account = Account("gtg", steem_instance=stm) + stm = Hive(node=node, num_retries=3, num_retries_call=3, timeout=30) + account = Account("gtg", hive_instance=stm) blockchain_version = stm.get_blockchain_version() start = timer() @@ -114,20 +114,20 @@ def benchmark_node(node, how_many_minutes=10, how_many_seconds=30): successful = False try: - stm = Steem(node=node, num_retries=3, num_retries_call=3, timeout=30) - account = Account("gtg", steem_instance=stm) + stm = Hive(node=node, num_retries=3, num_retries_call=3, timeout=30) + account = Account("gtg", hive_instance=stm) blockchain_version = stm.get_blockchain_version() start = timer() - Vote(authorpermvoter, steem_instance=stm) + Vote(authorpermvoter, hive_instance=stm) stop = timer() vote_time = stop - start start = timer() - Comment(authorperm, steem_instance=stm) + Comment(authorperm, hive_instance=stm) stop = timer() comment_time = stop - start start = timer() - Account(author, steem_instance=stm) + Account(author, hive_instance=stm) stop = timer() account_time = stop - start start = timer() @@ -200,7 +200,7 @@ if __name__ == "__main__": print("\n") print("Total benchmark time: %.2f s\n" % (timer() - benchmark_time)) if set_default_nodes: - stm = Steem(offline=True) + stm = Hive(offline=True) stm.set_default_nodes(working_nodes) else: print("beempy set nodes " + str(working_nodes)) diff --git a/examples/cache_performance.py b/examples/cache_performance.py index 126339c01359ffcb2c4eab5a35010c057b3fd0c2..f05f88f472fa6b756b5ab6b4700cafdddae745e3 100644 --- a/examples/cache_performance.py +++ b/examples/cache_performance.py @@ -10,7 +10,7 @@ import logging from beem.blockchain import Blockchain from beem.block import Block -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beem.nodelist import NodeList log = logging.getLogger(__name__) @@ -18,7 +18,7 @@ logging.basicConfig(level=logging.INFO) def stream_votes(stm, threading, thread_num): - b = Blockchain(steem_instance=stm) + b = Blockchain(hive_instance=stm) opcount = 0 start_time = time.time() for op in b.stream(start=23483000, stop=23485000, threading=threading, thread_num=thread_num, @@ -43,8 +43,8 @@ if __name__ == "__main__": vote_result = [] duration = [] - stm = Steem(node=node_list, timeout=timeout) - b = Blockchain(steem_instance=stm) + stm = Hive(node=node_list, timeout=timeout) + b = Blockchain(hive_instance=stm) block = b.get_current_block() block.set_cache_auto_clean(False) opcount, total_duration = stream_votes(stm, threading, thread_num) diff --git a/examples/compare_transactions_speed_with_steem.py b/examples/compare_transactions_speed_with_hive.py similarity index 72% rename from examples/compare_transactions_speed_with_steem.py rename to examples/compare_transactions_speed_with_hive.py index 56069635cd6fd7dc49c3b55df153ca48d8b50694..6a0bbc2b4cf83eef15ff7bfa28437789bb67027c 100644 --- a/examples/compare_transactions_speed_with_steem.py +++ b/examples/compare_transactions_speed_with_hive.py @@ -25,26 +25,26 @@ from beembase.operationids import getOperationNameForId from beemgraphenebase.py23 import py23_bytes, bytes_types from beem.amount import Amount from beem.asset import Asset -from beem.steem import Steem +from beem.hive import Hive import time -from steem import Steem as steemSteem -from steembase.account import PrivateKey as steemPrivateKey -from steembase.transactions import SignedTransaction as steemSignedTransaction -from steembase import operations as steemOperations +from hive import Hive as hiveHive +from hivebase.account import PrivateKey as hivePrivateKey +from hivebase.transactions import SignedTransaction as hiveSignedTransaction +from hivebase import operations as hiveOperations from timeit import default_timer as timer class BeemTest(object): def setup(self): - self.prefix = u"STEEM" + self.prefix = u"HIVE" self.default_prefix = u"STM" self.wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" self.ref_block_num = 34294 self.ref_block_prefix = 3707022213 self.expiration = "2016-04-06T08:29:27" - self.stm = Steem(offline=True) + self.stm = Hive(offline=True) def doit(self, printWire=False, ops=None): ops = [Operation(ops)] @@ -60,10 +60,10 @@ class BeemTest(object): return end2 - end1, end1 - start -class SteemTest(object): +class HiveTest(object): def setup(self): - self.prefix = u"STEEM" + self.prefix = u"HIVE" self.default_prefix = u"STM" self.wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" self.ref_block_num = 34294 @@ -71,58 +71,58 @@ class SteemTest(object): self.expiration = "2016-04-06T08:29:27" def doit(self, printWire=False, ops=None): - ops = [steemOperations.Operation(ops)] - tx = steemSignedTransaction(ref_block_num=self.ref_block_num, + ops = [hiveOperations.Operation(ops)] + tx = hiveSignedTransaction(ref_block_num=self.ref_block_num, ref_block_prefix=self.ref_block_prefix, expiration=self.expiration, operations=ops) start = timer() tx = tx.sign([self.wif], chain=self.prefix) end1 = timer() - tx.verify([steemPrivateKey(self.wif, prefix=u"STM").pubkey], self.prefix) + tx.verify([hivePrivateKey(self.wif, prefix=u"STM").pubkey], self.prefix) end2 = timer() return end2 - end1, end1 - start if __name__ == "__main__": - steem_test = SteemTest() + hive_test = HiveTest() beem_test = BeemTest() - steem_test.setup() + hive_test.setup() beem_test.setup() - steem_times = [] + hive_times = [] beem_times = [] loops = 50 for i in range(0, loops): print(i) - opSteem = steemOperations.Transfer(**{ + opHive = hiveOperations.Transfer(**{ "from": "foo", "to": "baar", - "amount": "111.110 STEEM", + "amount": "111.110 HIVE", "memo": "Fooo" }) opBeem = operations.Transfer(**{ "from": "foo", "to": "baar", - "amount": Amount("111.110 STEEM", steem_instance=Steem(offline=True)), + "amount": Amount("111.110 HIVE", hive_instance=Hive(offline=True)), "memo": "Fooo" }) - t_s, t_v = steem_test.doit(ops=opSteem) - steem_times.append([t_s, t_v]) + t_s, t_v = hive_test.doit(ops=opHive) + hive_times.append([t_s, t_v]) t_s, t_v = beem_test.doit(ops=opBeem) beem_times.append([t_s, t_v]) - steem_dt = [0, 0] + hive_dt = [0, 0] beem_dt = [0, 0] for i in range(0, loops): - steem_dt[0] += steem_times[i][0] - steem_dt[1] += steem_times[i][1] + hive_dt[0] += hive_times[i][0] + hive_dt[1] += hive_times[i][1] beem_dt[0] += beem_times[i][0] beem_dt[1] += beem_times[i][1] - print("steem vs beem:\n") - print("steem: sign: %.2f s, verification %.2f s" % (steem_dt[0] / loops, steem_dt[1] / loops)) + print("hive vs beem:\n") + print("hive: sign: %.2f s, verification %.2f s" % (hive_dt[0] / loops, hive_dt[1] / loops)) print("beem: sign: %.2f s, verification %.2f s" % (beem_dt[0] / loops, beem_dt[1] / loops)) print("------------------------------------") - print("beem is %.2f %% (sign) and %.2f %% (verify) faster than steem" % - (steem_dt[0] / beem_dt[0] * 100, steem_dt[1] / beem_dt[1] * 100)) + print("beem is %.2f %% (sign) and %.2f %% (verify) faster than hive" % + (hive_dt[0] / beem_dt[0] * 100, hive_dt[1] / beem_dt[1] * 100)) diff --git a/examples/compare_with_steem_python_account.py b/examples/compare_with_hive_python_account.py similarity index 52% rename from examples/compare_with_steem_python_account.py rename to examples/compare_with_hive_python_account.py index 06ad10387869c568b0bc078a667e42cd8616f40e..f11bc1acd2c5ff7d540658c80cc0fc88e16508f4 100644 --- a/examples/compare_with_steem_python_account.py +++ b/examples/compare_with_hive_python_account.py @@ -3,69 +3,69 @@ import sys from datetime import timedelta import time import io -from beem import Steem +from beem import Hive from beem.account import Account from beem.amount import Amount from beem.utils import parse_time -from steem.account import Account as steemAccount -from steem.post import Post as steemPost -from steem import Steem as steemSteem +from hive.account import Account as hiveAccount +from hive.post import Post as hivePost +from hive import Hive as hiveHive import logging log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) if __name__ == "__main__": - stm = Steem("https://api.steemit.com") - beem_acc = Account("holger80", steem_instance=stm) - stm2 = steemSteem(nodes=["https://api.steemit.com"]) - steem_acc = steemAccount("holger80", steemd_instance=stm2) + stm = Hive("https://api.hiveit.com") + beem_acc = Account("holger80", hive_instance=stm) + stm2 = hiveHive(nodes=["https://api.hiveit.com"]) + hive_acc = hiveAccount("holger80", hived_instance=stm2) # profile print("beem_acc.profile {}".format(beem_acc.profile)) - print("steem_acc.profile {}".format(steem_acc.profile)) - # sp - print("beem_acc.sp {}".format(beem_acc.sp)) - print("steem_acc.sp {}".format(steem_acc.sp)) + print("hive_acc.profile {}".format(hive_acc.profile)) + # hp + print("beem_acc.hp {}".format(beem_acc.hp)) + print("hive_acc.hp {}".format(hive_acc.hp)) # rep print("beem_acc.rep {}".format(beem_acc.rep)) - print("steem_acc.rep {}".format(steem_acc.rep)) + print("hive_acc.rep {}".format(hive_acc.rep)) # balances print("beem_acc.balances {}".format(beem_acc.balances)) - print("steem_acc.balances {}".format(steem_acc.balances)) + print("hive_acc.balances {}".format(hive_acc.balances)) # get_balances() print("beem_acc.get_balances() {}".format(beem_acc.get_balances())) - print("steem_acc.get_balances() {}".format(steem_acc.get_balances())) + print("hive_acc.get_balances() {}".format(hive_acc.get_balances())) # reputation() print("beem_acc.get_reputation() {}".format(beem_acc.get_reputation())) - print("steem_acc.reputation() {}".format(steem_acc.reputation())) + print("hive_acc.reputation() {}".format(hive_acc.reputation())) # voting_power() print("beem_acc.get_voting_power() {}".format(beem_acc.get_voting_power())) - print("steem_acc.voting_power() {}".format(steem_acc.voting_power())) + print("hive_acc.voting_power() {}".format(hive_acc.voting_power())) # get_followers() print("beem_acc.get_followers() {}".format(beem_acc.get_followers())) - print("steem_acc.get_followers() {}".format(steem_acc.get_followers())) + print("hive_acc.get_followers() {}".format(hive_acc.get_followers())) # get_following() print("beem_acc.get_following() {}".format(beem_acc.get_following())) - print("steem_acc.get_following() {}".format(steem_acc.get_following())) + print("hive_acc.get_following() {}".format(hive_acc.get_following())) # has_voted() print("beem_acc.has_voted() {}".format(beem_acc.has_voted("@holger80/api-methods-list-for-appbase"))) - print("steem_acc.has_voted() {}".format(steem_acc.has_voted(steemPost("@holger80/api-methods-list-for-appbase")))) + print("hive_acc.has_voted() {}".format(hive_acc.has_voted(hivePost("@holger80/api-methods-list-for-appbase")))) # curation_stats() print("beem_acc.curation_stats() {}".format(beem_acc.curation_stats())) - print("steem_acc.curation_stats() {}".format(steem_acc.curation_stats())) + print("hive_acc.curation_stats() {}".format(hive_acc.curation_stats())) # virtual_op_count print("beem_acc.virtual_op_count() {}".format(beem_acc.virtual_op_count())) - print("steem_acc.virtual_op_count() {}".format(steem_acc.virtual_op_count())) + print("hive_acc.virtual_op_count() {}".format(hive_acc.virtual_op_count())) # get_account_votes print("beem_acc.get_account_votes() {}".format(beem_acc.get_account_votes())) - print("steem_acc.get_account_votes() {}".format(steem_acc.get_account_votes())) + print("hive_acc.get_account_votes() {}".format(hive_acc.get_account_votes())) # get_withdraw_routes print("beem_acc.get_withdraw_routes() {}".format(beem_acc.get_withdraw_routes())) - print("steem_acc.get_withdraw_routes() {}".format(steem_acc.get_withdraw_routes())) + print("hive_acc.get_withdraw_routes() {}".format(hive_acc.get_withdraw_routes())) # get_conversion_requests print("beem_acc.get_conversion_requests() {}".format(beem_acc.get_conversion_requests())) - print("steem_acc.get_conversion_requests() {}".format(steem_acc.get_conversion_requests())) + print("hive_acc.get_conversion_requests() {}".format(hive_acc.get_conversion_requests())) # export # history beem_hist = [] @@ -73,23 +73,23 @@ if __name__ == "__main__": beem_hist.append(h) if len(beem_hist) >= 10: break - steem_hist = [] - for h in steem_acc.history(filter_by="transfer", start=0): - steem_hist.append(h) - if len(steem_hist) >= 10: + hive_hist = [] + for h in hive_acc.history(filter_by="transfer", start=0): + hive_hist.append(h) + if len(hive_hist) >= 10: break print("beem_acc.history() {}".format(beem_hist)) - print("steem_acc.history() {}".format(steem_hist)) + print("hive_acc.history() {}".format(hive_hist)) # history_reverse beem_hist = [] for h in beem_acc.history_reverse(only_ops=["transfer"]): beem_hist.append(h) if len(beem_hist) >= 10: break - steem_hist = [] - for h in steem_acc.history_reverse(filter_by="transfer"): - steem_hist.append(h) - if len(steem_hist) >= 10: + hive_hist = [] + for h in hive_acc.history_reverse(filter_by="transfer"): + hive_hist.append(h) + if len(hive_hist) >= 10: break print("beem_acc.history_reverse() {}".format(beem_hist)) - print("steem_acc.history_reverse() {}".format(steem_hist)) + print("hive_acc.history_reverse() {}".format(hive_hist)) diff --git a/examples/hf20_testnet.py b/examples/hf20_testnet.py index 0ba9c5ecf71dfcd3ad77fe9590cfeefabb2b3fcb..15c6ca02b04390edf1f10f14ff67fa6dc74135ae 100644 --- a/examples/hf20_testnet.py +++ b/examples/hf20_testnet.py @@ -13,7 +13,7 @@ from beem.block import Block from beem.account import Account from beem.amount import Amount from beemgraphenebase.account import PasswordKey, PrivateKey, PublicKey -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beemapi.exceptions import NumRetriesReached from beem.nodelist import NodeList @@ -22,12 +22,12 @@ logging.basicConfig(level=logging.INFO) if __name__ == "__main__": - # stm = Steem(node="https://testnet.timcliff.com/") - # stm = Steem(node="https://testnet.steemitdev.com") - stm = Steem(node="https://api.steemit.com") + # stm = Hive(node="https://testnet.timcliff.com/") + # stm = Hive(node="https://testnet.hiveitdev.com") + stm = Hive(node="https://api.hiveit.com") stm.wallet.unlock(pwd="pwd123") - account = Account("beembot", steem_instance=stm) + account = Account("beembot", hive_instance=stm) print(account.get_voting_power()) - account.transfer("holger80", 0.001, "SBD", "test") + account.transfer("holger80", 0.001, "HBD", "test") diff --git a/examples/login_app/app.py b/examples/login_app/app.py index abd783c8d6d61c5f39753515ca0765146ee928cf..ee24a64a20c48aa6d55a62189d5d82bb95dcf167 100644 --- a/examples/login_app/app.py +++ b/examples/login_app/app.py @@ -1,14 +1,14 @@ from flask import Flask, request -from beem.steemconnect import SteemConnect +from beem.hiveconnect import HiveConnect import getpass app = Flask(__name__) -c = SteemConnect(client_id="beem.app", scope="login,vote,custom_json", get_refresh_token=False) +c = HiveConnect(client_id="beem.app", scope="login,vote,custom_json", get_refresh_token=False) # replace test with our wallet password wallet_password = getpass.getpass('Wallet-Password:') -c.steem.wallet.unlock(wallet_password) +c.hive.wallet.unlock(wallet_password) @app.route('/') @@ -16,7 +16,7 @@ def index(): login_url = c.get_login_url( "http://localhost:5000/welcome", ) - return "<a href='%s'>Login with SteemConnect</a>" % login_url + return "<a href='%s'>Login with HiveConnect</a>" % login_url @app.route('/welcome') @@ -32,7 +32,7 @@ def welcome(): c.set_access_token(access_token) name = c.me()["name"] - if name in c.steem.wallet.getPublicNames(): - c.steem.wallet.removeTokenFromPublicName(name) - c.steem.wallet.addToken(name, access_token) + if name in c.hive.wallet.getPublicNames(): + c.hive.wallet.removeTokenFromPublicName(name) + c.hive.wallet.addToken(name, access_token) return "Welcome <strong>%s</strong>!" % name diff --git a/examples/memory_profiler1.py b/examples/memory_profiler1.py index fdda2b0c4c9b99383441c3a41aa2793b5f60ef09..01d74f2e5348e9752ea5d788f23d87d0d97dd172 100644 --- a/examples/memory_profiler1.py +++ b/examples/memory_profiler1.py @@ -4,12 +4,12 @@ import sys from datetime import datetime, timedelta import time import io -from beem.steem import Steem +from beem.hive import Hive from beem.account import Account from beem.amount import Amount from beem.blockchain import Blockchain from beem.utils import parse_time -from beem.instance import set_shared_steem_instance +from beem.instance import set_shared_hive_instance import logging log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) @@ -17,8 +17,8 @@ logging.basicConfig(level=logging.INFO) @profile def profiling(name_list): - stm = Steem() - set_shared_steem_instance(stm) + stm = Hive() + set_shared_hive_instance(stm) del stm print("start") for name in name_list: @@ -45,7 +45,7 @@ def profiling(name_list): if __name__ == "__main__": - account_list = ["utopian-io", "busy.org", "minnowsupport", "qurator", "thesteemengine", "ethandsmith", "make-a-whale", "feedyourminnows", "steembasicincome", - "sbi2", "sbi3", "sbi4", "sbi5", "sbi6", "steemdunk", "thehumanbot", "resteemable", "kobusu", "mariachan", "qustodian", "randowhale", - "bumper", "minnowbooster", "smartsteem", "steemlike", "parosai", "koinbot", "steemfunding"] + account_list = ["utopian-io", "busy.org", "minnowsupport", "qurator", "thehiveengine", "ethandsmith", "make-a-whale", "feedyourminnows", "hivebasicincome", + "sbi2", "sbi3", "sbi4", "sbi5", "sbi6", "hivedunk", "thehumanbot", "rehiveable", "kobusu", "mariachan", "qustodian", "randowhale", + "bumper", "minnowbooster", "smarthive", "hivelike", "parosai", "koinbot", "hivefunding"] profiling(account_list) diff --git a/examples/memory_profiler2.py b/examples/memory_profiler2.py index cc2eed9089e6feff02285ec803c49bf77d39715f..7b355c5a2bbabd750431ca34879275c459df45ee 100644 --- a/examples/memory_profiler2.py +++ b/examples/memory_profiler2.py @@ -1,10 +1,10 @@ from __future__ import print_function from memory_profiler import profile import sys -from beem.steem import Steem +from beem.hive import Hive from beem.account import Account from beem.blockchain import Blockchain -from beem.instance import set_shared_steem_instance, clear_cache +from beem.instance import set_shared_hive_instance, clear_cache from beem.storage import configStorage as config from beemapi.graphenerpc import GrapheneRPC import logging @@ -17,13 +17,13 @@ def profiling(node, name_list, shared_instance=True, clear_acc_cache=False, clea print("shared_instance %d clear_acc_cache %d clear_all_cache %d" % (shared_instance, clear_acc_cache, clear_all_cache)) if not shared_instance: - stm = Steem(node=node) + stm = Hive(node=node) print(str(stm)) else: stm = None acc_dict = {} for name in name_list: - acc = Account(name, steem_instance=stm) + acc = Account(name, hive_instance=stm) acc_dict[name] = acc if clear_acc_cache: acc.clear_cache() @@ -35,9 +35,9 @@ def profiling(node, name_list, shared_instance=True, clear_acc_cache=False, clea if __name__ == "__main__": - stm = Steem() + stm = Hive() print("Shared instance: " + str(stm)) - set_shared_steem_instance(stm) + set_shared_hive_instance(stm) b = Blockchain() account_list = [] for a in b.get_all_accounts(limit=500): @@ -45,7 +45,7 @@ if __name__ == "__main__": shared_instance = False clear_acc_cache = False clear_all_cache = False - node = "https://api.steemit.com" + node = "https://api.hiveit.com" n = 3 for i in range(1, n + 1): print("%d of %d" % (i, n)) diff --git a/examples/next_witness_block_coundown.py b/examples/next_witness_block_coundown.py index 3c6d83d208d2ce79db8578e270030511c03331e4..4d92af72549ccc897a77748f8783f75781baf69b 100644 --- a/examples/next_witness_block_coundown.py +++ b/examples/next_witness_block_coundown.py @@ -1,6 +1,6 @@ #!/usr/bin/python import sys -from beem import Steem +from beem import Hive from beem.witness import Witness, WitnessesRankedByVote from time import sleep @@ -27,16 +27,16 @@ if __name__ == "__main__": witness = "holger80" else: witness = sys.argv[1] - stm = Steem() - witness = Witness(witness, steem_instance=stm) + stm = Hive() + witness = Witness(witness, hive_instance=stm) witness_schedule = stm.get_witness_schedule() config = stm.get_config() if "VIRTUAL_SCHEDULE_LAP_LENGTH2" in config: lap_length = int(config["VIRTUAL_SCHEDULE_LAP_LENGTH2"]) else: - lap_length = int(config["STEEM_VIRTUAL_SCHEDULE_LAP_LENGTH2"]) - witnesses = WitnessesRankedByVote(limit=250, steem_instance=stm) + lap_length = int(config["HIVE_VIRTUAL_SCHEDULE_LAP_LENGTH2"]) + witnesses = WitnessesRankedByVote(limit=250, hive_instance=stm) vote_sum = witnesses.get_votes_sum() virtual_time_to_block_num = int(witness_schedule["num_scheduled_witnesses"]) / (lap_length / (vote_sum + 1)) diff --git a/examples/op_on_testnet.py b/examples/op_on_testnet.py index aa86d56831a8a68c321a55704aa918372a628039..0f95b26e7007e5d0e9922bc6be0b81ccee818cd5 100644 --- a/examples/op_on_testnet.py +++ b/examples/op_on_testnet.py @@ -13,7 +13,7 @@ from beem.block import Block from beem.account import Account from beem.amount import Amount from beemgraphenebase.account import PasswordKey, PrivateKey, PublicKey -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beemapi.exceptions import NumRetriesReached from beem.nodelist import NodeList @@ -26,10 +26,10 @@ useWallet = False walletpassword = "123" if __name__ == "__main__": - testnet_node = "https://testnet.steem.vc" - stm = Steem(node=testnet_node) + testnet_node = "https://testnet.hive.vc" + stm = Hive(node=testnet_node) prefix = stm.prefix - # curl --data "username=username&password=secretPassword" https://testnet.steem.vc/create + # curl --data "username=username&password=secretPassword" https://testnet.hive.vc/create if useWallet: stm.wallet.wipe(True) stm.wallet.create(walletpassword) @@ -52,11 +52,11 @@ if __name__ == "__main__": stm.wallet.addPrivateKey(memo_privkey) stm.wallet.addPrivateKey(posting_privkey) else: - stm = Steem(node=testnet_node, + stm = Hive(node=testnet_node, wif={'active': str(active_privkey), 'posting': str(posting_privkey), 'memo': str(memo_privkey)}) - account = Account(username, steem_instance=stm) + account = Account(username, hive_instance=stm) if account["name"] == "beem": account.disallow("beem1", permission='posting') account.allow('beem1', weight=1, permission='posting', account=None) @@ -68,9 +68,9 @@ if __name__ == "__main__": # stm.create_account("beem1", creator=account, password=password1) - account1 = Account("beem1", steem_instance=stm) - b = Blockchain(steem_instance=stm) + account1 = Account("beem1", hive_instance=stm) + b = Blockchain(hive_instance=stm) blocknum = b.get_current_block().identifier - account.transfer("beem1", 1, "SBD", "test") - b1 = Block(blocknum, steem_instance=stm) + account.transfer("beem1", 1, "HBD", "test") + b1 = Block(blocknum, hive_instance=stm) diff --git a/examples/print_appbase_calls.py b/examples/print_appbase_calls.py index e33dc79319ab7c4ad0a0f277cc2d8db03257c207..3103582510715ec1f6dbe65d4c3688b81f8c984b 100644 --- a/examples/print_appbase_calls.py +++ b/examples/print_appbase_calls.py @@ -7,7 +7,7 @@ import sys from datetime import timedelta import time import io -from beem.steem import Steem +from beem.hive import Hive import logging from prettytable import PrettyTable log = logging.getLogger(__name__) @@ -15,11 +15,11 @@ logging.basicConfig(level=logging.INFO) if __name__ == "__main__": - stm = Steem(node="https://api.steemit.com") - # stm = Steem(node="https://testnet.steemitdev.com") - # stm = Steem(node="wss://appbasetest.timcliff.com") - # stm = Steem(node="https://api.steemitstage.com") - # stm = Steem(node="https://api.steemitdev.com") + stm = Hive(node="https://api.hiveit.com") + # stm = Hive(node="https://testnet.hiveitdev.com") + # stm = Hive(node="wss://appbasetest.timcliff.com") + # stm = Hive(node="https://api.hiveitstage.com") + # stm = Hive(node="https://api.hiveitdev.com") all_calls = stm.rpc.get_methods(api="jsonrpc") t = PrettyTable(["method", "args", "ret"]) t.align = "l" diff --git a/examples/stream_threading_performance.py b/examples/stream_threading_performance.py index 2508ae6d5ac8096e0800fbd8c5effa764a3f0648..a483cfb8d7ca0ca5fc70c0336af3fb3d698d1e8a 100644 --- a/examples/stream_threading_performance.py +++ b/examples/stream_threading_performance.py @@ -10,7 +10,7 @@ import logging from beem.blockchain import Blockchain from beem.block import Block -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beem.nodelist import NodeList log = logging.getLogger(__name__) @@ -18,7 +18,7 @@ logging.basicConfig(level=logging.INFO) def stream_votes(stm, threading, thread_num): - b = Blockchain(steem_instance=stm) + b = Blockchain(hive_instance=stm) opcount = 0 start_time = time.time() for op in b.stream(start=23483000, stop=23483200, threading=threading, thread_num=thread_num, @@ -43,8 +43,8 @@ if __name__ == "__main__": vote_result = [] duration = [] - stm_wss = Steem(node=node_list_wss, timeout=timeout) - stm_https = Steem(node=node_list_https, timeout=timeout) + stm_wss = Hive(node=node_list_wss, timeout=timeout) + stm_https = Hive(node=node_list_https, timeout=timeout) print("Without threading wss") opcount_wot_wss, total_duration_wot_wss = stream_votes(stm_wss, False, 8) print("Without threading https") @@ -52,7 +52,7 @@ if __name__ == "__main__": if threading: print("\n Threading with %d threads is activated now." % thread_num) - stm = Steem(node=node_list_wss, timeout=timeout) + stm = Hive(node=node_list_wss, timeout=timeout) opcount_wss, total_duration_wss = stream_votes(stm, threading, thread_num) opcount_https, total_duration_https = stream_votes(stm, threading, thread_num) print("Finished!") diff --git a/examples/using_custom_chain.py b/examples/using_custom_chain.py index 9039af5484692072a7a800200322744597dc0e40..0a0ea7039b3f7a7ad19f58563a911f7597620697 100644 --- a/examples/using_custom_chain.py +++ b/examples/using_custom_chain.py @@ -13,7 +13,7 @@ from beem.block import Block from beem.account import Account from beem.amount import Amount from beemgraphenebase.account import PasswordKey, PrivateKey, PublicKey -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beemapi.exceptions import NumRetriesReached from beem.nodelist import NodeList @@ -22,16 +22,16 @@ logging.basicConfig(level=logging.INFO) if __name__ == "__main__": - stm = Steem(node=["https://testnet.steemitdev.com"], + stm = Hive(node=["https://testnet.hiveitdev.com"], custom_chains={"TESTNETHF20": {'chain_assets': [ - {"asset": "@@000000013", "symbol": "SBD", "precision": 3, "id": 0}, - {"asset": "@@000000021", "symbol": "STEEM", "precision": 3, "id": 1}, + {"asset": "@@000000013", "symbol": "HBD", "precision": 3, "id": 0}, + {"asset": "@@000000021", "symbol": "HIVE", "precision": 3, "id": 1}, {"asset": "@@000000037", "symbol": "VESTS", "precision": 6, "id": 2} ], 'chain_id': '46d82ab7d8db682eb1959aed0ada039a6d49afa1602491f93dde9cac3e8e6c32', 'min_version': '0.20.0', 'prefix': 'TST'}}) print(stm.get_blockchain_version()) - print(stm.get_config()["STEEM_CHAIN_ID"]) + print(stm.get_config()["HIVE_CHAIN_ID"]) diff --git a/examples/using_steem_offline.py b/examples/using_steem_offline.py index e129060110eef0c66d0d1dec0226eb7c672b8fea..5ecfc8fb8a24d324eec9b73f3ce9ee49ee3a7a49 100644 --- a/examples/using_steem_offline.py +++ b/examples/using_steem_offline.py @@ -15,7 +15,7 @@ from beem.witness import Witness from beembase import operations from beem.transactionbuilder import TransactionBuilder from beemgraphenebase.account import PasswordKey, PrivateKey, PublicKey -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beemapi.exceptions import NumRetriesReached from beem.nodelist import NodeList @@ -28,17 +28,17 @@ wif = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" if __name__ == "__main__": - stm_online = Steem() + stm_online = Hive() ref_block_num, ref_block_prefix = getBlockParams(stm_online) print("ref_block_num %d - ref_block_prefix %d" % (ref_block_num, ref_block_prefix)) - stm = Steem(offline=True) + stm = Hive(offline=True) op = operations.Transfer({'from': 'beembot', 'to': 'holger80', - 'amount': "0.001 SBD", + 'amount': "0.001 HBD", 'memo': ""}) - tb = TransactionBuilder(steem_instance=stm) + tb = TransactionBuilder(hive_instance=stm) tb.appendOps([op]) tb.appendWif(wif) diff --git a/examples/watching_the_watchers.py b/examples/watching_the_watchers.py index a52518baa0c45d95e66aa8e3c549fb5e237a8c7c..699ac5faea81777abcc61e722653ed40b1e55d93 100644 --- a/examples/watching_the_watchers.py +++ b/examples/watching_the_watchers.py @@ -105,7 +105,7 @@ class WatchingTheWatchersBot: racc = None proxy = None related = list() - if a["recovery_account"] != "steem" and a["recovery_account"] != "": + if a["recovery_account"] != "hive" and a["recovery_account"] != "": related.append(a["recovery_account"]) if a["proxy"] != "": related.append(a["proxy"]) diff --git a/examples/wls_post.py b/examples/wls_post.py index ec73c1a3af1dce09b2cbe33df4ecfb23c78eca40..3d903dbd6bbe74ab54d99bcbc986aa675d749d1c 100644 --- a/examples/wls_post.py +++ b/examples/wls_post.py @@ -13,7 +13,7 @@ from beem.block import Block from beem.account import Account from beem.amount import Amount from beemgraphenebase.account import PasswordKey, PrivateKey, PublicKey -from beem.steem import Steem +from beem.hive import Hive from beem.utils import parse_time, formatTimedelta from beemapi.exceptions import NumRetriesReached from beem.nodelist import NodeList @@ -55,7 +55,7 @@ def test_post(wls): }) privateWif = "5K..." - tx = TransactionBuilder(use_condenser_api=True, steem_instance=wls) + tx = TransactionBuilder(use_condenser_api=True, hive_instance=wls) tx.appendOps(op1) tx.appendWif(privateWif) tx.sign() @@ -63,7 +63,7 @@ def test_post(wls): if __name__ == "__main__": # `blocking=True` forces use of broadcast_transaction_synchronous - wls = Steem(node=["https://pubrpc.whaleshares.io"], blocking=True) + wls = Hive(node=["https://pubrpc.whaleshares.io"], blocking=True) print(wls.get_blockchain_version()) print(wls.get_config()) test_post(wls) diff --git a/setup.py b/setup.py index f1f39c793a07b31d03ffbe31dcc0b0eefcd1998f..94f9f1224b4836b1c748cfb8dbadf0da67efa1f3 100755 --- a/setup.py +++ b/setup.py @@ -66,7 +66,7 @@ if __name__ == '__main__': setup( name='beem', version=VERSION, - description='Unofficial Python library for STEEM', + description='Unofficial Python library for HIVE', long_description=get_long_description(), download_url='https://github.com/holgern/beem/tarball/' + VERSION, author='Holger Nahrstaedt', @@ -74,7 +74,7 @@ if __name__ == '__main__': maintainer='Holger Nahrstaedt', maintainer_email='holger@nahrstaedt.de', url='http://www.github.com/holgern/beem', - keywords=['steem', 'library', 'api', 'rpc'], + keywords=['hive', 'library', 'api', 'rpc'], packages=[ "beem", "beemapi", diff --git a/sonar-project.properties b/sonar-project.properties index 2b8cc2d5a33f8f9140ccecc0f824d599541885fa..f25b5cbda20990d0c7bc1f02dfb803649f6c48c7 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,6 +1,6 @@ # Metadata sonar.projectKey=holgern_beem -sonar.projectName=Python Library for Steem +sonar.projectName=Python Library for Hive sonar.projectVersion=1.0 sonar.organization=holgern-github