mppx 0.6.22 → 0.6.23

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # mppx
2
2
 
3
+ ## 0.6.23
4
+
5
+ ### Patch Changes
6
+
7
+ - c370c93: Added fee payer support and an optional `feePayerPolicy` parameter to `tempo.subscription` so activation and renewal payments can be sponsored without consuming the access key's spending limit.
8
+
3
9
  ## 0.6.22
4
10
 
5
11
  ### Patch Changes
@@ -4,6 +4,7 @@ import * as Method from '../../Method.js';
4
4
  import * as Store from '../../Store.js';
5
5
  import type * as Client from '../../viem/Client.js';
6
6
  import * as Account from '../internal/account.js';
7
+ import * as FeePayer from '../internal/fee-payer.js';
7
8
  import type * as types from '../internal/types.js';
8
9
  import * as Methods from '../Methods.js';
9
10
  import type { SubscriptionAccessKey, SubscriptionCredentialPayload, SubscriptionLookup, SubscriptionPeriodUnit, SubscriptionRecord, SubscriptionReceipt as SubscriptionReceiptValue } from '../subscription/Types.js';
@@ -164,6 +165,12 @@ export declare namespace subscription {
164
165
  * Keeps concurrent renewal safe while allowing recovery from abandoned attempts.
165
166
  */
166
167
  renewalTimeoutMs?: number | undefined;
168
+ /**
169
+ * Override the fee-payer policy for sponsored subscription payments.
170
+ * Useful when the access key + key authorization tx requires more gas
171
+ * than the default policy allows.
172
+ */
173
+ feePayerPolicy?: Partial<FeePayer.Policy> | undefined;
167
174
  activate?: ((parameters: {
168
175
  /** Custom activation must verify this access key matches the resolved subscription. */
169
176
  accessKey: SubscriptionAccessKey;
@@ -1 +1 @@
1
- {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Subscription.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,OAAO,EAA6B,MAAM,MAAM,CAAA;AAWlG,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACnF,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAGjD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAQxC,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,IAAI,wBAAwB,EAChD,MAAM,0BAA0B,CAAA;AAEjC,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAEvF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,UAAU,SAAS,YAAY,CAAC,UAAU,EAC3E,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDA8OpD;AAuiBD;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAqCtF;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,gFAAgF;IAChF,KAAK,UAAU,GAAG;QAChB,iCAAiC;QACjC,cAAc,EAAE,MAAM,CAAA;QACtB,qFAAqF;QACrF,KAAK,CAAC,EACF,CAAC,CAAC,UAAU,EAAE;YACZ,0FAA0F;YAC1F,iBAAiB,EAAE,MAAM,CAAA;YACzB,WAAW,EAAE,MAAM,CAAA;YACnB,YAAY,EAAE,kBAAkB,CAAA;SACjC,KAAK,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,GAC1C,SAAS,CAAA;QACb,6CAA6C;QAC7C,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACjD;;;WAGG;QACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC1C,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAA;IAEjC,gDAAgD;IAChD,KAAK,MAAM,GAAG,YAAY,CAAC,aAAa,CAAA;CACzC;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,sEAAsE;IACtE,KAAK,oBAAoB,GAAG,kBAAkB,CAAA;IAE9C,2EAA2E;IAC3E,KAAK,gBAAgB,GAAG;QACtB,OAAO,EAAE,wBAAwB,CAAA;QACjC,YAAY,EAAE,kBAAkB,CAAA;KACjC,CAAA;IAED,uEAAuE;IACvE,KAAK,aAAa,GAAG;QACnB,OAAO,EAAE,wBAAwB,CAAA;QACjC,YAAY,EAAE,kBAAkB,CAAA;KACjC,CAAA;IAED,6DAA6D;IAC7D,KAAK,QAAQ,GAAG,SAAS,CACvB,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,EACnD,WAAW,GAAG,WAAW,CAC1B,CAAA;IAED,8DAA8D;IAC9D,KAAK,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,GAC1C,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG;QAC9B,SAAS,CAAC,EACN,CAAC,CAAC,UAAU,EAAE;YACZ,KAAK,EAAE,OAAO,CAAA;YACd,OAAO,EAAE,mBAAmB,CAAA;YAC5B,QAAQ,EAAE,oBAAoB,CAAA;SAC/B,KAAK,YAAY,CAAC,qBAAqB,CAAC,CAAC,GAC1C,SAAS,CAAA;QACb;;;WAGG;QACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxC;;;WAGG;QACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,QAAQ,CAAC,EACL,CAAC,CAAC,UAAU,EAAE;YACZ,uFAAuF;YACvF,SAAS,EAAE,qBAAqB,CAAA;YAChC,UAAU,EAAE;gBACV,OAAO,EAAE,6BAA6B,CAAA;gBACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;aAC5B,CAAA;YACD,KAAK,EAAE,OAAO,CAAA;YACd,OAAO,EAAE,mBAAmB,CAAA;YAC5B,QAAQ,EAAE,oBAAoB,CAAA;YAC9B,MAAM,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAA;SACrD,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAChC,SAAS,CAAA;QACb,KAAK,CAAC,EACF;YACE,SAAS,CAAC,EACN,CAAC,CAAC,UAAU,EAAE;gBACZ,OAAO,EAAE,wBAAwB,CAAA;gBACjC,YAAY,EAAE,kBAAkB,CAAA;aACjC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,GACzB,SAAS,CAAA;YACb,OAAO,CAAC,EACJ,CAAC,CAAC,UAAU,EAAE;gBACZ,WAAW,EAAE,MAAM,CAAA;gBACnB,OAAO,EAAE,wBAAwB,CAAA;gBACjC,YAAY,EAAE,kBAAkB,CAAA;aACjC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,GACzB,SAAS,CAAA;SACd,GACD,SAAS,CAAA;QACb,WAAW,CAAC,EAAE,OAAO,CAAC,4BAA4B,GAAG,SAAS,CAAA;QAC9D,UAAU,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAA;QAC/C;;;;WAIG;QACH,OAAO,EAAE,CAAC,UAAU,EAAE;YACpB,KAAK,EAAE,OAAO,CAAA;YACd,OAAO,EAAE,mBAAmB,CAAA;SAC7B,KAAK,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;QAC/C,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE;YACnB,0FAA0F;YAC1F,iBAAiB,EAAE,MAAM,CAAA;YACzB,WAAW,EAAE,MAAM,CAAA;YACnB,sGAAsG;YACtG,YAAY,EAAE,kBAAkB,CAAA;SACjC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;QAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC1C,GAAG,QAAQ,CAAA;IAEd,0EAA0E;IAC1E,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,KAAK,CAAC,cAAc,CACvE,UAAU,EACV,QAAQ,CACT,GAAG;QACF,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF"}
1
+ {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Subscription.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Base64 } from 'ox';
2
2
  import { KeyAuthorization } from 'ox/tempo';
3
3
  import { encodeFunctionData, isAddressEqual } from 'viem';
4
- import { call as viem_call, sendRawTransaction, sendRawTransactionSync, signTransaction, } from 'viem/actions';
4
+ import { call as viem_call, prepareTransactionRequest, sendRawTransaction, sendRawTransactionSync, signTransaction, } from 'viem/actions';
5
5
  import { tempo as tempo_chain } from 'viem/chains';
6
6
  import { Abis, Account as TempoAccount, Transaction } from 'viem/tempo';
7
7
  import { VerificationFailedError } from '../../Errors.js';
@@ -11,6 +11,7 @@ import * as ClientResolver from '../../viem/Client.js';
11
11
  import * as Attribution from '../Attribution.js';
12
12
  import * as Account from '../internal/account.js';
13
13
  import * as defaults from '../internal/defaults.js';
14
+ import * as FeePayer from '../internal/fee-payer.js';
14
15
  import * as Proof from '../internal/proof.js';
15
16
  import * as Methods from '../Methods.js';
16
17
  import { assertSubscriptionTiming, toSubscriptionPeriodSeconds, verifySubscriptionKeyAuthorization, } from '../subscription/KeyAuthorization.js';
@@ -33,7 +34,7 @@ export function subscription(p) {
33
34
  activationTimeoutMs: parameters.activationTimeoutMs,
34
35
  renewalTimeoutMs: parameters.renewalTimeoutMs,
35
36
  });
36
- const { recipient } = Account.resolve(parameters);
37
+ const { feePayer, recipient } = Account.resolve(parameters);
37
38
  const getClient = ClientResolver.getResolver({
38
39
  chain: tempo_chain,
39
40
  getClient: parameters.getClient,
@@ -63,6 +64,8 @@ export function subscription(p) {
63
64
  const periodIndex = getPeriodIndex(subscription);
64
65
  if (periodIndex > subscription.lastChargedPeriod) {
65
66
  const renew = resolveRenewalHandler({
67
+ feePayer,
68
+ feePayerPolicy: parameters.feePayerPolicy,
66
69
  getClient,
67
70
  parameters,
68
71
  store,
@@ -182,6 +185,8 @@ export function subscription(p) {
182
185
  accessKey,
183
186
  auto: {
184
187
  challengeId: credential.challenge.id,
188
+ feePayer,
189
+ feePayerPolicy: parameters.feePayerPolicy,
185
190
  getClient,
186
191
  keyAuthorization: credential.payload.signature,
187
192
  realm: credential.challenge.realm,
@@ -278,6 +283,8 @@ async function activateSubscription(parameters) {
278
283
  // billing authority needed for request-path and background renewals.
279
284
  const reference = await submitSubscriptionPayment({
280
285
  accessKey,
286
+ feePayer: auto.feePayer,
287
+ feePayerPolicy: auto.feePayerPolicy,
281
288
  getClient: auto.getClient,
282
289
  keyAuthorization: auto.keyAuthorization,
283
290
  lookupKey: resolved.key,
@@ -497,7 +504,7 @@ function subscriptionBinding(request) {
497
504
  };
498
505
  }
499
506
  function resolveRenewalHandler(parameters) {
500
- const { getClient, parameters: subscriptionParameters, store, subscription, waitForConfirmation, } = parameters;
507
+ const { feePayer, feePayerPolicy, getClient, parameters: subscriptionParameters, store, subscription, waitForConfirmation, } = parameters;
501
508
  if (subscriptionParameters.renew)
502
509
  return subscriptionParameters.renew;
503
510
  if (!subscription.accessKey || !subscription.payer)
@@ -505,6 +512,8 @@ function resolveRenewalHandler(parameters) {
505
512
  return async ({ inFlightReference, periodIndex, subscription }) => {
506
513
  const reference = await submitSubscriptionPayment({
507
514
  accessKey: subscription.accessKey,
515
+ feePayer,
516
+ feePayerPolicy,
508
517
  getClient,
509
518
  lookupKey: subscription.lookupKey,
510
519
  request: subscription,
@@ -526,7 +535,7 @@ function resolveRenewalHandler(parameters) {
526
535
  };
527
536
  }
528
537
  async function submitSubscriptionPayment(parameters) {
529
- const { accessKey, getClient, keyAuthorization, lookupKey, request, settlementReference, source, store, waitForConfirmation, } = parameters;
538
+ const { accessKey, feePayer, feePayerPolicy, getClient, keyAuthorization, lookupKey, request, settlementReference, source, store, waitForConfirmation, } = parameters;
530
539
  const stored = await store.getAccessKey(lookupKey);
531
540
  if (!stored) {
532
541
  throw new VerificationFailedError({ reason: 'subscription access key is missing' });
@@ -546,7 +555,7 @@ async function submitSubscriptionPayment(parameters) {
546
555
  challengeId: settlementReference,
547
556
  serverId: lookupKey,
548
557
  });
549
- const serializedTransaction = await signTransaction(client, {
558
+ const baseTransaction = {
550
559
  account,
551
560
  calls: [
552
561
  {
@@ -562,12 +571,44 @@ async function submitSubscriptionPayment(parameters) {
562
571
  ...(keyAuthorization
563
572
  ? { keyAuthorization: KeyAuthorization.deserialize(keyAuthorization) }
564
573
  : {}),
565
- });
574
+ };
575
+ const serializedTransaction = await (async () => {
576
+ if (!feePayer)
577
+ return await signTransaction(client, baseTransaction);
578
+ // For sponsored payments, prepare the tx via `prepareTransactionRequest`
579
+ // (without `feePayer: true`) so viem returns the chain's full
580
+ // proof-inclusive gas estimate. With `feePayer: true` viem sets a
581
+ // dummy sig + null feePayerSignature, dropping signature and key
582
+ // authorization verification costs — see chainConfig.js FIXME. We add
583
+ // a small buffer for fee-payer overhead, then flip `feePayer = true`
584
+ // and re-sign with the fee-payer-sponsored envelope.
585
+ const prepared = await prepareTransactionRequest(client, {
586
+ ...baseTransaction,
587
+ nonceKey: 'expiring',
588
+ });
589
+ prepared.gas = (prepared.gas ?? 0n) + 5000n;
590
+ prepared.feePayer = true;
591
+ const userSerialized = await signTransaction(client, prepared);
592
+ const userTransaction = Transaction.deserialize(userSerialized);
593
+ const sponsored = FeePayer.prepareSponsoredTransaction({
594
+ account: feePayer,
595
+ chainId: chainId ?? client.chain.id,
596
+ details: {
597
+ amount: String(request.amount),
598
+ currency: String(request.currency),
599
+ recipient: String(request.recipient),
600
+ },
601
+ ...(feePayerPolicy ? { policy: feePayerPolicy } : {}),
602
+ transaction: userTransaction,
603
+ });
604
+ return await signTransaction(client, sponsored);
605
+ })();
566
606
  const transaction = Transaction.deserialize(serializedTransaction);
567
607
  await viem_call(client, {
568
608
  ...transaction,
569
609
  account: transaction.from,
570
610
  calls: transaction.calls,
611
+ feePayerSignature: undefined,
571
612
  });
572
613
  if (!waitForConfirmation) {
573
614
  return sendRawTransaction(client, {
@@ -1 +1 @@
1
- {"version":3,"file":"Subscription.js","sourceRoot":"","sources":["../../../src/tempo/server/Subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subscription.js","sourceRoot":"","sources":["../../../src/tempo/server/Subscription.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mppx",
3
3
  "type": "module",
4
- "version": "0.6.22",
4
+ "version": "0.6.23",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "files": [
@@ -3,6 +3,7 @@ import { KeyAuthorization } from 'ox/tempo'
3
3
  import { encodeFunctionData, isAddressEqual, type Address, type Client as ViemClient } from 'viem'
4
4
  import {
5
5
  call as viem_call,
6
+ prepareTransactionRequest,
6
7
  sendRawTransaction,
7
8
  sendRawTransactionSync,
8
9
  signTransaction,
@@ -19,6 +20,7 @@ import * as ClientResolver from '../../viem/Client.js'
19
20
  import * as Attribution from '../Attribution.js'
20
21
  import * as Account from '../internal/account.js'
21
22
  import * as defaults from '../internal/defaults.js'
23
+ import * as FeePayer from '../internal/fee-payer.js'
22
24
  import * as Proof from '../internal/proof.js'
23
25
  import type * as types from '../internal/types.js'
24
26
  import * as Methods from '../Methods.js'
@@ -72,7 +74,7 @@ export function subscription<const parameters extends subscription.Parameters>(
72
74
  activationTimeoutMs: parameters.activationTimeoutMs,
73
75
  renewalTimeoutMs: parameters.renewalTimeoutMs,
74
76
  })
75
- const { recipient } = Account.resolve(parameters)
77
+ const { feePayer, recipient } = Account.resolve(parameters)
76
78
  const getClient = ClientResolver.getResolver({
77
79
  chain: tempo_chain,
78
80
  getClient: parameters.getClient,
@@ -104,6 +106,8 @@ export function subscription<const parameters extends subscription.Parameters>(
104
106
  const periodIndex = getPeriodIndex(subscription)
105
107
  if (periodIndex > subscription.lastChargedPeriod) {
106
108
  const renew = resolveRenewalHandler({
109
+ feePayer,
110
+ feePayerPolicy: parameters.feePayerPolicy,
107
111
  getClient,
108
112
  parameters,
109
113
  store,
@@ -235,6 +239,8 @@ export function subscription<const parameters extends subscription.Parameters>(
235
239
  accessKey,
236
240
  auto: {
237
241
  challengeId: credential.challenge.id,
242
+ feePayer,
243
+ feePayerPolicy: parameters.feePayerPolicy,
238
244
  getClient,
239
245
  keyAuthorization: (credential.payload as SubscriptionCredentialPayload).signature,
240
246
  realm: credential.challenge.realm,
@@ -346,6 +352,8 @@ async function activateSubscription(parameters: {
346
352
  accessKey: SubscriptionAccessKey
347
353
  auto: {
348
354
  challengeId: string
355
+ feePayer?: ReturnType<typeof Account.resolve>['feePayer'] | undefined
356
+ feePayerPolicy?: Partial<FeePayer.Policy> | undefined
349
357
  getClient: (parameters: { chainId?: number | undefined }) => MaybePromise<ViemClient>
350
358
  keyAuthorization: `0x${string}`
351
359
  realm: string
@@ -391,6 +399,8 @@ async function activateSubscription(parameters: {
391
399
  // billing authority needed for request-path and background renewals.
392
400
  const reference = await submitSubscriptionPayment({
393
401
  accessKey,
402
+ feePayer: auto.feePayer,
403
+ feePayerPolicy: auto.feePayerPolicy,
394
404
  getClient: auto.getClient,
395
405
  keyAuthorization: auto.keyAuthorization,
396
406
  lookupKey: resolved.key,
@@ -689,6 +699,8 @@ function subscriptionBinding(request: SubscriptionRequest) {
689
699
  }
690
700
 
691
701
  function resolveRenewalHandler(parameters: {
702
+ feePayer?: ReturnType<typeof Account.resolve>['feePayer'] | undefined
703
+ feePayerPolicy?: Partial<FeePayer.Policy> | undefined
692
704
  getClient: (parameters: { chainId?: number | undefined }) => MaybePromise<ViemClient>
693
705
  parameters: {
694
706
  renew?:
@@ -710,6 +722,8 @@ function resolveRenewalHandler(parameters: {
710
722
  }) => Promise<subscription.RenewalResult>)
711
723
  | undefined {
712
724
  const {
725
+ feePayer,
726
+ feePayerPolicy,
713
727
  getClient,
714
728
  parameters: subscriptionParameters,
715
729
  store,
@@ -721,6 +735,8 @@ function resolveRenewalHandler(parameters: {
721
735
  return async ({ inFlightReference, periodIndex, subscription }) => {
722
736
  const reference = await submitSubscriptionPayment({
723
737
  accessKey: subscription.accessKey!,
738
+ feePayer,
739
+ feePayerPolicy,
724
740
  getClient,
725
741
  lookupKey: subscription.lookupKey,
726
742
  request: subscription,
@@ -744,6 +760,8 @@ function resolveRenewalHandler(parameters: {
744
760
 
745
761
  async function submitSubscriptionPayment(parameters: {
746
762
  accessKey: SubscriptionAccessKey
763
+ feePayer?: ReturnType<typeof Account.resolve>['feePayer'] | undefined
764
+ feePayerPolicy?: Partial<FeePayer.Policy> | undefined
747
765
  getClient: (parameters: { chainId?: number | undefined }) => MaybePromise<ViemClient>
748
766
  keyAuthorization?: `0x${string}` | undefined
749
767
  lookupKey: string
@@ -757,6 +775,8 @@ async function submitSubscriptionPayment(parameters: {
757
775
  }) {
758
776
  const {
759
777
  accessKey,
778
+ feePayer,
779
+ feePayerPolicy,
760
780
  getClient,
761
781
  keyAuthorization,
762
782
  lookupKey,
@@ -786,7 +806,7 @@ async function submitSubscriptionPayment(parameters: {
786
806
  challengeId: settlementReference,
787
807
  serverId: lookupKey,
788
808
  })
789
- const serializedTransaction = await signTransaction(client, {
809
+ const baseTransaction = {
790
810
  account,
791
811
  calls: [
792
812
  {
@@ -802,7 +822,39 @@ async function submitSubscriptionPayment(parameters: {
802
822
  ...(keyAuthorization
803
823
  ? { keyAuthorization: KeyAuthorization.deserialize(keyAuthorization) }
804
824
  : {}),
805
- } as never)
825
+ }
826
+ const serializedTransaction = await (async () => {
827
+ if (!feePayer) return await signTransaction(client, baseTransaction as never)
828
+ // For sponsored payments, prepare the tx via `prepareTransactionRequest`
829
+ // (without `feePayer: true`) so viem returns the chain's full
830
+ // proof-inclusive gas estimate. With `feePayer: true` viem sets a
831
+ // dummy sig + null feePayerSignature, dropping signature and key
832
+ // authorization verification costs — see chainConfig.js FIXME. We add
833
+ // a small buffer for fee-payer overhead, then flip `feePayer = true`
834
+ // and re-sign with the fee-payer-sponsored envelope.
835
+ const prepared = await prepareTransactionRequest(client, {
836
+ ...baseTransaction,
837
+ nonceKey: 'expiring',
838
+ } as never)
839
+ prepared.gas = (prepared.gas ?? 0n) + 5_000n
840
+ ;(prepared as Record<string, unknown>).feePayer = true
841
+ const userSerialized = await signTransaction(client, prepared as never)
842
+ const userTransaction = Transaction.deserialize(
843
+ userSerialized as Transaction.TransactionSerializedTempo,
844
+ )
845
+ const sponsored = FeePayer.prepareSponsoredTransaction({
846
+ account: feePayer,
847
+ chainId: chainId ?? client.chain!.id,
848
+ details: {
849
+ amount: String(request.amount),
850
+ currency: String(request.currency),
851
+ recipient: String(request.recipient),
852
+ },
853
+ ...(feePayerPolicy ? { policy: feePayerPolicy } : {}),
854
+ transaction: userTransaction as never,
855
+ })
856
+ return await signTransaction(client, sponsored as never)
857
+ })()
806
858
  const transaction = Transaction.deserialize(
807
859
  serializedTransaction as Transaction.TransactionSerializedTempo,
808
860
  )
@@ -810,6 +862,7 @@ async function submitSubscriptionPayment(parameters: {
810
862
  ...transaction,
811
863
  account: transaction.from,
812
864
  calls: transaction.calls,
865
+ feePayerSignature: undefined,
813
866
  } as never)
814
867
 
815
868
  if (!waitForConfirmation) {
@@ -950,6 +1003,12 @@ export declare namespace subscription {
950
1003
  * Keeps concurrent renewal safe while allowing recovery from abandoned attempts.
951
1004
  */
952
1005
  renewalTimeoutMs?: number | undefined
1006
+ /**
1007
+ * Override the fee-payer policy for sponsored subscription payments.
1008
+ * Useful when the access key + key authorization tx requires more gas
1009
+ * than the default policy allows.
1010
+ */
1011
+ feePayerPolicy?: Partial<FeePayer.Policy> | undefined
953
1012
  activate?:
954
1013
  | ((parameters: {
955
1014
  /** Custom activation must verify this access key matches the resolved subscription. */