/** * Discriminator for the two create-request kinds the remote signing service * exposes. `SIGNATURE` covers both `personal_sign` and `eth_signTypedData_v4` * (the backend unified them under a single `signature-requests` endpoint; * the `method` field on {@link SignatureRequestStatus} distinguishes them). * Matches the `kind` field on {@link JobStatus} variants — the SDK stamps * `kind` at the boundary; the wire payload does not carry it. */ export declare const SIGN_REQUEST_KIND: { readonly TRANSACTION: "transaction"; readonly SIGNATURE: "signature"; }; export type SignRequestKind = (typeof SIGN_REQUEST_KIND)[keyof typeof SIGN_REQUEST_KIND]; /** * The `method` value the backend's signature-request endpoint accepts. The * SDK never invents these; they match the JSON-RPC method names the user * would have signed with locally. */ export declare const SIGNATURE_METHOD: { readonly PERSONAL_SIGN: "personal_sign"; readonly ETH_SIGN_TYPED_DATA_V4: "eth_signTypedData_v4"; }; export type SignatureMethod = (typeof SIGNATURE_METHOD)[keyof typeof SIGNATURE_METHOD]; /** * Trading protocols that may attach a decoded payload to a typed-data * signature request. Matches mimir's `SIGNATURE_PROTOCOL` enum. */ export declare const SIGNATURE_PROTOCOL: { readonly HYPERLIQUID: "hyperliquid"; readonly POLYMARKET: "polymarket"; }; export type SignatureProtocol = (typeof SIGNATURE_PROTOCOL)[keyof typeof SIGNATURE_PROTOCOL]; /** * Lifecycle of a remote-signing transaction request. Mirrors the backend's * `TRANSACTION_REQUEST_STATUS` enum. {@link TX_TERMINAL_STATUSES} captures * the terminal subset. * * `BROADCAST_TRACKING_EXPIRED` and `CONFIRMATION_TRACKING_EXPIRED` are * server-side timeouts: the backend stopped following the tx (e.g. the * mempool / receipt watcher gave up). Both are terminal — clients should * surface them as "status unknown, check on-chain" rather than continuing * to poll. */ export declare const TX_JOB_STATUS: { readonly EVALUATING: "EVALUATING"; readonly AWAITING_MFA: "AWAITING_MFA"; readonly SIGNING: "SIGNING"; readonly BROADCASTING: "BROADCASTING"; readonly BROADCASTED: "BROADCASTED"; readonly CONFIRMED: "CONFIRMED"; readonly DENIED: "DENIED"; readonly EXPIRED: "EXPIRED"; readonly FAILED: "FAILED"; readonly BROADCAST_FAILED: "BROADCAST_FAILED"; readonly BROADCAST_TRACKING_EXPIRED: "BROADCAST_TRACKING_EXPIRED"; readonly CONFIRMATION_TRACKING_EXPIRED: "CONFIRMATION_TRACKING_EXPIRED"; }; export type TxJobStatusValue = (typeof TX_JOB_STATUS)[keyof typeof TX_JOB_STATUS]; /** * Lifecycle of a remote-signing message / typed-data request — a strict * subset of {@link TX_JOB_STATUS}. Sign-only jobs never broadcast and * therefore never reach `BROADCASTING` / `BROADCASTED` / `CONFIRMED`; * `SIGNED` is the success terminal. */ export declare const SIGN_JOB_STATUS: { readonly EVALUATING: "EVALUATING"; readonly AWAITING_MFA: "AWAITING_MFA"; readonly SIGNING: "SIGNING"; readonly SIGNED: "SIGNED"; readonly APPROVED: "APPROVED"; readonly DENIED: "DENIED"; readonly EXPIRED: "EXPIRED"; readonly FAILED: "FAILED"; }; export type SignJobStatusValue = (typeof SIGN_JOB_STATUS)[keyof typeof SIGN_JOB_STATUS]; /** Failure taxonomy for transaction jobs (broadcast failures included). */ export declare const FAILURE_CODE: { readonly EVALUATION_FAILED: "EVALUATION_FAILED"; readonly SIGN_FAILED: "SIGN_FAILED"; readonly BROADCAST_FAILED: "BROADCAST_FAILED"; readonly SHIELD_BLOCKED: "SHIELD_BLOCKED"; }; export type FailureCode = (typeof FAILURE_CODE)[keyof typeof FAILURE_CODE]; /** Failure taxonomy for sign-only jobs (no broadcast step). */ export declare const SIGN_JOB_FAILURE_CODE: { readonly EVALUATION_FAILED: "EVALUATION_FAILED"; readonly SIGN_FAILED: "SIGN_FAILED"; readonly SHIELD_BLOCKED: "SHIELD_BLOCKED"; }; export type SignJobFailureCode = (typeof SIGN_JOB_FAILURE_CODE)[keyof typeof SIGN_JOB_FAILURE_CODE]; /** * HTTP failure mode for {@link RemoteSigningError}. Lets callers map to * user-facing UX without parsing messages. */ export declare const REMOTE_SIGNING_ERROR_CODE: { readonly UNAUTHORIZED: "UNAUTHORIZED"; readonly NOT_FOUND: "NOT_FOUND"; readonly REQUEST_FAILED: "REQUEST_FAILED"; readonly NETWORK_ERROR: "NETWORK_ERROR"; }; export type RemoteSigningErrorCode = (typeof REMOTE_SIGNING_ERROR_CODE)[keyof typeof REMOTE_SIGNING_ERROR_CODE]; /** Statuses the remote signing service won't transition out of for a tx job. */ export declare const TX_TERMINAL_STATUSES: readonly TxJobStatusValue[]; /** Statuses the remote signing service won't transition out of for a sign-only job. */ export declare const SIGN_TERMINAL_STATUSES: readonly SignJobStatusValue[]; /** * Query param for the unified MFA approval lookup route. The CLI only ever * resolves approvals by transaction-/signature-request id (`pollingId`). */ export declare const APPROVAL_ID_TYPE: "requestId"; /** * Derived MFA approval state reported by the unified approval route. * Mirrors the backend's `MFA_APPROVAL_STATE` enum. Unlike job statuses, * this is the approval's own lifecycle — an `approved` approval does not * imply the underlying transaction has broadcast or confirmed. */ export declare const MFA_APPROVAL_STATE: { readonly PENDING: "pending"; readonly APPROVED: "approved"; readonly DENIED: "denied"; readonly EXPIRED: "expired"; }; export type MfaApprovalStateValue = (typeof MFA_APPROVAL_STATE)[keyof typeof MFA_APPROVAL_STATE]; /** Approval states the backend won't transition out of. */ export declare const MFA_APPROVAL_TERMINAL_STATES: readonly MfaApprovalStateValue[]; /** * Operation kinds an MFA approval can protect. Mirrors the backend's * `MFA_OPERATION_TYPE` enum; discriminates `MfaApprovalDetails.subject`. */ export declare const MFA_OPERATION_TYPE: { readonly TRANSACTION_REQUEST: "transaction_request"; readonly SIGNATURE_REQUEST: "signature_request"; readonly WALLET_POLICY_UPDATE: "wallet_policy_update"; readonly WALLET_MODE_CHANGE: "wallet_mode_change"; }; export type MfaOperationType = (typeof MFA_OPERATION_TYPE)[keyof typeof MFA_OPERATION_TYPE];