Skip to content

Commit c44b6c5

Browse files
authored
Merge pull request #1017 from Web3Auth/paymaster-context
Add Paymaster Context documentation
2 parents cf1db33 + d7ef6a3 commit c44b6c5

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

docs/sdk/pnp/web/modal/account-abstraction.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import ConfigureSmartAccountProvider from "@site/src/common/sdk/pnp/web/_smart-a
1111
import ConfigureBundler from "@site/src/common/sdk/pnp/web/_bundler-configuration.mdx";
1212
import ConfigureSponsoredPaymaster from "@site/src/common/sdk/pnp/web/_sponsored-paymaster-configuration.mdx";
1313
import ConfigureERC20Paymaster from "@site/src/common/sdk/pnp/web/_erc20-paymaster-configuration.mdx";
14+
import ConfigurePaymasterContext from "@site/src/common/sdk/pnp/web/_paymaster-context.mdx";
1415
import AAModalSetup from "@site/src/common/sdk/pnp/web/_aa-modal-setup.mdx";
1516
import ConfigureSigners from "@site/src/common/sdk/pnp/web/_configure-aa-signers.mdx";
1617
import SmartAccountAddress from "@site/src/common/sdk/pnp/web/_aa-address.mdx";
@@ -50,6 +51,10 @@ You can configure the paymaster of your choice to sponsor gas fees for your user
5051
paymaster context. The paymaster context lets you set additional parameters, such as choosing the
5152
token for ERC-20 paymasters, defining gas policies, and more.
5253

54+
### Configure Paymaster Context
55+
56+
<ConfigurePaymasterContext />
57+
5358
### Sponsored Paymaster
5459

5560
<ConfigureSponsoredPaymaster />

docs/sdk/pnp/web/no-modal/account-abstraction.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import AAProviderConfiguration from "@site/src/common/sdk/pnp/web/_aa-provider-c
1010
import ConfigureSmartAccountProvider from "@site/src/common/sdk/pnp/web/_smart-account-provider-configuration.mdx";
1111
import ConfigureBundler from "@site/src/common/sdk/pnp/web/_bundler-configuration.mdx";
1212
import ConfigureSponsoredPaymaster from "@site/src/common/sdk/pnp/web/_sponsored-paymaster-configuration.mdx";
13+
import ConfigurePaymasterContext from "@site/src/common/sdk/pnp/web/_paymaster-context.mdx";
1314
import ConfigureERC20Paymaster from "@site/src/common/sdk/pnp/web/_erc20-paymaster-configuration.mdx";
1415
import AANoModalSetup from "@site/src/common/sdk/pnp/web/_aa-no-modal-setup.mdx";
1516
import ConfigureSigners from "@site/src/common/sdk/pnp/web/_configure-aa-signers.mdx";
@@ -50,6 +51,9 @@ You can configure the paymaster of your choice to sponsor gas fees for your user
5051
paymaster context. The paymaster context lets you set additional parameters, such as choosing the
5152
token for ERC-20 paymasters, defining gas policies, and more.
5253

54+
### Configure Paymaster Context
55+
56+
<ConfigurePaymasterContext />
5357
### Sponsored Paymaster
5458

5559
<ConfigureSponsoredPaymaster />
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
You can send additional metadata in the paymaster context to supply whatever information the
2+
Paymaster needs to process user operations. For instance, you might include the type of Paymaster
3+
(e.g., a Sponsored Paymaster versus an ERC-20-based Paymaster), references to specific tokens used
4+
for gas sponsorship, custom gas policies or limits, and any other parameters relevant to your
5+
sponsorship logic.
6+
7+
To configure the paymaster context, you can use the `paymasterContext` property in the
8+
`bundlerConfig`.
9+
10+
```ts
11+
import {
12+
AccountAbstractionProvider,
13+
SafeSmartAccount,
14+
} from "@web3auth/account-abstraction-provider";
15+
16+
const chainConfig = {
17+
chainNamespace: CHAIN_NAMESPACES.EIP155,
18+
chainId: "0xaa36a7",
19+
rpcTarget: "https://rpc.ankr.com/eth_sepolia",
20+
displayName: "Ethereum Sepolia Testnet",
21+
blockExplorerUrl: "https://sepolia.etherscan.io",
22+
ticker: "ETH",
23+
tickerName: "Ethereum",
24+
logo: "https://cryptologos.cc/logos/ethereum-eth-logo.png",
25+
};
26+
27+
const accountAbstractionProvider = new AccountAbstractionProvider({
28+
config: {
29+
chainConfig,
30+
bundlerConfig: {
31+
// Get the pimlico API Key from dashboard.pimlico.io
32+
url: `https://api.pimlico.io/v2/${chainId}/rpc?apikey=${pimlicoAPIKey}`,
33+
// focus-start
34+
// This is just an example of how you can configure the paymaster context.
35+
// Please refer to the documentation of the paymaster you are using
36+
// to understand the required parameters.
37+
paymasterContext: {
38+
token: "SUPPORTED_TOKEN_CONTRACT_ADDRESS",
39+
sponsorshipPolicyId: "sp_my_policy_id",
40+
},
41+
// focus-end
42+
},
43+
smartAccountInit: new SafeSmartAccount(),
44+
paymasterConfig: {
45+
// Get the pimlico API Key from dashboard.pimlico.io
46+
url: `https://api.pimlico.io/v2/${chainId}/rpc?apikey=${pimlicoAPIKey}`,
47+
},
48+
},
49+
});
50+
```

src/common/sdk/providers/_aa-provider.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import ConfigureSmartAccountProvider from "@site/src/common/sdk/pnp/web/_smart-a
77
import ConfigureBundler from "@site/src/common/sdk/pnp/web/_bundler-configuration.mdx";
88
import ConfigureSponsoredPaymaster from "@site/src/common/sdk/pnp/web/_sponsored-paymaster-configuration.mdx";
99
import ConfigureERC20Paymaster from "@site/src/common/sdk/pnp/web/_erc20-paymaster-configuration.mdx";
10+
import ConfigurePaymasterContext from "@site/src/common/sdk/pnp/web/_paymaster-context.mdx";
1011
import AANoModalSetup from "@site/src/common/sdk/pnp/web/_aa-no-modal-setup.mdx";
1112
import AAModalSetup from "@site/src/common/sdk/pnp/web/_aa-modal-setup.mdx";
1213
import AARNBareSetup from "@site/src/common/sdk/pnp/react-native/_aa-rn-setup.mdx";
@@ -47,6 +48,10 @@ You can configure the paymaster of your choice to sponsor gas fees for your user
4748
paymaster context. The paymaster context lets you set additional parameters, such as choosing the
4849
token for ERC-20 paymasters, defining gas policies, and more.
4950

51+
### Configure Paymaster Context
52+
53+
<ConfigurePaymasterContext />
54+
5055
### Sponsored Paymaster
5156

5257
<ConfigureSponsoredPaymaster />

0 commit comments

Comments
 (0)