MessageSignRequest class
Unified arbitrary-data signature request — covers
personal_sign, eth_signTypedData*, solana_signMessage,
mpurse_signMessage. NOT a transaction; typically used for
login (Sign-In With Ethereum/Solana) or off-chain attestations.
Decoded fields:
- messageBytes / messageText — raw bytes + UTF-8 decode
- structuredData / structuredPrimaryType / structuredDomain — for EIP-712 typed data
- isSiwe / isSiws / siweFields — auto-detected Sign-In-With-Ethereum / Sign-In-With-Solana pattern
- warnings — advisories (e.g. message contains a URL)
- Inheritance
-
- Object
- PendingRequest
- MessageSignRequest
Properties
- account → String?
-
Account ID the dApp is signing as, if specified.
finalinherited
- chain → String
-
"evm"/"solana"/"bitcoin".no setter - created → DateTime?
-
Timestamp when the request was created.
finalinherited
- from → String
-
Signer's address in the chain's native format.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- host → String
-
Hostname of the dApp that initiated the request.
finalinherited
- id → String
-
Unique request identifier.
finalinherited
- isAccepted → bool
-
no setterinherited
- isPending → bool
-
no setterinherited
- isRejected → bool
-
no setterinherited
- isSiwe → bool
-
True when the message matches the EIP-4361 (Sign-In With
Ethereum) pattern. UI can render a friendlier "Login to
example.com" prompt with siweFields instead of the raw
message body.
no setter
- isSiws → bool
-
True for Sign-In With Solana (same pattern as SIWE, different
chain family).
no setter
- isTimedOut → bool
-
no setterinherited
- messageBytes → Uint8List
-
Raw message bytes (base64-decoded from the wire form).
no setter
- messageText → String
-
UTF-8 decode of messageBytes when the bytes are valid
printable text. Empty otherwise — fall back to messageBytes
(hex-encoded display) for binary messages.
no setter
- method → String
-
Original RPC method (
"personal_sign","eth_signTypedData_v4","solana_signMessage","mpurse_signMessage").no setter - rawValue → dynamic
-
Raw value payload as delivered by Go. Kept untyped on the base class
because each request type has its own shape; concrete subtypes expose
typed accessors. Consumers generally don't need to touch this.
finalinherited
- result → dynamic
-
Result payload once the request has been approved (e.g. signature,
tx hash). Null while pending. Shape depends on the request type;
subtypes may expose typed getters.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- signResult → dynamic
-
0x-hex signature for EVM, base64 for mpurse, or{signature, publicKey}map for Solana — depends on method. Null while pending.no setter -
siweFields
→ Map<
String, String> -
Parsed SIWE/SIWS fields when isSiwe / isSiws is true:
domain,address,uri,version,chainid,nonce,issuedat,expirationtime,notbefore,requestid,resources. Lowercase keys with no spaces.no setter - status → String
-
Current status:
pending,accepted,rejected, ortimedout.finalinherited -
structuredData
→ Map<
String, dynamic> ? -
EIP-712 parsed object
{types, domain, primaryType, message}. Null for non-typed-data methods.no setter -
structuredDomain
→ Map<
String, dynamic> ? -
EIP-712 domain —
{name, version, chainId, verifyingContract}.no setter - structuredPrimaryType → String
-
EIP-712 primary type — the "main" struct the user is signing.
no setter
- transaction → Transaction?
-
EVM transaction attached to the request, if this is a
sign-type request representingeth_sendTransaction. Null for other types.finalinherited - type → String
-
Wire-level type discriminator (e.g.
connect,personal_sign,solana_sign_transaction). Exposed for logging / telemetry; for behaviour, pattern-match on the subtype instead.no setteroverride - updated → DateTime?
-
Timestamp when the request was last updated.
finalinherited
- verifyingContractLabel → String
-
Curated label for the EIP-712 domain's
verifyingContractwhen the address matches a known entry in libwallet's contract registry — e.g."Uniswap V3: SwapRouter02","OpenSea: Seaport 1.6","Aave V3: Pool". Empty when there's no curated match (custom contract, chain not yet in the registry); host shows the raw address alone in that case.no setter -
warnings
→ List<
TxSignWarning> -
Advisories the approval sheet should surface.
no setter
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited