diff --git a/cli/auth/x402_key.py b/cli/auth/x402_key.py index a4057f2..9c76731 100644 --- a/cli/auth/x402_key.py +++ b/cli/auth/x402_key.py @@ -15,17 +15,16 @@ def make_signer(profile: X402KeyProfile) -> tuple[str, Callable[[dict[str, Any]] address: str = account.address def sign(typed_data: dict[str, Any]) -> str: - domain = typed_data["domain"] - msg = typed_data["message"] - primary = typed_data.get("primary_type", typed_data.get("primaryType")) - types = {k: v for k, v in typed_data["types"].items() if k != "EIP712Domain"} - signable = encode_typed_data( - primaryType=primary, - domain_data=domain, - types=types, - message=msg, - ) + full_message = { + "types": typed_data["types"], + "primaryType": typed_data.get( + "primary_type", typed_data.get("primaryType") + ), + "domain": typed_data["domain"], + "message": typed_data["message"], + } + signable = encode_typed_data(full_message=full_message) signed = account.sign_message(signable) - return signed.signature.hex() + return f"0x{signed.signature.hex()}" return address, sign diff --git a/uv.lock b/uv.lock index 0908ff7..77f892c 100644 --- a/uv.lock +++ b/uv.lock @@ -111,7 +111,7 @@ wheels = [ [[package]] name = "allium-cli" -version = "0.1.0" +version = "0.2.0" source = { editable = "." } dependencies = [ { name = "click" },