uvd-x402-sdk 2.72.0 → 2.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1486,6 +1486,22 @@ interface PrepareRelayFeedbackResponse {
1486
1486
  * nobody.
1487
1487
  */
1488
1488
  signingPayload?: string;
1489
+ /**
1490
+ * The full `eth_signTypedData_v4` payload. **v4 delegates only.**
1491
+ *
1492
+ * Present exactly when the delegate deployed on that chain is v4, which the
1493
+ * facilitator reads from the chain per request rather than assuming from a
1494
+ * release. **When it is present, sign IT** — the wallet renders the agent, the
1495
+ * score, the tags and the deadline as named fields, so the rater sees what
1496
+ * they authorise instead of a hex blob.
1497
+ *
1498
+ * v4 carries no {@link signingPayload} and needs none: `signTypedData` has no
1499
+ * envelope to apply twice, which is the entire class of bug that kept the v3
1500
+ * rail at zero signatures for days.
1501
+ *
1502
+ * Requires facilitator v1.96.0+.
1503
+ */
1504
+ typedData?: Record<string, unknown>;
1489
1505
  /**
1490
1506
  * Unix seconds after which the authorisation is void. Short on purpose:
1491
1507
  * relaying is permissionless, so a signed authorisation is live in the wild
@@ -2077,6 +2093,9 @@ declare class Erc8004Client {
2077
2093
  * - wallet: `personal_sign` over `signingPayload`. `personal_sign` adds the
2078
2094
  * envelope itself, so signing `digest` with it wraps the value TWICE and
2079
2095
  * recovers a stranger — the only symptom is `relay_bad_signature`.
2096
+ * - **unless `typedData` came back** — that chain runs a v4 delegate. Then
2097
+ * sign THAT with `eth_signTypedData_v4` and ignore the other two: it is
2098
+ * the only form the rater can read, and it has no envelope ambiguity.
2080
2099
  * 2. If `delegated` is `false`, also produce an EIP-7702 authorization over
2081
2100
  * `(chainId, delegate, accountNonce)`.
2082
2101
  * 3. Hand both to {@link submitRelayedFeedback} with the SAME feedback
@@ -1486,6 +1486,22 @@ interface PrepareRelayFeedbackResponse {
1486
1486
  * nobody.
1487
1487
  */
1488
1488
  signingPayload?: string;
1489
+ /**
1490
+ * The full `eth_signTypedData_v4` payload. **v4 delegates only.**
1491
+ *
1492
+ * Present exactly when the delegate deployed on that chain is v4, which the
1493
+ * facilitator reads from the chain per request rather than assuming from a
1494
+ * release. **When it is present, sign IT** — the wallet renders the agent, the
1495
+ * score, the tags and the deadline as named fields, so the rater sees what
1496
+ * they authorise instead of a hex blob.
1497
+ *
1498
+ * v4 carries no {@link signingPayload} and needs none: `signTypedData` has no
1499
+ * envelope to apply twice, which is the entire class of bug that kept the v3
1500
+ * rail at zero signatures for days.
1501
+ *
1502
+ * Requires facilitator v1.96.0+.
1503
+ */
1504
+ typedData?: Record<string, unknown>;
1489
1505
  /**
1490
1506
  * Unix seconds after which the authorisation is void. Short on purpose:
1491
1507
  * relaying is permissionless, so a signed authorisation is live in the wild
@@ -2077,6 +2093,9 @@ declare class Erc8004Client {
2077
2093
  * - wallet: `personal_sign` over `signingPayload`. `personal_sign` adds the
2078
2094
  * envelope itself, so signing `digest` with it wraps the value TWICE and
2079
2095
  * recovers a stranger — the only symptom is `relay_bad_signature`.
2096
+ * - **unless `typedData` came back** — that chain runs a v4 delegate. Then
2097
+ * sign THAT with `eth_signTypedData_v4` and ignore the other two: it is
2098
+ * the only form the rater can read, and it has no envelope ambiguity.
2080
2099
  * 2. If `delegated` is `false`, also produce an EIP-7702 authorization over
2081
2100
  * `(chainId, delegate, accountNonce)`.
2082
2101
  * 3. Hand both to {@link submitRelayedFeedback} with the SAME feedback
@@ -2911,6 +2911,9 @@ var Erc8004Client = class {
2911
2911
  * - wallet: `personal_sign` over `signingPayload`. `personal_sign` adds the
2912
2912
  * envelope itself, so signing `digest` with it wraps the value TWICE and
2913
2913
  * recovers a stranger — the only symptom is `relay_bad_signature`.
2914
+ * - **unless `typedData` came back** — that chain runs a v4 delegate. Then
2915
+ * sign THAT with `eth_signTypedData_v4` and ignore the other two: it is
2916
+ * the only form the rater can read, and it has no envelope ambiguity.
2914
2917
  * 2. If `delegated` is `false`, also produce an EIP-7702 authorization over
2915
2918
  * `(chainId, delegate, accountNonce)`.
2916
2919
  * 3. Hand both to {@link submitRelayedFeedback} with the SAME feedback