fix: add decode_hex to models

This commit is contained in:
royvardhan
2025-02-20 21:52:46 +05:30
parent dc38f108c3
commit 7dd59dbe34
2 changed files with 13 additions and 14 deletions

View File

@@ -120,10 +120,3 @@ pub fn get_static_attribute(swap: &Swap, attribute_name: &str) -> Result<Vec<u8>
})?
.to_vec())
}
/// Decodes a hex string to a `Bytes` object.
pub fn decode_hex(hex_str: &str, err_msg: &str) -> Result<Bytes, EncodingError> {
Ok(Bytes::from(
hex::decode(hex_str).map_err(|_| EncodingError::FatalError(err_msg.to_string()))?,
))
}

View File

@@ -1,3 +1,4 @@
use hex;
use num_bigint::BigUint;
use serde::{Deserialize, Serialize};
use tycho_core::{
@@ -5,7 +6,6 @@ use tycho_core::{
Bytes,
};
use super::evm::utils::decode_hex;
use crate::encoding::{
errors::EncodingError,
serde_primitives::{biguint_string, biguint_string_option},
@@ -138,13 +138,19 @@ impl From<TychoCoreChain> for Chain {
}
impl Chain {
fn decode_hex(&self, hex_str: &str, err_msg: &str) -> Result<Bytes, EncodingError> {
Ok(Bytes::from(
hex::decode(hex_str).map_err(|_| EncodingError::FatalError(err_msg.to_string()))?,
))
}
pub fn native_token(&self) -> Result<Bytes, EncodingError> {
let decode_err_msg = "Failed to decode native token";
match self.id {
1 | 8453 | 42161 => {
decode_hex("0000000000000000000000000000000000000000", decode_err_msg)
self.decode_hex("0000000000000000000000000000000000000000", decode_err_msg)
}
324 => decode_hex("000000000000000000000000000000000000800A", decode_err_msg),
324 => self.decode_hex("000000000000000000000000000000000000800A", decode_err_msg),
_ => Err(EncodingError::InvalidInput(format!(
"Native token not set for chain {:?}. Double check the chain is supported.",
self.name
@@ -155,10 +161,10 @@ impl Chain {
pub fn wrapped_token(&self) -> Result<Bytes, EncodingError> {
let decode_err_msg = "Failed to decode wrapped token";
match self.id {
1 => decode_hex("C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", decode_err_msg),
8453 => decode_hex("4200000000000000000000000000000000000006", decode_err_msg),
324 => decode_hex("5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", decode_err_msg),
42161 => decode_hex("82aF49447D8a07e3bd95BD0d56f35241523fBab1", decode_err_msg),
1 => self.decode_hex("C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", decode_err_msg),
8453 => self.decode_hex("4200000000000000000000000000000000000006", decode_err_msg),
324 => self.decode_hex("5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", decode_err_msg),
42161 => self.decode_hex("82aF49447D8a07e3bd95BD0d56f35241523fBab1", decode_err_msg),
_ => Err(EncodingError::InvalidInput(format!(
"Wrapped token not set for chain {:?}. Double check the chain is supported.",
self.name