Support for issuing EOS tokens + clean up / fixes
EOS Improvements / Feature additions
- Added
issue
to EOSManager for issuing EOS tokens - Added customised
send_or_issue
to EOSManager, ensuring tokens are issued to our own account first, and then sent to the end user - Refactored parts of
EOSManager.send
into:get_privkey
- Find and decrypt a private key for a given account, optionally filtering by key typevalidate_amount
- Validate and sanitise EOS amounts (4 DP), and optionally check we have enough balancebuild_tx
- Builds an EOS contract transaction, finds private key forsender
, signs it, and broadcasts it.
- Fixed bug with
EOSMixin.eos_settings
- EOSManager previously would not respect RPC node settings from the database
as it wouldn't load theEOS
coin if another token symbol was selected. EOSManager.address_valid
now takes multiple addresses (instead of just one) as positional argumentsEOSManager.address_valid_ex
throws AccountNotFound instead of a boolean response, allowing you to know which account
isn't valid, and reduce dependence onif x.address_valid(y)
- instead just using try/except.
Other fixes / improvements
- Moved SteemManager's
self.asset
andself.precision
into properties. They were causing slowdowns due to constantly
querying for assets and their precision every time the manager class was reloaded. - Added customised send_or_issue (copied from EOSManager) to
SteemEngineManager
which issues the token to the issuer
before sending, instead of issuing directly to the user (some problems with issuing directly, including the lack of memos...) - Improved comments including more PyDoc comment blocks.
- General cleanup, including removing some old code that was commented out