solana: fix read; uptick 0.0.1-alpha.9

This commit is contained in:
A5 Pickle 2024-01-30 19:39:33 -06:00
parent edaafbb5f5
commit 0fdd3f0ecf
No known key found for this signature in database
GPG Key ID: DD6C727938DE8E65
3 changed files with 30 additions and 13 deletions

4
solana/Cargo.lock generated
View File

@ -2377,7 +2377,7 @@ dependencies = [
[[package]]
name = "wormhole-cctp-solana"
version = "0.0.1-alpha.8"
version = "0.0.1-alpha.9"
dependencies = [
"anchor-lang",
"anchor-spl",
@ -2393,7 +2393,7 @@ dependencies = [
[[package]]
name = "wormhole-circle-integration-solana"
version = "0.0.1-alpha.8"
version = "0.0.1-alpha.9"
dependencies = [
"ahash 0.8.6",
"anchor-lang",

View File

@ -7,7 +7,7 @@ resolver = "2"
[workspace.package]
edition = "2021"
version = "0.0.1-alpha.8"
version = "0.0.1-alpha.9"
authors = ["Wormhole Contributors"]
license = "Apache-2.0"
homepage = "https://wormhole.com"

View File

@ -31,16 +31,33 @@ impl<P: TypePrefixedPayload> Readable for Deposit<P> {
Self: Sized,
R: io::Read,
{
Ok(Self {
token_address: Readable::read(reader)?,
amount: <[u8; 32]>::read(reader).map(U256::from_be_bytes)?,
source_cctp_domain: Readable::read(reader)?,
destination_cctp_domain: Readable::read(reader)?,
cctp_nonce: Readable::read(reader)?,
burn_source: Readable::read(reader)?,
mint_recipient: Readable::read(reader)?,
payload: TypePrefixedPayload::read_payload(reader)?,
})
let token_address = Readable::read(reader)?;
let amount = <[u8; 32]>::read(reader).map(U256::from_be_bytes)?;
let source_cctp_domain = Readable::read(reader)?;
let destination_cctp_domain = Readable::read(reader)?;
let cctp_nonce = Readable::read(reader)?;
let burn_source = Readable::read(reader)?;
let mint_recipient = Readable::read(reader)?;
let payload_len = u16::read(reader).map(usize::from)?;
let payload = P::read_payload(reader)?;
if payload.payload_written_size() != payload_len {
return Err(io::Error::new(
io::ErrorKind::InvalidData,
"payload length mismatch",
));
} else {
Ok(Self {
token_address,
amount,
source_cctp_domain,
destination_cctp_domain,
cctp_nonce,
burn_source,
mint_recipient,
payload,
})
}
}
}