diff --git a/package.json b/package.json index 55df747..da9a6ba 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "engines": { "node": ">=14.0.0" }, + "sideEffects": false, "keywords": [], "author": "", "license": "ISC", diff --git a/src/lib/types/index.ts b/src/lib/types/index.ts index af1ad32..a7e292c 100644 --- a/src/lib/types/index.ts +++ b/src/lib/types/index.ts @@ -1,4 +1,4 @@ -import { BytesLike, ethers } from "ethers"; +import { BytesLike, Signer, BrowserProvider } from "ethers"; export enum RelayCall { CallWithSyncFee, @@ -78,4 +78,4 @@ export type SafeRequestPayload = { : T[K]; }; -export type SignerOrProvider = ethers.BrowserProvider | ethers.Signer; +export type SignerOrProvider = BrowserProvider | Signer; diff --git a/src/utils/generateSalt.ts b/src/utils/generateSalt.ts index 01338ef..041060d 100644 --- a/src/utils/generateSalt.ts +++ b/src/utils/generateSalt.ts @@ -1,10 +1,10 @@ -import { ethers } from "ethers"; +import { AbiCoder, keccak256 } from "ethers"; export const generateSalt = (): string => { const randomSeed = Math.floor(Math.random() * 1000000); - const dataEncoded = ethers.AbiCoder.defaultAbiCoder().encode( + const dataEncoded = AbiCoder.defaultAbiCoder().encode( ["uint256", "uint256"], [randomSeed, new Date().getMilliseconds()] ); - return ethers.keccak256(dataEncoded); + return keccak256(dataEncoded); }; diff --git a/src/utils/getProviderChainId.ts b/src/utils/getProviderChainId.ts index 5f1607b..105b88f 100644 --- a/src/utils/getProviderChainId.ts +++ b/src/utils/getProviderChainId.ts @@ -1,4 +1,4 @@ -import { ethers } from "ethers"; +import { Provider } from "ethers"; import { SignerOrProvider } from "../lib/types"; @@ -7,7 +7,7 @@ import { isSigner } from "./isSigner"; export const getProviderChainId = async ( signerOrProvider: SignerOrProvider ): Promise => { - let provider: ethers.Provider; + let provider: Provider; if (isSigner(signerOrProvider)) { if (!signerOrProvider.provider) { throw new Error(`Missing provider`); diff --git a/src/utils/getUserNonce.ts b/src/utils/getUserNonce.ts index 0551678..a2c90a6 100644 --- a/src/utils/getUserNonce.ts +++ b/src/utils/getUserNonce.ts @@ -1,4 +1,4 @@ -import { ethers } from "ethers"; +import { Contract } from "ethers"; import { USER_NONCE_ABI } from "../constants"; import { Config, SignerOrProvider } from "../lib/types"; @@ -22,7 +22,7 @@ export const getUserNonce = async ( const chainId = await getProviderChainId(signerOrProvider); - const contract = new ethers.Contract( + const contract = new Contract( getGelatoRelayERC2771Address({ chainId, type }, config), USER_NONCE_ABI, signerOrProvider diff --git a/src/utils/isSigner.ts b/src/utils/isSigner.ts index 29cfaa8..8a62595 100644 --- a/src/utils/isSigner.ts +++ b/src/utils/isSigner.ts @@ -1,9 +1,9 @@ -import { ethers } from "ethers"; +import { Signer } from "ethers"; import { SignerOrProvider } from "../lib/types"; export const isSigner = ( signerOrProvider: SignerOrProvider -): signerOrProvider is ethers.Signer => { +): signerOrProvider is Signer => { return "signTransaction" in signerOrProvider; };