core
core copied to clipboard
[Bug] Fail to serialize custom structs with i128 when using TypedData::from_struct
Component
primitives
What version of Alloy are you on?
alloy-core 0.7.2
Operating System
Linux
Describe the bug
Having this custom sol struct with i128 numbers, i find that snippet 1 works and it results in a correct hash, but snippet 2 doesnt, showing a "number out of range" error. i think this is cause snippet2 function will use serde::json serialization while first 1 wont
struct Order {
bytes32 sender;
int128 priceX18;
int128 amount;
uint64 expiration;
uint64 nonce;
}
Snippet 1
let sig: FixedBytes<32> = msg.eip712_signing_hash(&(domain.clone()));
info!("sig 1 {:?}", sig);
Snippet 1
info!("st {:?} {:?}", TypedData::from_struct(&msg, Some(domain)).eip712_signing_hash(), sig);
info!("sig 2 {:?}", sig);