@biconomy/sdk
Version:
SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.
39 lines • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBicoBundlerClient = void 0;
const viem_1 = require("viem");
const account_abstraction_1 = require("viem/account-abstraction");
const createBicoPaymasterClient_1 = require("./createBicoPaymasterClient.js");
const bundler_1 = require("./decorators/bundler/index.js");
const createBicoBundlerClient = (parameters) => {
if (!parameters.apiKey &&
!parameters.bundlerUrl &&
!parameters.transport &&
!parameters?.chain) {
throw new Error("Cannot set determine a bundler url, please provide a chain.");
}
const defaultedTransport = parameters.transport
? parameters.transport
: parameters.bundlerUrl
? (0, viem_1.http)(parameters.bundlerUrl)
: (0, viem_1.http)(`https://bundler.biconomy.io/api/v3/${parameters.chain.id}/${parameters.apiKey ??
"nJPK7B3ru.dd7f7861-190d-41bd-af80-6877f74b8f14"}`);
const defaultedUserOperation = parameters.userOperation ?? {
estimateFeesPerGas: async (_) => {
const gasFees = await bundler_.getGasFeeValues();
return gasFees.fast;
}
};
const defaultedPaymasterContext = parameters.paymaster
? parameters.paymasterContext ?? createBicoPaymasterClient_1.biconomySponsoredPaymasterContext
: undefined;
const bundler_ = (0, account_abstraction_1.createBundlerClient)({
...parameters,
transport: defaultedTransport,
paymasterContext: defaultedPaymasterContext,
userOperation: defaultedUserOperation
}).extend((0, bundler_1.bicoBundlerActions)());
return bundler_;
};
exports.createBicoBundlerClient = createBicoBundlerClient;
//# sourceMappingURL=createBicoBundlerClient.js.map