Correct decimal data type
This was already correct in terra and eth but wrong in the design doc and solana Change-Id: I6e3fcf710d81f3cb56868ff7ab73fb3aba1d95bf
This commit is contained in:
parent
af4e29978d
commit
8f4ed821ab
|
@ -136,8 +136,8 @@ PayloadID uint8 = 2
|
||||||
TokenAddress [32]uint8
|
TokenAddress [32]uint8
|
||||||
// Chain ID of the token
|
// Chain ID of the token
|
||||||
TokenChain uint16
|
TokenChain uint16
|
||||||
// Number of decimals of the token (big-endian uint256)
|
// Number of decimals of the token
|
||||||
Decimals [32]uint8
|
Decimals uint8
|
||||||
// Symbol of the token (UTF-8)
|
// Symbol of the token (UTF-8)
|
||||||
Symbol [32]uint8
|
Symbol [32]uint8
|
||||||
// Name of the token (UTF-8)
|
// Name of the token (UTF-8)
|
||||||
|
|
|
@ -75,7 +75,7 @@ pub fn attest_token(
|
||||||
let payload = PayloadAssetMeta {
|
let payload = PayloadAssetMeta {
|
||||||
token_address: accs.mint.info().key.to_bytes(),
|
token_address: accs.mint.info().key.to_bytes(),
|
||||||
token_chain: 1,
|
token_chain: 1,
|
||||||
decimals: U256::from(accs.mint.decimals),
|
decimals: accs.mint.decimals,
|
||||||
symbol: "".to_string(), // TODO metadata
|
symbol: "".to_string(), // TODO metadata
|
||||||
name: "".to_string(),
|
name: "".to_string(),
|
||||||
};
|
};
|
||||||
|
|
|
@ -431,7 +431,7 @@ pub fn attest(
|
||||||
let payload = PayloadAssetMeta {
|
let payload = PayloadAssetMeta {
|
||||||
token_address: mint.to_bytes(),
|
token_address: mint.to_bytes(),
|
||||||
token_chain: 1,
|
token_chain: 1,
|
||||||
decimals: U256::from(mint_data.decimals),
|
decimals: mint_data.decimals,
|
||||||
symbol: "".to_string(), // TODO metadata
|
symbol: "".to_string(), // TODO metadata
|
||||||
name: "".to_string(),
|
name: "".to_string(),
|
||||||
};
|
};
|
||||||
|
|
|
@ -94,8 +94,8 @@ pub struct PayloadAssetMeta {
|
||||||
pub token_address: Address,
|
pub token_address: Address,
|
||||||
// Chain ID of the token
|
// Chain ID of the token
|
||||||
pub token_chain: ChainID,
|
pub token_chain: ChainID,
|
||||||
// Number of decimals of the token (big-endian uint256)
|
// Number of decimals of the token
|
||||||
pub decimals: U256,
|
pub decimals: u8,
|
||||||
// Symbol of the token
|
// Symbol of the token
|
||||||
pub symbol: String,
|
pub symbol: String,
|
||||||
// Name of the token
|
// Name of the token
|
||||||
|
@ -114,10 +114,7 @@ impl DeserializePayload for PayloadAssetMeta {
|
||||||
v.read_exact(&mut token_address)?;
|
v.read_exact(&mut token_address)?;
|
||||||
|
|
||||||
let token_chain = v.read_u16::<BigEndian>()?;
|
let token_chain = v.read_u16::<BigEndian>()?;
|
||||||
|
let decimals = v.read_u8()?;
|
||||||
let mut decimals_data: [u8; 32] = [0; 32];
|
|
||||||
v.read_exact(&mut decimals_data)?;
|
|
||||||
let decimals = U256::from_big_endian(&decimals_data);
|
|
||||||
|
|
||||||
let mut symbol_data: [u8; 32] = [0; 32];
|
let mut symbol_data: [u8; 32] = [0; 32];
|
||||||
v.read_exact(&mut symbol_data)?;
|
v.read_exact(&mut symbol_data)?;
|
||||||
|
@ -147,9 +144,7 @@ impl SerializePayload for PayloadAssetMeta {
|
||||||
writer.write(&self.token_address)?;
|
writer.write(&self.token_address)?;
|
||||||
writer.write_u16::<BigEndian>(self.token_chain)?;
|
writer.write_u16::<BigEndian>(self.token_chain)?;
|
||||||
|
|
||||||
let mut decimal_data: [u8; 32] = [0; 32];
|
writer.write_u8(self.decimals)?;
|
||||||
self.decimals.to_big_endian(&mut decimal_data);
|
|
||||||
writer.write(&decimal_data)?;
|
|
||||||
|
|
||||||
let mut symbol: [u8; 32] = [0; 32];
|
let mut symbol: [u8; 32] = [0; 32];
|
||||||
for i in 0..self.symbol.len() {
|
for i in 0..self.symbol.len() {
|
||||||
|
|
|
@ -138,8 +138,8 @@ impl TransferInfo {
|
||||||
// TokenAddress [32]uint8
|
// TokenAddress [32]uint8
|
||||||
// // Chain ID of the token
|
// // Chain ID of the token
|
||||||
// TokenChain uint16
|
// TokenChain uint16
|
||||||
// // Number of decimals of the token (big-endian uint256)
|
// // Number of decimals of the token
|
||||||
// Decimals [32]uint8
|
// Decimals uint8
|
||||||
// // Symbol of the token (UTF-8)
|
// // Symbol of the token (UTF-8)
|
||||||
// Symbol [32]uint8
|
// Symbol [32]uint8
|
||||||
// // Name of the token (UTF-8)
|
// // Name of the token (UTF-8)
|
||||||
|
|
Loading…
Reference in New Issue