@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
JavaScript
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();
});
});