UNPKG

@biconomy/sdk

Version:

SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.

43 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMeeFactoryData = exports.getK1FactoryData = void 0; const viem_1 = require("viem"); const constants_1 = require("../../constants/index.js"); const NexusBootstrapAbi_1 = require("../../constants/abi/NexusBootstrapAbi.js"); const getK1FactoryData = async ({ signerAddress, index, attesters, attesterThreshold }) => (0, viem_1.encodeFunctionData)({ abi: (0, viem_1.parseAbi)([ "function createAccount(address eoaOwner, uint256 index, address[] attesters, uint8 threshold) external returns (address)" ]), functionName: "createAccount", args: [signerAddress, index, attesters, attesterThreshold] }); exports.getK1FactoryData = getK1FactoryData; const getMeeFactoryData = async ({ validatorAddress = constants_1.MEE_VALIDATOR_ADDRESS, attesters, registryAddress = constants_1.REGISTRY_ADDRESS, attesterThreshold, publicClient, walletClient, bootStrapAddress = constants_1.NEXUS_BOOTSTRAP_ADDRESS, signerAddress, index }) => { const nexusBootstrap = (0, viem_1.getContract)({ address: bootStrapAddress, abi: NexusBootstrapAbi_1.NexusBootstrapAbi, client: { public: publicClient, wallet: walletClient } }); const initData = await nexusBootstrap.read.getInitNexusWithSingleValidatorCalldata([ { module: validatorAddress, data: signerAddress }, registryAddress, attesters, attesterThreshold ]); const salt = (0, viem_1.pad)((0, viem_1.toHex)(index), { size: 32 }); return (0, viem_1.encodeFunctionData)({ abi: (0, viem_1.parseAbi)([ "function createAccount(bytes initData, bytes32 salt) external returns (address)" ]), functionName: "createAccount", args: [initData, salt] }); }; exports.getMeeFactoryData = getMeeFactoryData; //# sourceMappingURL=getFactoryData.js.map