Skip to content

Commit

Permalink
change permissionless/core to /permissionless
Browse files Browse the repository at this point in the history
  • Loading branch information
plusminushalf committed Oct 9, 2024
1 parent 557bb29 commit c25823c
Show file tree
Hide file tree
Showing 173 changed files with 187 additions and 187 deletions.
4 changes: 2 additions & 2 deletions docs/pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ import { HomePage } from 'vocs/components'
<HomePage.Logo />
<HomePage.Description>**Pimlico** is the world's most advanced ERC-4337 account abstraction infrastructure platform. Pimlico provides a suite of tools and services to help you build, deploy, and manage smart accounts on Ethereum and other EVM-compatible chains.</HomePage.Description>
<HomePage.Buttons>
<HomePage.Button href="/permissionless/core/tutorial/tutorial-1" variant="accent">Get started</HomePage.Button>
<HomePage.Button href="/permissionless/tutorial/tutorial-1" variant="accent">Get started</HomePage.Button>
<HomePage.Button href="https://dashboard.pimlico.io">Go to Dashboard</HomePage.Button>
</HomePage.Buttons>

<div className="mx-0 mt-4 md:mx-4 xl:-mx-12 2xl:-mx-24">
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
<div>
## [<span className="underline text-orange-600 hover:text-orange-800 hover:underline">permissionless.js →</span>](/permissionless/core)
## [<span className="underline text-orange-600 hover:text-orange-800 hover:underline">permissionless.js →</span>](/permissionless)

Our TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and user operations.
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/infra/bundler/compression/index.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# How to create your own inflator contract and submit compressed user operations to Pimlico's bundler

:::info
This guide assumes you are already familiar with the process of creating and submitting normal user operations to bundlers. If you are not, we recommend you start with [tutorial 1 of our library, permissionless.js](/permissionless/core/tutorial/tutorial-1).
This guide assumes you are already familiar with the process of creating and submitting normal user operations to bundlers. If you are not, we recommend you start with [tutorial 1 of our library, permissionless.js](/permissionless/tutorial/tutorial-1).
:::

This guide walks you through how to create your own inflator contract, compress your user operations and submit them to Pimlico's bundler to achieve significant gas cost savings for your users.
Expand Down Expand Up @@ -93,7 +93,7 @@ We have deployed the above `SimpleInflator` contract to `0x564c7dC50f8293d070F49
### Start submitting your compressed user operations

:::tip[Tip]
If you are using [permissionless.js](/permissionless/core), there is a useful helper function that will allow you to easily submit compressed user operations. See the [`sendCompressedUserOperation`](/permissionless/core/reference/pimlico-actions/sendCompressedUserOperation) helper function.
If you are using [permissionless.js](/permissionless), there is a useful helper function that will allow you to easily submit compressed user operations. See the [`sendCompressedUserOperation`](/permissionless/reference/pimlico-actions/sendCompressedUserOperation) helper function.
:::

Once your decompressor contract is deployed and whitelisted, you can start submitting compressed user operations to Pimlico's bundler using the [`pimlico_sendCompressedUserOperation`](/infra/bundler/endpoints/pimlico_sendCompressedUserOperation) JSON-RPC method.
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/bundler/entrypoint-errors/aa14.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The address of the smart account deployed with the `initCode` provided does not

## Possible solutions

- Verify that the `sender` address was generated deterministically from the `initCode`. (consider leveraging functions like [getSenderAddress](/permissionless/core/reference/public-actions/getSenderAddress))
- Verify that the `sender` address was generated deterministically from the `initCode`. (consider leveraging functions like [getSenderAddress](/permissionless/reference/public-actions/getSenderAddress))
- Verify that the factory address in the `initCode` is correct (the factory address is the first 20 bytes of the `initCode`).
- Verify that the `initCode` is correct.
- If all else fails, investigate why the `initCode` deploys to a different address than expected using tools like [Tenderly](https://tenderly.co/).
2 changes: 1 addition & 1 deletion docs/pages/infra/bundler/entrypoint-errors/aa21.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ You are *not* using a paymaster, but the `sender` address did not have enough na

## Possible solutions

- If you are *not* using a paymaster, verify that the `sender` address has enough native tokens to cover the required prefund. Consider leveraging functions like [`getRequiredPrefund`](/permissionless/core/reference/utils/getRequiredPrefund).
- If you are *not* using a paymaster, verify that the `sender` address has enough native tokens to cover the required prefund. Consider leveraging functions like [`getRequiredPrefund`](/permissionless/reference/utils/getRequiredPrefund).
```ts
const requiredPrefund = getRequiredPrefund({
userOperation
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/bundler/entrypoint-errors/aa23.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The `validateUserOp` function of the smart account either reverted or ran out of

- Verify that the `verificationGasLimit` is high enough to cover the `validateUserOp` function's gas costs.
- Verify that the `validateUserOp` function is implemented with the correct logic, and that the user operation is supposed to be valid.
- If you are *not* using a paymaster, verify that the `sender` address has enough native tokens to cover the required prefund. Consider leveraging functions like [`getRequiredPrefund`](/permissionless/core/reference/utils/getRequiredPrefund).
- If you are *not* using a paymaster, verify that the `sender` address has enough native tokens to cover the required prefund. Consider leveraging functions like [`getRequiredPrefund`](/permissionless/reference/utils/getRequiredPrefund).
```ts
const requiredPrefund = getRequiredPrefund({
userOperation
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/infra/bundler/entrypoint-errors/aa25.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ The `nonce` of the user operation is invalid.

## Possible solutions

- Verify that you are using the correct `nonce` for the user operation. The `nonce` should be the current nonce of the smart account for the selected `key`. Consider leveraging functions like [`getAccountNonce`](/permissionless/core/reference/public-actions/getAccountNonce).
- Verify that you are using the correct `nonce` for the user operation. The `nonce` should be the current nonce of the smart account for the selected `key`. Consider leveraging functions like [`getAccountNonce`](/permissionless/reference/public-actions/getAccountNonce).
- Make sure that you are not reusing a nonce that has already been used.
- Make sure that you are not using a nonce that is too far in the future (more than 10 higher than the current nonce).
- Verify that the nonce is formatted correctly.
- Use custom nonce `key` to send parallel transactions. See [How to Send Multiple Transactions](/permissionless/core/how-to/parallel-transactions##sending-multiple-transactions-in-parallel).
- Use custom nonce `key` to send parallel transactions. See [How to Send Multiple Transactions](/permissionless/how-to/parallel-transactions##sending-multiple-transactions-in-parallel).

:::info
Instead of sequential nonce the EntryPoint implements a nonce mechanism that uses a single `uint256` nonce value in the user operation, but treats it as two values:
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/infra/bundler/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Our focus is on full type safety, transaction inclusion reliability (even in the

Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. They all involve the Alto Bundler.

- [Tutorial 1](/permissionless/core/tutorial/tutorial-1) leverages the Alto Bundler to create and bundle a user operation on-chain.
- [Tutorial 2](/permissionless/core/tutorial/tutorial-2) leverages the Alto Bundler again, but using the [ERC-20 paymaster](/infra/paymaster/erc20-paymaster) instead of the Verifying Paymaster
- [Tutorial 1](/permissionless/tutorial/tutorial-1) leverages the Alto Bundler to create and bundle a user operation on-chain.
- [Tutorial 2](/permissionless/tutorial/tutorial-2) leverages the Alto Bundler again, but using the [ERC-20 paymaster](/infra/paymaster/erc20-paymaster) instead of the Verifying Paymaster

## How-To Guides

Expand Down
4 changes: 2 additions & 2 deletions docs/pages/infra/bundler/usage.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# How to use the bundler

:::tip[Tip]
We recommend using [permissionless.js](/permissionless/core/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the bundler as it provides type-safe wrappers for all bundler methods.
We recommend using [permissionless.js](/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the bundler as it provides type-safe wrappers for all bundler methods.
:::

ERC-4337 bundlers are relayers that bundle user operations into transactions and submit them to the blockchain. You can interact with bundlers using standard JSON-RPC requests.
Expand All @@ -17,4 +17,4 @@ To get access to the bundler, you need to use your [Pimlico API key](https://das
- [pimlico_getUserOperationGasPrice](/infra/bundler/endpoints/pimlico_getUserOperationGasPrice)
- [pimlico_getUserOperationStatus](/infra/bundler/endpoints/pimlico_getUserOperationStatus)

If you would like an end-to-end example of how to use the bundler, please refer to [tutorial 1](/permissionless/core/tutorial/tutorial-1) of the permissionless.js documentation.
If you would like an end-to-end example of how to use the bundler, please refer to [tutorial 1](/permissionless/tutorial/tutorial-1) of the permissionless.js documentation.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ This paymaster has four modes. It allows the user to be simply made to pay thems
## How do I use Pimlico's ERC-20 Paymaster?

:::info
**Check out our tutorial!** We wrote a [tutorial](/permissionless/core/tutorial/tutorial-2) that takes you through the whole flow of deploying a Safe account and sending your first user operation sponsored with USDC.
**Check out our tutorial!** We wrote a [tutorial](/permissionless/tutorial/tutorial-2) that takes you through the whole flow of deploying a Safe account and sending your first user operation sponsored with USDC.
:::

While the specifics can vary depending on the specific ERC-20 token and chain you're using, the general steps are as follows:
Expand Down Expand Up @@ -62,7 +62,7 @@ Do any final touches to your user operation, such as signing, then submit the us

Yes!

Check out our [Getting Started with the ERC-20 Paymaster](/permissionless/core/tutorial/tutorial-2) guide that walks you through deploying your SimpleWallet and getting your first UserOperation sponsored with USDC.
Check out our [Getting Started with the ERC-20 Paymaster](/permissionless/tutorial/tutorial-2) guide that walks you through deploying your SimpleWallet and getting your first UserOperation sponsored with USDC.

## What ERC-20 tokens and on what chains can I use Pimlico's ERC-20 Paymaster with?

Expand All @@ -86,7 +86,7 @@ However, an audit does not guarantee complete security. Please use the paymaster

## Is there an SDK I can use to interact with the ERC-20 Paymaster?

You can use permissionless.js to easily interact with the ERC-20 Paymaster. Check out the [documentation](/permissionless/core/how-to/paymasters/use-custom-paymaster) for more information.
You can use permissionless.js to easily interact with the ERC-20 Paymaster. Check out the [documentation](/permissionless/how-to/paymasters/use-custom-paymaster) for more information.

## Is the ERC-20 Paymaster permissionless?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Pimlico is proud to have written and launched the first permissionless, fully-au

Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. They all involve the Alto Bundler.

- [Tutorial 2](/permissionless/core/tutorial/tutorial-2) leverages the ERC-20 Paymaster to sponsor the gas fees for a User Operation with USDC.
- [Tutorial 2](/permissionless/tutorial/tutorial-2) leverages the ERC-20 Paymaster to sponsor the gas fees for a User Operation with USDC.

## References

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/paymaster/erc20-paymaster/faqs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ An ERC-20 Paymaster is a specific type of paymaster that is willing to sponsor t

## How do I use Pimlico's ERC-20 Paymaster?

We wrote a [tutorial](/permissionless/core/tutorial/tutorial-2) that takes you through the whole flow of deploying a Safe account and sending your first user operation sponsored with USDC.
We wrote a [tutorial](/permissionless/tutorial/tutorial-2) that takes you through the whole flow of deploying a Safe account and sending your first user operation sponsored with USDC.

We also have a [how-to guide](/infra/paymaster/erc20-paymaster/how-to/use-paymaster) that explains how to use the ERC-20 Paymaster in your app's flow.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/paymaster/erc20-paymaster/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pimlico's ERC-20 Paymaster is a ERC-4337 paymaster that is able to pay for the g

Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. They all involve the Alto Bundler.

- [Tutorial 2](/permissionless/core/tutorial/tutorial-2) leverages the ERC-20 Paymaster to sponsor the gas fees for a user operation with USDC.
- [Tutorial 2](/permissionless/tutorial/tutorial-2) leverages the ERC-20 Paymaster to sponsor the gas fees for a user operation with USDC.

## How-to Guides

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/paymaster/verifying-paymaster/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Pimlico's Verifying Paymaster is a combination of an API and an on-chain smart c

Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. They all involve the Alto Bundler.

- [Tutorial 1](/permissionless/core/tutorial/tutorial-1) leverages the Verifying Paymaster to sponsor the gas fees for a User Operation.
- [Tutorial 1](/permissionless/tutorial/tutorial-1) leverages the Verifying Paymaster to sponsor the gas fees for a User Operation.

## References

Expand Down
4 changes: 2 additions & 2 deletions docs/pages/infra/paymaster/verifying-paymaster/usage.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# How to use the Verifying Paymaster

:::tip[Tip]
We recommend using [permissionless.js](/permissionless/core/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the Verifying Paymaster as it provides type-safe wrappers for paymaster methods.
We recommend using [permissionless.js](/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the Verifying Paymaster as it provides type-safe wrappers for paymaster methods.
:::

Paymasters are entities that user operations can delegate the responsibilities for gas fee payments for. You can interact with paymasters using JSON-RPC requests.
Expand All @@ -10,4 +10,4 @@ To get access to the paymaster, you need to sign up to the [Pimlico dashboard](h

- [pm_sponsorUserOperation](/infra/paymaster/verifying-paymaster/endpoints/pm_sponsorUserOperation)

If you would like an end-to-end example of how to use the Verifying Paymaster, please refer to [tutorial 1](/permissionless/core/tutorial/tutorial-1) of the permissionless.js documentation.
If you would like an end-to-end example of how to use the Verifying Paymaster, please refer to [tutorial 1](/permissionless/tutorial/tutorial-1) of the permissionless.js documentation.
2 changes: 1 addition & 1 deletion docs/pages/infra/platform/sponsorship-policies/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Start by going to the [sponsorship policies page](/infra/platform/sponsorship-po

## Usage of Sponsorship Policies with permisionless.js

If you are using [permissionless.js](/permissionless/core), you can use the `PimlicoPaymasterClient` to use sponsorship policies.
If you are using [permissionless.js](/permissionless), you can use the `PimlicoPaymasterClient` to use sponsorship policies.

:::::steps

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/platform/why-pimlico/enterprise.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ At Pimlico, we built our platform for scale. Our servers are regularly load test

Pimlico is also built to be customizable to fit your enterprise's needs. Out of the box, we support:
- [70+ chains](/infra/platform/supported-chains)
- [All ERC-4337 smart accounts implementations, and all official EntryPoint versions](/permissionless/core/how-to/accounts/support)
- [All ERC-4337 smart accounts implementations, and all official EntryPoint versions](/permissionless/how-to/accounts/support)
- [Sponsorship policies](/infra/platform/sponsorship-policies) with global, per user, per user operation spending limits, custom webhook validation, and more
- API key authentication and authorization options

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/infra/platform/why-pimlico/startups.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ This means you can expect features such as:
- Multi-chain support, letting you build with smart accounts on [over 70+ chains](/infra/platform/supported-chains)
- API key authentication and authorization options, letting you control how your bundlers and paymasters can be accessed
- Flexible payment methods, letting you pay for your usage with a credit card, bank transfer, crypto
- [permissionless.js](/permissionless/core/why), a smart account-focused TypeScript library that supports any bundler and paymaster providers and all major smart account implementations, built by developers for developers with over 20,000 weekly NPM downloads.
- [permissionless.js](/permissionless/why), a smart account-focused TypeScript library that supports any bundler and paymaster providers and all major smart account implementations, built by developers for developers with over 20,000 weekly NPM downloads.

## Pay-as-you-go pricing options

Expand Down
11 changes: 0 additions & 11 deletions docs/pages/permissionless/core/tutorial/index.mdx

This file was deleted.

11 changes: 0 additions & 11 deletions docs/pages/permissionless/core/v0_1/tutorial/index.mdx

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ First we must create the public, (optionally) pimlico paymaster clients that wil

### Create the signer

Biconomy accounts can work with a variety of signing algorithms such as ECDSA, passkeys, and multisig. In permissionless.js, the default Biconomy account validates ECDSA signatures. [Any signer](/permissionless/core/how-to/signers) can be used as a signer for the Biconomy account.
Biconomy accounts can work with a variety of signing algorithms such as ECDSA, passkeys, and multisig. In permissionless.js, the default Biconomy account validates ECDSA signatures. [Any signer](/permissionless/how-to/signers) can be used as a signer for the Biconomy account.

For example, to create a signer based on a private key:

Expand Down
Loading

0 comments on commit c25823c

Please sign in to comment.