@biconomy/sdk
Version:
SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.
43 lines • 1.96 kB
JavaScript
;
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