Expand description
§Monero Interface
monero-Interface provides two sets of traits for interfacing with the Monero
network.
Unvalidated*: Traits representing data from an arbitrary source, with minimal validation if any.Validated*: Traits representing data from a (potentially trusted) source which certain guarantees on the structure, sanity of the returned results.
Neither set of traits promise the returned data is completely accurate and up to date. Using an untrusted interface, even if the results are validated as sane, may always inject invalid data unless the caller locally behaves as a full node, applying all consensus rules, and is able to detect if they are not on the best chain. Please carefully consider the exact promises made and how that relates to your security model.
Additionally, interfaces presumably learn the pattern of your requests (due to responding to your requests), which may reveal information to the interface. Callers SHOULD NOT make any requests specific to their wallet which will not eventually end up as on-chain information, and callers SHOULD even be careful with when they make requests, as discussed in Remote Side-Channel Attacks on Anonymous Transactions.
This library is usable under no-std, with alloc, when the std feature (on
by default) is disabled.
§Cargo Features
std(on by default): Enablesstd(and with it, more efficient internal implementations).
Modules§
- prelude
- A prelude of recommended imports to glob import.
Structs§
- FeeRate
- A struct containing a fee rate.
- Pruned
Transaction With Prunable Hash - A pruned transaction with the hash of its pruned data, if
version != 1. - Ring
CtOutput Information - The response to an query for the information of a RingCT output.
- Scannable
Block - A block which is able to be scanned.
- Unvalidated
Scannable Block - An unvalidated block which may be scannable.
Enums§
- Evaluate
Unlocked - How to evaluate if an output is unlocked.
- FeeError
- An error from the interface.
- FeePriority
- The priority for the fee.
- Interface
Error - An error from the interface.
- Publish
Transaction Error - An error from the interface.
- Transactions
Error - An error when fetching transactions.
Traits§
- Expand
ToScannable Block - Extension trait for
ProvidesTransactions andProvidesOutputs`. - Provides
Blockchain - Provides blocks which have been sanity-checked.
- Provides
Blockchain Meta - Provides metadata from the blockchain.
- Provides
Decoys - Provides the necessary data to select decoys.
- Provides
FeeRates - An interface which provides fee rates.
- Provides
Outputs - Provides information about outputs.
- Provides
Scannable Blocks - Provides scannable blocks which have been sanity-checked.
- Provides
Transactions - Provides transactions which have been sanity-checked.
- Provides
Unvalidated Blockchain - Provides the blockchain from an untrusted interface.
- Provides
Unvalidated Decoys - Provides the necessary data to select decoys, without validating it.
- Provides
Unvalidated FeeRates - An interface which provides unvalidated fee rates.
- Provides
Unvalidated Outputs - Provides unvalidated information about outputs.
- Provides
Unvalidated Scannable Blocks - Provides scannable blocks from an untrusted interface.
- Provides
Unvalidated Transactions - Provides unvalidated transactions from an untrusted interface.
- Publish
Transaction - An interface eligible to publish transactions over.