diff --git a/smart-accounts-kit/guides/x402/buyer/advanced-permissions.md b/smart-accounts-kit/guides/x402/buyer/advanced-permissions.md index c54ae0bffd0..326d84d7558 100644 --- a/smart-accounts-kit/guides/x402/buyer/advanced-permissions.md +++ b/smart-accounts-kit/guides/x402/buyer/advanced-permissions.md @@ -108,7 +108,7 @@ export type PaymentRequirements = { maxTimeoutSeconds: number extra: { assetTransferMethod: string - facilitators?: Address[] + facilitatorAddresses?: Address[] } } ``` @@ -121,16 +121,17 @@ export type PaymentRequirements = { Request Advanced Permissions from the user with the Wallet Client's `requestExecutionPermissions` action. In this example, you request an ERC-20 allowance permission with a fixed allowance equal to the -resource cost. Use the [`redeemer`](../../../reference/advanced-permissions/rules.md#redeemer) rule -to restrict redemption to facilitator addresses from the payment requirements. +resource cost. Set `redeemer` to restrict redemption to the facilitator addresses from the payment +requirements. The SDK converts this parameter to a +[`redeemer`](../../../reference/advanced-permissions/rules.md#redeemer) rule. See the [`requestExecutionPermissions`](../../../reference/advanced-permissions/wallet-client.md#requestexecutionpermissions) API reference for more information. ```ts import { base as chain } from 'viem/chains' -const facilitators = accepted.extra.facilitators -if (!facilitators || facilitators.length === 0) { +const facilitatorAddresses = accepted.extra.facilitatorAddresses +if (!facilitatorAddresses || facilitatorAddresses.length === 0) { console.error('No facilitators found in PAYMENT-REQUIRED') // Handle error } @@ -153,14 +154,7 @@ const grantedPermissions = await walletClient.requestExecutionPermissions([ }, isAdjustmentAllowed: false, }, - rules: [ - { - type: 'redeemer', - data: { - addresses: facilitators!, - }, - }, - ], + redeemer: facilitatorAddresses!, }, ]) ``` diff --git a/smart-accounts-kit/guides/x402/buyer/recurring-payments.md b/smart-accounts-kit/guides/x402/buyer/recurring-payments.md index b277d58a520..ae472e7a878 100644 --- a/smart-accounts-kit/guides/x402/buyer/recurring-payments.md +++ b/smart-accounts-kit/guides/x402/buyer/recurring-payments.md @@ -123,6 +123,7 @@ Create an `x402Erc7710Client` using The provider creates an open redelegation from the session account using the granted permission. The facilitator can then redeem the redelegated permission context for x402 settlement. +The provider uses the session account's address as the redelegation's `from` address. ```ts import { createx402DelegationProvider } from '@metamask/smart-accounts-kit/experimental' @@ -134,7 +135,6 @@ const erc7710Client = new x402Erc7710Client({ delegationProvider: createx402DelegationProvider({ account: sessionAccount, parentPermissionContext: permission.context, - from: permission.from, }), }) ```