UNPKG

@biconomy/sdk

Version:

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

44 lines 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toMultichainNexusAccount = toMultichainNexusAccount; const viem_1 = require("viem"); const constants_1 = require("../constants/index.js"); const toNexusAccount_1 = require("./toNexusAccount.js"); const build_1 = require("./decorators/build.js"); const buildBridgeInstructions_1 = require("./decorators/buildBridgeInstructions.js"); const getUnifiedERC20Balance_1 = require("./decorators/getUnifiedERC20Balance.js"); const queryBridge_1 = require("./decorators/queryBridge.js"); async function toMultichainNexusAccount(parameters) { const { signer, chains } = parameters; const deployments = await Promise.all(chains.map((chain) => (0, toNexusAccount_1.toNexusAccount)({ chain, signer, transport: (0, viem_1.http)(), validatorAddress: constants_1.MEE_VALIDATOR_ADDRESS, factoryAddress: constants_1.NEXUS_ACCOUNT_FACTORY, attesters: [constants_1.TEMP_MEE_ATTESTER_ADDR] }))); const deploymentOn = (chainId) => { const deployment = deployments.find((dep) => dep.client.chain?.id === chainId); return deployment; }; const baseAccount = { deployments, signer, deploymentOn }; const getUnifiedERC20Balance = (mcToken) => { return (0, getUnifiedERC20Balance_1.getUnifiedERC20Balance)({ mcToken, account: baseAccount }); }; const build = (params, currentInstructions) => (0, build_1.build)({ currentInstructions, account: baseAccount }, params); const buildBridgeInstructions = (params) => (0, buildBridgeInstructions_1.buildBridgeInstructions)({ ...params, account: baseAccount }); const queryBridge = (params) => (0, queryBridge_1.queryBridge)({ ...params, account: baseAccount }); return { ...baseAccount, getUnifiedERC20Balance, build, buildBridgeInstructions, queryBridge }; } //# sourceMappingURL=toMultiChainNexusAccount.js.map