core icon indicating copy to clipboard operation
core copied to clipboard

[Bug] Fail to serialize custom structs with i128 when using TypedData::from_struct

Open JNP777 opened this issue 9 months ago • 3 comments

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);

JNP777 avatar May 13 '24 11:05 JNP777