@abstraxn/bundler
Version:
Abstraxn Bundler package to interact with any bundler node as per ERC4337 standard
52 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTimestampInSeconds = exports.deepHexlify = exports.transformUserOP = void 0;
const ethers_1 = require("ethers");
const utils_1 = require("ethers/lib/utils");
const transformUserOP = (userOp) => {
try {
const userOperation = { ...userOp };
const keys = [
"nonce",
"callGasLimit",
"verificationGasLimit",
"preVerificationGas",
"maxFeePerGas",
"maxPriorityFeePerGas",
];
for (const key of keys) {
if (userOperation[key] && userOperation[key] !== "0") {
userOperation[key] = ethers_1.BigNumber.from(userOp[key]).toHexString();
}
}
return userOperation;
}
catch (error) {
throw `Failed to transform user operation: ${error}`;
}
};
exports.transformUserOP = transformUserOP;
function deepHexlify(obj) {
if (typeof obj === "function") {
return undefined;
}
if (obj == null || typeof obj === "string" || typeof obj === "boolean") {
return obj;
}
else if (obj._isBigNumber != null || typeof obj !== "object") {
return (0, utils_1.hexlify)(obj).replace(/^0x0/, "0x");
}
if (Array.isArray(obj)) {
return obj.map((member) => deepHexlify(member));
}
return Object.keys(obj).reduce((set, key) => ({
...set,
[key]: deepHexlify(obj[key]),
}), {});
}
exports.deepHexlify = deepHexlify;
const getTimestampInSeconds = () => {
return Math.floor(Date.now() / 1000);
};
exports.getTimestampInSeconds = getTimestampInSeconds;
//# sourceMappingURL=HelperFunction.js.map