Crate mwc_wallet_libwallet

Crate mwc_wallet_libwallet 

Source
Expand description

Higher level wallet functions which can be used by callers to operate on the wallet, as well as helpers to invoke and instantiate wallets and listeners

Re-exports§

pub use crate::slatepack::SlatePurpose;
pub use crate::slatepack::Slatepack;
pub use crate::slatepack::SlatepackArmor;
pub use crate::slatepack::Slatepacker;
pub use crate::slate_versions::SlateVersion;
pub use crate::slate_versions::VersionedCoinbase;
pub use crate::slate_versions::VersionedSlate;
pub use crate::slate_versions::CURRENT_SLATE_VERSION;
pub use crate::slate_versions::MWC_BLOCK_HEADER_VERSION;
pub use api_impl::foreign;
pub use api_impl::owner;
pub use api_impl::owner_eth;
pub use api_impl::owner_swap;
pub use api_impl::owner_updater::StatusMessage;
pub use api_impl::types::Amount;
pub use api_impl::types::BlockFees;
pub use api_impl::types::BuiltOutput;
pub use api_impl::types::InitTxArgs;
pub use api_impl::types::InitTxSendArgs;
pub use api_impl::types::IssueInvoiceTxArgs;
pub use api_impl::types::NodeHeightResult;
pub use api_impl::types::OutputCommitMapping;
pub use api_impl::types::OwnershipProof;
pub use api_impl::types::OwnershipProofValidation;
pub use api_impl::types::PaymentProof;
pub use api_impl::types::PubKeySignature;
pub use api_impl::types::ReplayMitigationConfig;
pub use api_impl::types::RetrieveTxQueryArgs;
pub use api_impl::types::RetrieveTxQuerySortField;
pub use api_impl::types::RetrieveTxQuerySortOrder;
pub use api_impl::types::SendTXArgs;
pub use api_impl::types::SwapStartArgs;
pub use api_impl::types::VersionInfo;
pub use internal::scan::scan;
pub use internal::scan::set_replay_config;
pub use proof::tx_proof::TxProof;
pub use proof::tx_proof::proof_ok;
pub use proof::tx_proof::verify_tx_proof_wrapper;
pub use slate_versions::ser as dalek_ser;
pub use types::AcctPathMapping;
pub use types::BlockIdentifier;
pub use types::CbData;
pub use types::Context;
pub use types::HeaderInfo;
pub use types::NodeClient;
pub use types::NodeVersionInfo;
pub use types::OutputData;
pub use types::OutputStatus;
pub use types::ScannedBlockInfo;
pub use types::StoredProofInfo;
pub use types::TxLogEntry;
pub use types::TxLogEntryType;
pub use types::ViewWallet;
pub use types::WalletBackend;
pub use types::WalletInfo;
pub use types::WalletInst;
pub use types::WalletLCProvider;
pub use types::WalletOutputBatch;
pub use api_impl::foreign::get_receive_account;
pub use api_impl::foreign::set_receive_account;

Modules§

address
Functions defining wallet ‘addresses’, i.e. ed2559 keys based on a derivation path
api_impl
lower-level wallet functions which build upon core::libtx to perform wallet operations
internal
lower-level wallet functions which build upon core::libtx to perform wallet operations
proof
lower-level wallet functions which build upon core::libtx to perform wallet operations
slate_versions
This module contains old slate versions and conversions to the newest slate version Used for serialization and deserialization of slates in a backwards compatible way. Versions earlier than V2 are removed for the 2.0.0 release, but versioning code remains for future needs
slatepack
Functions and types for handling Slatepack transactions
swap
Atomic Swap library
types
Types and traits that should be provided by a wallet implementation

Macros§

generic
Return generic error with formatted arguments
network
Return network error with formatted arguments
wallet_lock
Helper for taking a lock on the wallet instance
wallet_lock_test
Helper for taking a lock on the wallet instance for tests. Using unwrap instead of error reporting

Structs§

BitcoinAddress
A Bitcoin address
ParticipantData
Public data for each participant in the slate
ParticipantMessageData
Public message data (for serialising and storage)
ParticipantMessages
Helper just to facilitate serialization
Slate
A ‘Slate’ is passed around to all parties to build up all of the public transaction data needed to create a finalized transaction. Callers can pass the slate around by whatever means they choose, (but we can provide some binary or JSON serialization helpers here).

Enums§

Error
Wallet errors, mostly wrappers around underlying crypto or I/O errors.