Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wallet classes #89

Open
wants to merge 139 commits into
base: main
Choose a base branch
from

Conversation

astrojarred
Copy link
Contributor

@astrojarred astrojarred commented Sep 28, 2022

This is still a WIP but I wanted to get the ball rolling on this! Lots of basic functionality is now here, along with the first few tests and examples. See /examples/wallet.py for some examples of the most basic functionality.

Current capabilities:

  • Generate keys
  • Load keys
  • Query utxos
  • Send ada
  • Send specific UTxOs
  • Get senders of all UTxOs
  • Get metadata for all held tokens
  • Get utxo block times and sort utxos
  • Mint / Burn tokens
  • Automatically load in token polices where wallet is a signer
  • Automatically create BlockFrost Chain Context (mainnet, preprod, and preview)
  • Attach messages to transactions
  • Sign messages
  • Add custom metadata fields
  • Multi-output transactions
  • Register wallet
  • Stake wallet
  • Withdraw rewards
  • Generate fully manual transactions that can do any / all of the above
  • Integrate strict type checking
  • Write tests
  • Add more examples

Future additions (possibly later PRs):

  • Draft and sign multi-sig transactions
  • Interaction with native scripts
  • Interaction with plutus scripts
  • Load wallets with mnemonic phrase (integrating HDWallet)

Now currently figuring out how to write tests for the transaction methods, using test_transaction.py for inspiration.

@astrojarred
Copy link
Contributor Author

Quick update-- I've finally managed to integrate mypy so that the checks do not fail anymore. In addition I've gotten coverage up to ~44%. Still some tests to write but I'm closing in on this.
🔜

@cffls cffls added the enhancement New feature or request label Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants