warning cleanup (#3759)
This commit is contained in:
+26
-5
@@ -231,7 +231,10 @@ impl Default for BlockHeader {
|
||||
BlockHeader {
|
||||
version: HeaderVersion(1),
|
||||
height: 0,
|
||||
timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
|
||||
timestamp: DateTime::<Utc>::from_utc(
|
||||
NaiveDateTime::from_timestamp_opt(0, 0).unwrap(),
|
||||
Utc,
|
||||
),
|
||||
prev_hash: ZERO_HASH,
|
||||
prev_root: ZERO_HASH,
|
||||
output_root: ZERO_HASH,
|
||||
@@ -288,16 +291,29 @@ fn read_block_header<R: Reader>(reader: &mut R) -> Result<BlockHeader, ser::Erro
|
||||
let (output_mmr_size, kernel_mmr_size) = ser_multiread!(reader, read_u64, read_u64);
|
||||
let pow = ProofOfWork::read(reader)?;
|
||||
|
||||
if timestamp > chrono::NaiveDate::MAX.and_hms(0, 0, 0).timestamp()
|
||||
|| timestamp < chrono::NaiveDate::MIN.and_hms(0, 0, 0).timestamp()
|
||||
if timestamp
|
||||
> chrono::NaiveDate::MAX
|
||||
.and_hms_opt(0, 0, 0)
|
||||
.unwrap()
|
||||
.timestamp()
|
||||
|| timestamp
|
||||
< chrono::NaiveDate::MIN
|
||||
.and_hms_opt(0, 0, 0)
|
||||
.unwrap()
|
||||
.timestamp()
|
||||
{
|
||||
return Err(ser::Error::CorruptedData);
|
||||
}
|
||||
|
||||
let ts = NaiveDateTime::from_timestamp_opt(timestamp, 0);
|
||||
if ts.is_none() {
|
||||
return Err(ser::Error::CorruptedData);
|
||||
}
|
||||
|
||||
Ok(BlockHeader {
|
||||
version,
|
||||
height,
|
||||
timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
|
||||
timestamp: DateTime::<Utc>::from_utc(ts.unwrap(), Utc),
|
||||
prev_hash,
|
||||
prev_root,
|
||||
output_root,
|
||||
@@ -645,8 +661,13 @@ impl Block {
|
||||
let version = consensus::header_version(height);
|
||||
|
||||
let now = Utc::now().timestamp();
|
||||
let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
|
||||
|
||||
let ts = NaiveDateTime::from_timestamp_opt(now, 0);
|
||||
if ts.is_none() {
|
||||
return Err(Error::Other("Converting Utc::now() into timestamp".into()));
|
||||
}
|
||||
|
||||
let timestamp = DateTime::<Utc>::from_utc(ts.unwrap(), Utc);
|
||||
// Now build the block with all the above information.
|
||||
// Note: We have not validated the block here.
|
||||
// Caller must validate the block as necessary.
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ use util::secp::Signature;
|
||||
pub fn genesis_dev() -> core::Block {
|
||||
core::Block::with_header(core::BlockHeader {
|
||||
height: 0,
|
||||
timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
|
||||
timestamp: Utc.with_ymd_and_hms(1997, 8, 4, 0, 0, 0).unwrap(),
|
||||
pow: ProofOfWork {
|
||||
nonce: 0,
|
||||
..Default::default()
|
||||
@@ -48,7 +48,7 @@ pub fn genesis_dev() -> core::Block {
|
||||
pub fn genesis_test() -> core::Block {
|
||||
let gen = core::Block::with_header(core::BlockHeader {
|
||||
height: 0,
|
||||
timestamp: Utc.ymd(2018, 12, 28).and_hms(20, 48, 4),
|
||||
timestamp: Utc.with_ymd_and_hms(2018, 12, 28, 20, 48, 4).unwrap(),
|
||||
prev_root: Hash::from_hex(
|
||||
"00000000000000000017ff4903ef366c8f62e3151ba74e41b8332a126542f538",
|
||||
)
|
||||
@@ -161,7 +161,7 @@ pub fn genesis_test() -> core::Block {
|
||||
pub fn genesis_main() -> core::Block {
|
||||
let gen = core::Block::with_header(core::BlockHeader {
|
||||
height: 0,
|
||||
timestamp: Utc.ymd(2019, 1, 15).and_hms(16, 1, 26),
|
||||
timestamp: Utc.with_ymd_and_hms(2019, 1, 15, 16, 1, 26).unwrap(),
|
||||
prev_root: Hash::from_hex(
|
||||
"0000000000000000002a8bc32f43277fe9c063b9c99ea252b483941dcd06e217",
|
||||
)
|
||||
|
||||
+2
-1
@@ -115,7 +115,8 @@ pub fn pow_size(
|
||||
// and if we're back where we started, update the time (changes the hash as
|
||||
// well)
|
||||
if bh.pow.nonce == start_nonce {
|
||||
bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
|
||||
bh.timestamp =
|
||||
DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp_opt(0, 0).unwrap(), Utc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user