# README
go-eth2-wallet-types
Go library containing wallet-related types such as wallet, account and store.
** Please note that this library uses standards that are not yet final, and as such may result in changes that alter public and private keys. Do not use this library for production use just yet **
Table of Contents
Install
go-eth2-wallet-types
is a standard Go module which can be installed with:
go get github.com/wealdtech/go-eth2-wallet-types
Usage
go-eth2-wallet-types
is used as part of go-eth2-wallet: please see documentation there for details.
Maintainers
Jim McDonald: @mcdee.
Contribute
Contributions welcome. Please check out the issues.
License
Apache-2.0 © 2019 Weald Technology Trading Ltd
# Interfaces
Account is a generic interface for accounts, providing minimal required functionality.
AccountCompositePublicKeyProvider is the interface for accounts that can provide a composite public key.
AccountIDProvider is the interface for accounts that can provide an ID.
AccountLocker is the interface for accounts that can be locked and unlocked.
AccountMetadataProvider provides metadata for an account.
AccountNameProvider is the interface for accounts that can provide a name.
AccountParticipantsProvider is the interface for accounts that can participate in distributed operations.
AccountPathProvider is the interface for accounts that can provide a path.
AccountPrivateKeyProvider is the interface for accounts that can provide a private key.
AccountProtectingMultiSigner is the interface for accounts that sign multiple requests with protection.
AccountProtectingSigner is the interface for accounts that sign with protection.
AccountPublicKeyProvider is the interface for accounts that can provide a public key.
AccountSigner is the interface for accounts that can sign generic data.
AccountSigningThresholdProvider is the interface for accounts that can provide a signing threshold.
AccountVerificationVectorProvider is the interface for accounts that can provide a verification vector.
AccountWalletProvider is the interface for accounts that can provide their containing wallet.
BatchRetriever is an interface for retrieving account batches.
BatchStorer is an interface for storing account batches.
DistributedAccount is generic interface for distributed accounts, providing minimal required functionality.
Encryptor is the interface for encrypting and decrypting sensitive information in wallets.
ShardedAccount is generic interface for sharded accounts, providing minimal required functionality.
Store is the interface for wallet stores.
StoreLocationProvider provides the location of the store.
StoreProvider is the interface provides a store.
Wallet is a generic interface for wallets, providing minimal required functionality.
WalletAccountByIDProvider is the interface for wallets that provide an account given its ID.
WalletAccountByNameProvider is the interface for wallets that provide an account given its name.
WalletAccountCreator is the interface for wallets that can create accounts.
WalletAccountImporter is the interface for wallets that can import accounts.
WalletAccountsByPathProvider is the interface for wallets that provide accounts given a path.
WalletAccountsProvider is the interface for wallets that provide account information.
No description provided by the author
WalletDistributedAccountCreator is the interface for wallets that can create distributed accounts.
WalletDistributedAccountImporter is the interface for wallets that can import distributed accounts.
WalletExporter is the interface for wallets that can export themselves.
WalletIDProvider is the interface for wallets that can provide an ID.
WalletLocker is the interface for wallets that can be locked and unlocked.
WalletNameProvider is the interface for wallets that can provide a name.
WalletPathedAccountCreator is the interface for wallets that can create accounts with explicit HD paths.
WalletShardedAccountImporter is the interface for wallets that can import sharded accounts.
WalletTypeProvider is the interface for wallets that can provide a type.
WalletVersionProvider is the interface for wallets that can provide a version.