Publish an alpha version of the Monero crate (#123)

* Label the version as an alpha

* Add versions to Cargo.tomls

* Update to Zeroize 1.5

* Drop patch versions from monero-serai Cargo.toml

* Add a repository field

* Move generators to OUT_DIR

IIRC, I didn't do this originally as it constantly re-generated them. 
Unfortunately, since cargo is complaining about .generators, we have to.

* Remove Timelock::fee_weight

Transaction::fee_weight's has a comment, "Assumes Timelock::None since 
this library won't let you create a TX with a timelock". Accordingly, 
this is dead code.
This commit is contained in:
Luke Parker
2022-09-29 01:24:33 -05:00
committed by GitHub
parent 49749d96a0
commit 8b0f0a3713
17 changed files with 43 additions and 42 deletions

View File

@@ -12,7 +12,7 @@ use multiexp::BatchVerifier;
use crate::{Commitment, ringct::bulletproofs::core::*};
include!("../../../.generators/generators.rs");
include!(concat!(env!("OUT_DIR"), "/generators.rs"));
lazy_static! {
static ref ONE_N: ScalarVector = ScalarVector(vec![Scalar::one(); N]);

View File

@@ -15,7 +15,7 @@ use crate::{
ringct::{hash_to_point::raw_hash_to_point, bulletproofs::core::*},
};
include!("../../../.generators/generators_plus.rs");
include!(concat!(env!("OUT_DIR"), "/generators_plus.rs"));
lazy_static! {
static ref TRANSCRIPT: [u8; 32] =

View File

@@ -119,10 +119,6 @@ impl Timelock {
}
}
pub(crate) fn fee_weight() -> usize {
8
}
fn serialize<W: std::io::Write>(&self, w: &mut W) -> std::io::Result<()> {
write_varint(
&match self {

View File

@@ -167,6 +167,7 @@ impl Scanner {
/// When a new scanner is created, ALL saved output keys must be passed in to be secure.
/// If None is passed, a modified shared key derivation is used which is immune to the burning
/// bug (specifically the Guaranteed feature from Featured Addresses).
// TODO: Should this take in a DB access handle to ensure output keys are saved?
pub fn from_view(
pair: ViewPair,
network: Network,

View File

@@ -196,8 +196,7 @@ impl SpendableOutput {
pub struct Timelocked<O: Clone + Zeroize>(Timelock, Vec<O>);
impl<O: Clone + Zeroize> Drop for Timelocked<O> {
fn drop(&mut self) {
self.0.zeroize();
self.1.zeroize();
self.zeroize();
}
}
impl<O: Clone + Zeroize> ZeroizeOnDrop for Timelocked<O> {}