UNPKG

@owlprotocol/contracts-account-abstraction

Version:

ERC4337 Account Abstraction support for deploying relevant smart contracts and interacting with UserOps.

42 lines (41 loc) 2.21 kB
var import_vitest = require("vitest"); var import_viem = require("viem"); var import_chains = require("viem/chains"); var import_account_abstraction = require("viem/account-abstraction"); var import_viem_utils = require("@owlprotocol/viem-utils"); var import_constants = require("./test/constants.js"); var import_setupERC4337Contracts = require("./setupERC4337Contracts.js"); var import_constants2 = require("./constants.js"); (0, import_vitest.describe)("setupERC4337Contracts.test.ts", function() { const chain = { ...import_chains.localhost, rpcUrls: { default: { http: [`http://127.0.0.1:${import_constants.port}`] } } }; const transport = (0, import_viem.http)(chain.rpcUrls.default.http[0]); const publicClient = (0, import_viem.createPublicClient)({ chain, transport }); const walletClient = (0, import_viem.createWalletClient)({ account: (0, import_viem_utils.getLocalAccount)(0, { nonceManager: import_viem.nonceManager }), chain, transport }); (0, import_vitest.test)("setupERC4337Contracts", async () => { const result = await (0, import_setupERC4337Contracts.setupERC4337Contracts)(walletClient); (0, import_vitest.expect)(await publicClient.getCode({ address: result.entrypoint.address })).toBeDefined(); (0, import_vitest.expect)(await publicClient.getCode({ address: result.simpleAccountFactory.address })).toBeDefined(); (0, import_vitest.expect)(await publicClient.getCode({ address: result.entrypointSimulations.address })).toBeDefined(); (0, import_vitest.expect)(await publicClient.getCode({ address: result.pimlicoEntrypointSimulations.address })).toBeDefined(); (0, import_vitest.expect)(result.entrypoint.address).toBe(import_account_abstraction.entryPoint07Address); (0, import_vitest.expect)(result.simpleAccountFactory.address).toBe(import_constants2.SIMPLE_ACCOUNT_FACTORY_ADDRESS); const verifyingPaymaster = await (0, import_setupERC4337Contracts.setupVerifyingPaymaster)(walletClient, { verifyingSignerAddress: walletClient.account.address }); (0, import_vitest.expect)(await publicClient.getCode({ address: verifyingPaymaster.address })).toBeDefined(); }); });