Skip to content

Commit

Permalink
Merge pull request #438 from Chia-Network/bytes
Browse files Browse the repository at this point in the history
  • Loading branch information
Rigidity committed Mar 18, 2024
2 parents 81d7bac + b181b4d commit 73a0272
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 18 deletions.
2 changes: 1 addition & 1 deletion crates/chia-consensus/fuzz/fuzz_targets/fast-forward.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ fuzz_target!(|data: &[u8]| {
};

let new_coin = Coin {
parent_coin_info: new_parent_coin.coin_id().into(),
parent_coin_info: new_parent_coin.coin_id(),
puzzle_hash,
amount: if new_amount == 0 {
spend.coin.amount
Expand Down
3 changes: 1 addition & 2 deletions crates/chia-consensus/fuzz/fuzz_targets/parse-conditions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ fuzz_target!(|data: &[u8]| {
puzzle_hash: puzzle_hash.into(),
amount,
}
.coin_id()
.into(),
.coin_id(),
);
let parent_id = a.new_atom(&parent_id).expect("atom failed");
let puzzle_hash = a.new_atom(&puzzle_hash).expect("atom failed");
Expand Down
10 changes: 5 additions & 5 deletions crates/chia-consensus/src/fast_forward.rs
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ pub fn fast_forward_singleton(
amount: new_solution.lineage_proof.parent_amount,
};

if parent_coin.coin_id() != *coin.parent_coin_info {
if parent_coin.coin_id() != coin.parent_coin_info {
return Err(Error::ParentCoinMismatch);
}

Expand All @@ -166,7 +166,7 @@ pub fn fast_forward_singleton(

let expected_new_parent = new_parent.coin_id();

if *new_coin.parent_coin_info != expected_new_parent {
if new_coin.parent_coin_info != expected_new_parent {
return Err(Error::CoinMismatch);
}

Expand Down Expand Up @@ -224,7 +224,7 @@ mod tests {
};

let new_coin = Coin {
parent_coin_info: new_parent_coin.coin_id().into(),
parent_coin_info: new_parent_coin.coin_id(),
puzzle_hash,
amount: if new_amount == 0 {
spend.coin.amount
Expand Down Expand Up @@ -292,7 +292,7 @@ mod tests {
};

let mut new_coin = Coin {
parent_coin_info: new_parent_coin.coin_id().into(),
parent_coin_info: new_parent_coin.coin_id(),
puzzle_hash,
amount: spend.coin.amount,
};
Expand Down Expand Up @@ -463,7 +463,7 @@ mod tests {

new_coin.puzzle_hash = parent_puzzle_hash;

coin.parent_coin_info = new_parent.coin_id().into();
coin.parent_coin_info = new_parent.coin_id();
coin.puzzle_hash = parent_puzzle_hash;
},
Error::InnerPuzzleHashMismatch,
Expand Down
3 changes: 1 addition & 2 deletions crates/chia-consensus/src/gen/run_puzzle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ pub fn run_puzzle<V: SpendVisitor>(
puzzle_hash: puzzle_hash.into(),
amount,
}
.coin_id()
.into(),
.coin_id(),
);

let mut spend = Spend::new(
Expand Down
2 changes: 1 addition & 1 deletion crates/chia-protocol/fuzz/fuzz_targets/spend-bundle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ fuzz_target!(|data: &[u8]| {
.expect("run");
total_cost += cost;

let parent_coin_info: Bytes32 = cs.coin.coin_id().into();
let parent_coin_info = cs.coin.coin_id();

while let Some((c, tail)) = a.next(conds) {
conds = tail;
Expand Down
7 changes: 4 additions & 3 deletions crates/chia-protocol/src/coin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pub struct Coin {
}

impl Coin {
pub fn coin_id(&self) -> [u8; 32] {
pub fn coin_id(&self) -> Bytes32 {
let mut hasher = Sha256::new();
hasher.update(self.parent_coin_info);
hasher.update(self.puzzle_hash);
Expand All @@ -41,7 +41,8 @@ impl Coin {
hasher.update(&amount_bytes[start..]);
}

hasher.finalize().as_slice().try_into().unwrap()
let coin_id: [u8; 32] = hasher.finalize().as_slice().try_into().unwrap();
Bytes32::new(coin_id)
}
}

Expand Down Expand Up @@ -110,7 +111,7 @@ mod tests {
sha256.update(parent_coin);
sha256.update(puzzle_hash);
sha256.update(bytes);
assert_eq!(c.coin_id(), &sha256.finalize() as &[u8]);
assert_eq!(c.coin_id().to_bytes(), &sha256.finalize() as &[u8]);
}

#[test]
Expand Down
4 changes: 2 additions & 2 deletions crates/chia-protocol/src/spend_bundle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ impl SpendBundle {
return Err(EvalErr(a.nil(), "cost exceeded".to_string()));
}
cost_left -= cost;
let parent_coin_info: Bytes32 = cs.coin.coin_id().into();
let parent_coin_info: Bytes32 = cs.coin.coin_id();

while let Some((c, tail)) = a.next(conds) {
conds = tail;
Expand Down Expand Up @@ -215,7 +215,7 @@ ff01\
let additions = bundle.additions().expect("additions");

let new_coin = Coin::new(
test_coin.coin_id().into(),
test_coin.coin_id(),
hex::decode("2222222222222222222222222222222222222222222222222222222222222222")
.unwrap()
.try_into()
Expand Down
2 changes: 1 addition & 1 deletion crates/chia-tools/src/bin/fast-forward-spend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ fn main() {
};

let new_coin = Coin {
parent_coin_info: new_parent_coin.coin_id().into(),
parent_coin_info: new_parent_coin.coin_id(),
puzzle_hash,
amount: spend.coin.amount,
};
Expand Down
2 changes: 1 addition & 1 deletion wheel/src/api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ fn supports_fast_forward(spend: &CoinSpend) -> bool {
amount: spend.coin.amount,
};
let new_coin = Coin {
parent_coin_info: new_parent.coin_id().into(),
parent_coin_info: new_parent.coin_id(),
puzzle_hash: spend.coin.puzzle_hash,
amount: spend.coin.amount,
};
Expand Down

0 comments on commit 73a0272

Please sign in to comment.