diff --git a/.changeset/good-onions-scream.md b/.changeset/good-onions-scream.md new file mode 100644 index 00000000..3a7d1ada --- /dev/null +++ b/.changeset/good-onions-scream.md @@ -0,0 +1,5 @@ +--- +"permissionless": patch +--- + +Default timeout for waitForUserOperationReceipt is inherited from bundlerClient.transport diff --git a/package.json b/package.json index 3c7e1894..88afb04b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,5 @@ { - "workspaces": [ - "packages/*" - ], + "workspaces": ["packages/*"], "private": true, "author": "Pimlico", "type": "module", diff --git a/packages/create-permissionless-app/package.json b/packages/create-permissionless-app/package.json index 93a8527d..cf10477a 100644 --- a/packages/create-permissionless-app/package.json +++ b/packages/create-permissionless-app/package.json @@ -1,12 +1,12 @@ { - "name": "create-permissionless-app", - "version": "0.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC" + "name": "create-permissionless-app", + "version": "0.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" } diff --git a/packages/permissionless/accounts/biconomy/privateKeyToBiconomySmartAccount.ts b/packages/permissionless/accounts/biconomy/privateKeyToBiconomySmartAccount.ts index 155af1db..3cdd2e0e 100644 --- a/packages/permissionless/accounts/biconomy/privateKeyToBiconomySmartAccount.ts +++ b/packages/permissionless/accounts/biconomy/privateKeyToBiconomySmartAccount.ts @@ -1,4 +1,4 @@ -import { type Chain, type Client, type Hex, type Transport } from "viem" +import type { Chain, Client, Hex, Transport } from "viem" import { privateKeyToAccount } from "viem/accounts" import type { ENTRYPOINT_ADDRESS_V06_TYPE, Prettify } from "../../types" import { diff --git a/packages/permissionless/accounts/biconomy/signerToBiconomySmartAccount.ts b/packages/permissionless/accounts/biconomy/signerToBiconomySmartAccount.ts index 86c748ca..14860e35 100644 --- a/packages/permissionless/accounts/biconomy/signerToBiconomySmartAccount.ts +++ b/packages/permissionless/accounts/biconomy/signerToBiconomySmartAccount.ts @@ -276,7 +276,10 @@ export async function signerToBiconomySmartAccount< account: viemSigner, message }) - const potentiallyIncorrectV = parseInt(signature.slice(-2), 16) + const potentiallyIncorrectV = Number.parseInt( + signature.slice(-2), + 16 + ) if (![27, 28].includes(potentiallyIncorrectV)) { const correctV = potentiallyIncorrectV + 27 signature = (signature.slice(0, -2) + @@ -305,7 +308,10 @@ export async function signerToBiconomySmartAccount< account: viemSigner, ...typedData }) - const potentiallyIncorrectV = parseInt(signature.slice(-2), 16) + const potentiallyIncorrectV = Number.parseInt( + signature.slice(-2), + 16 + ) if (![27, 28].includes(potentiallyIncorrectV)) { const correctV = potentiallyIncorrectV + 27 signature = (signature.slice(0, -2) + diff --git a/packages/permissionless/accounts/kernel/utils/encodeCallData.ts b/packages/permissionless/accounts/kernel/utils/encodeCallData.ts index 626e0745..4e573e2a 100644 --- a/packages/permissionless/accounts/kernel/utils/encodeCallData.ts +++ b/packages/permissionless/accounts/kernel/utils/encodeCallData.ts @@ -9,7 +9,7 @@ import { import { KernelExecuteAbi } from "../abi/KernelAccountAbi" import { KernelV3ExecuteAbi } from "../abi/KernelV3AccountAbi" import { CALL_TYPE, EXEC_TYPE } from "../constants" -import { type KernelVersion } from "../signerToEcdsaKernelSmartAccount" +import type { KernelVersion } from "../signerToEcdsaKernelSmartAccount" import { getExecMode } from "./getExecMode" export const encodeCallData = ( diff --git a/packages/permissionless/accounts/kernel/utils/getExecMode.ts b/packages/permissionless/accounts/kernel/utils/getExecMode.ts index e33faec0..91d5ba68 100644 --- a/packages/permissionless/accounts/kernel/utils/getExecMode.ts +++ b/packages/permissionless/accounts/kernel/utils/getExecMode.ts @@ -1,5 +1,5 @@ import { type Hex, concatHex, pad } from "viem" -import { CALL_TYPE, EXEC_TYPE } from "../constants" +import type { CALL_TYPE, EXEC_TYPE } from "../constants" export const getExecMode = ({ callType, diff --git a/packages/permissionless/accounts/kernel/utils/getNonceKey.ts b/packages/permissionless/accounts/kernel/utils/getNonceKey.ts index e5f017f9..b8dfbc99 100644 --- a/packages/permissionless/accounts/kernel/utils/getNonceKey.ts +++ b/packages/permissionless/accounts/kernel/utils/getNonceKey.ts @@ -1,6 +1,6 @@ import { type Address, concatHex, maxUint16, pad, toHex } from "viem" import { VALIDATOR_MODE, VALIDATOR_TYPE } from "../constants" -import { type KernelVersion } from "../signerToEcdsaKernelSmartAccount" +import type { KernelVersion } from "../signerToEcdsaKernelSmartAccount" export const getNonceKeyWithEncoding = ( accountVerion: KernelVersion, diff --git a/packages/permissionless/accounts/light/privateKeyToLightSmartAccount.ts b/packages/permissionless/accounts/light/privateKeyToLightSmartAccount.ts index dcc5ab5e..19bb1df3 100644 --- a/packages/permissionless/accounts/light/privateKeyToLightSmartAccount.ts +++ b/packages/permissionless/accounts/light/privateKeyToLightSmartAccount.ts @@ -1,4 +1,4 @@ -import { type Chain, type Client, type Hex, type Transport } from "viem" +import type { Chain, Client, Hex, Transport } from "viem" import { privateKeyToAccount } from "viem/accounts" import type { ENTRYPOINT_ADDRESS_V06_TYPE, Prettify } from "../../types" import { diff --git a/packages/permissionless/accounts/safe/privateKeyToSafeSmartAccount.ts b/packages/permissionless/accounts/safe/privateKeyToSafeSmartAccount.ts index e8fff189..a482cb97 100644 --- a/packages/permissionless/accounts/safe/privateKeyToSafeSmartAccount.ts +++ b/packages/permissionless/accounts/safe/privateKeyToSafeSmartAccount.ts @@ -1,4 +1,4 @@ -import { type Chain, type Client, type Hex, type Transport } from "viem" +import type { Chain, Client, Hex, Transport } from "viem" import { privateKeyToAccount } from "viem/accounts" import type { ENTRYPOINT_ADDRESS_V06_TYPE, Prettify } from "../../types" import { diff --git a/packages/permissionless/accounts/safe/signerToSafeSmartAccount.ts b/packages/permissionless/accounts/safe/signerToSafeSmartAccount.ts index 7dc228fc..fd3e539a 100644 --- a/packages/permissionless/accounts/safe/signerToSafeSmartAccount.ts +++ b/packages/permissionless/accounts/safe/signerToSafeSmartAccount.ts @@ -134,7 +134,7 @@ const adjustVInSignature = ( ): Hex => { const ETHEREUM_V_VALUES = [0, 1, 27, 28] const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27 - let signatureV = parseInt(signature.slice(-2), 16) + let signatureV = Number.parseInt(signature.slice(-2), 16) if (!ETHEREUM_V_VALUES.includes(signatureV)) { throw new Error("Invalid signature") } diff --git a/packages/permissionless/accounts/simple/privateKeyToSimpleSmartAccount.ts b/packages/permissionless/accounts/simple/privateKeyToSimpleSmartAccount.ts index dfbc2f3c..a8fef7e8 100644 --- a/packages/permissionless/accounts/simple/privateKeyToSimpleSmartAccount.ts +++ b/packages/permissionless/accounts/simple/privateKeyToSimpleSmartAccount.ts @@ -1,10 +1,4 @@ -import { - type Address, - type Chain, - type Client, - type Hex, - type Transport -} from "viem" +import type { Address, Chain, Client, Hex, Transport } from "viem" import { privateKeyToAccount } from "viem/accounts" import type { EntryPoint, Prettify } from "../../types" import { diff --git a/packages/permissionless/actions/bundler/estimateUserOperationGas.ts b/packages/permissionless/actions/bundler/estimateUserOperationGas.ts index edb587df..f65d2c66 100644 --- a/packages/permissionless/actions/bundler/estimateUserOperationGas.ts +++ b/packages/permissionless/actions/bundler/estimateUserOperationGas.ts @@ -1,11 +1,4 @@ -import { - type Account, - BaseError, - type Chain, - type Client, - type Hex, - type Transport -} from "viem" +import type { Account, BaseError, Chain, Client, Hex, Transport } from "viem" import type { PartialBy } from "viem/types/utils" import type { BundlerClient } from "../../clients/createBundlerClient" import type { Prettify } from "../../types/" diff --git a/packages/permissionless/actions/bundler/waitForUserOperationReceipt.ts b/packages/permissionless/actions/bundler/waitForUserOperationReceipt.ts index f8945da3..676edd0a 100644 --- a/packages/permissionless/actions/bundler/waitForUserOperationReceipt.ts +++ b/packages/permissionless/actions/bundler/waitForUserOperationReceipt.ts @@ -66,7 +66,7 @@ export const waitForUserOperationReceipt = < { hash, pollingInterval = bundlerClient.pollingInterval, - timeout + timeout = bundlerClient.transport.timeout }: Prettify ): Promise> => { const observerId = stringify([ diff --git a/packages/permissionless/actions/pimlico/sendCompressedUserOperation.ts b/packages/permissionless/actions/pimlico/sendCompressedUserOperation.ts index ad64b590..ed47b16e 100644 --- a/packages/permissionless/actions/pimlico/sendCompressedUserOperation.ts +++ b/packages/permissionless/actions/pimlico/sendCompressedUserOperation.ts @@ -8,7 +8,7 @@ import type { Transport } from "viem" import type { Prettify } from "../../types/" -import { type PimlicoBundlerRpcSchema } from "../../types/pimlico" +import type { PimlicoBundlerRpcSchema } from "../../types/pimlico" export type SendCompressedUserOperationParameters = { compressedUserOperation: Hex diff --git a/packages/permissionless/actions/smartAccount/deployContract.ts b/packages/permissionless/actions/smartAccount/deployContract.ts index 8539e873..3782fc9d 100644 --- a/packages/permissionless/actions/smartAccount/deployContract.ts +++ b/packages/permissionless/actions/smartAccount/deployContract.ts @@ -14,7 +14,7 @@ import type { EntryPoint } from "../../types/entrypoint" import { parseAccount } from "../../utils/" import { AccountOrClientNotFoundError } from "../../utils/signUserOperationHashWithECDSA" import { waitForUserOperationReceipt } from "../bundler/waitForUserOperationReceipt" -import { type Middleware } from "./prepareUserOperationRequest" +import type { Middleware } from "./prepareUserOperationRequest" import { sendUserOperation } from "./sendUserOperation" export type DeployContractParametersWithPaymaster< diff --git a/packages/permissionless/actions/smartAccount/signMessage.ts b/packages/permissionless/actions/smartAccount/signMessage.ts index a5b48c6f..30d7ebf0 100644 --- a/packages/permissionless/actions/smartAccount/signMessage.ts +++ b/packages/permissionless/actions/smartAccount/signMessage.ts @@ -5,7 +5,7 @@ import type { SignMessageReturnType, Transport } from "viem" -import { type SmartAccount } from "../../accounts/types" +import type { SmartAccount } from "../../accounts/types" import type { EntryPoint } from "../../types/entrypoint" import { AccountOrClientNotFoundError, parseAccount } from "../../utils/" diff --git a/packages/permissionless/actions/stackup/sponsorUserOperation.ts b/packages/permissionless/actions/stackup/sponsorUserOperation.ts index 6e333295..3b376c91 100644 --- a/packages/permissionless/actions/stackup/sponsorUserOperation.ts +++ b/packages/permissionless/actions/stackup/sponsorUserOperation.ts @@ -1,6 +1,6 @@ import type { Address, Hex } from "viem" import type { PartialBy } from "viem/types/utils" -import { type StackupPaymasterClient } from "../../clients/stackup" +import type { StackupPaymasterClient } from "../../clients/stackup" import type { ENTRYPOINT_ADDRESS_V06_TYPE, EntryPoint diff --git a/packages/permissionless/clients/createSmartAccountClient.ts b/packages/permissionless/clients/createSmartAccountClient.ts index 9d05170e..f773eebf 100644 --- a/packages/permissionless/clients/createSmartAccountClient.ts +++ b/packages/permissionless/clients/createSmartAccountClient.ts @@ -6,10 +6,10 @@ import type { WalletClientConfig } from "viem" import { createClient } from "viem" -import { type SmartAccount } from "../accounts/types" -import { type Middleware } from "../actions/smartAccount/prepareUserOperationRequest" +import type { SmartAccount } from "../accounts/types" +import type { Middleware } from "../actions/smartAccount/prepareUserOperationRequest" import type { Prettify } from "../types/" -import { type BundlerRpcSchema } from "../types/bundler" +import type { BundlerRpcSchema } from "../types/bundler" import type { EntryPoint } from "../types/entrypoint" import { type SmartAccountActions, diff --git a/packages/permissionless/clients/decorators/stackup.ts b/packages/permissionless/clients/decorators/stackup.ts index 129ef2ca..00f7063d 100644 --- a/packages/permissionless/clients/decorators/stackup.ts +++ b/packages/permissionless/clients/decorators/stackup.ts @@ -9,7 +9,7 @@ import { sponsorUserOperation } from "../../actions/stackup/sponsorUserOperation" import type { EntryPoint } from "../../types/entrypoint" -import { type StackupPaymasterClient } from "../stackup" +import type { StackupPaymasterClient } from "../stackup" export type StackupPaymasterClientActions = { /** diff --git a/packages/permissionless/index.ts b/packages/permissionless/index.ts index ccedfd50..00b387fe 100644 --- a/packages/permissionless/index.ts +++ b/packages/permissionless/index.ts @@ -78,7 +78,7 @@ export { } import type { UserOperation } from "./types/userOperation" -export { type UserOperation } +export type { UserOperation } import type { GetUserOperationHashParams } from "./utils/getUserOperationHash" import { getUserOperationHash } from "./utils/getUserOperationHash" diff --git a/packages/permissionless/package.json b/packages/permissionless/package.json index 26b6ad9d..39cdb3de 100644 --- a/packages/permissionless/package.json +++ b/packages/permissionless/package.json @@ -11,13 +11,7 @@ "type": "module", "sideEffects": false, "description": "A utility library for working with ERC-4337", - "keywords": [ - "ethereum", - "erc-4337", - "eip-4337", - "paymaster", - "bundler" - ], + "keywords": ["ethereum", "erc-4337", "eip-4337", "paymaster", "bundler"], "license": "MIT", "exports": { ".": { diff --git a/packages/permissionless/utils/errors/getEstimateUserOperationGasError.ts b/packages/permissionless/utils/errors/getEstimateUserOperationGasError.ts index 8c162b0c..d3e7ad57 100644 --- a/packages/permissionless/utils/errors/getEstimateUserOperationGasError.ts +++ b/packages/permissionless/utils/errors/getEstimateUserOperationGasError.ts @@ -1,10 +1,10 @@ -import { BaseError, UnknownNodeError } from "viem" +import { type BaseError, UnknownNodeError } from "viem" import type { EstimateUserOperationGasParameters } from "../../actions/bundler/estimateUserOperationGas" import { EstimateUserOperationGasError, type EstimateUserOperationGasErrorType } from "../../errors/estimateUserOperationGas" -import { type ErrorType } from "../../errors/utils" +import type { ErrorType } from "../../errors/utils" import type { EntryPoint } from "../../types/entrypoint" import { type GetBundlerErrorParameters, diff --git a/packages/permissionless/utils/errors/getSendUserOperationError.ts b/packages/permissionless/utils/errors/getSendUserOperationError.ts index 1efa3797..47edcb4e 100644 --- a/packages/permissionless/utils/errors/getSendUserOperationError.ts +++ b/packages/permissionless/utils/errors/getSendUserOperationError.ts @@ -1,4 +1,4 @@ -import { BaseError, UnknownNodeError } from "viem" +import { type BaseError, UnknownNodeError } from "viem" import type { SendUserOperationParameters } from "../../actions/bundler/sendUserOperation" import { SendUserOperationError } from "../../errors" import type { EntryPoint } from "../../types/entrypoint" diff --git a/packages/wagmi-test-demo/src/App.tsx b/packages/wagmi-test-demo/src/App.tsx index 24d4451e..10dd17f9 100644 --- a/packages/wagmi-test-demo/src/App.tsx +++ b/packages/wagmi-test-demo/src/App.tsx @@ -7,9 +7,9 @@ import { safeSmartAccount } from "@permissionless/wagmi" import { createPimlicoPaymasterClient } from "permissionless/clients/pimlico" import { walletClientToSmartAccountSigner } from "permissionless/utils" import React from "react" -import { http, Address, zeroAddress } from "viem" +import { http, type Address, zeroAddress } from "viem" import { - CreateConnectorFn, + type CreateConnectorFn, useAccount, useConfig, useConnect, diff --git a/packages/wagmi/connectors/simpleSmartAccount.ts b/packages/wagmi/connectors/simpleSmartAccount.ts index 4610a06e..d7d876a2 100644 --- a/packages/wagmi/connectors/simpleSmartAccount.ts +++ b/packages/wagmi/connectors/simpleSmartAccount.ts @@ -5,7 +5,7 @@ import { type SmartAccountSigner, signerToSimpleSmartAccount } from "permissionless/accounts" -import { type SponsorUserOperationMiddleware } from "permissionless/actions/smartAccount" +import type { SponsorUserOperationMiddleware } from "permissionless/actions/smartAccount" import type { Prettify } from "permissionless/types" import type { Address, Chain, PublicClient, Transport } from "viem" import { smartAccount } from "./smartAccount" diff --git a/packages/wagmi/connectors/smartAccount.ts b/packages/wagmi/connectors/smartAccount.ts index 75cba706..aabdc918 100644 --- a/packages/wagmi/connectors/smartAccount.ts +++ b/packages/wagmi/connectors/smartAccount.ts @@ -1,5 +1,5 @@ import { type SmartAccountClient, chainId } from "permissionless" -import { type SmartAccount } from "permissionless/accounts" +import type { SmartAccount } from "permissionless/accounts" import type { Chain, Transport } from "viem" import { createConnector } from "wagmi"