PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/viem/_esm/account-abstraction/utils/formatters

Просмотр файла: userOperationRequest.js

import { numberToHex } from '../../../utils/encoding/toHex.js';
import { pad } from '../../../utils/index.js';
export function formatUserOperationRequest(request) {
    const rpcRequest = {};
    if (typeof request.callData !== 'undefined')
        rpcRequest.callData = request.callData;
    if (typeof request.callGasLimit !== 'undefined')
        rpcRequest.callGasLimit = numberToHex(request.callGasLimit);
    if (typeof request.factory !== 'undefined')
        rpcRequest.factory = request.factory;
    if (typeof request.factoryData !== 'undefined')
        rpcRequest.factoryData = request.factoryData;
    if (typeof request.initCode !== 'undefined')
        rpcRequest.initCode = request.initCode;
    if (typeof request.maxFeePerGas !== 'undefined')
        rpcRequest.maxFeePerGas = numberToHex(request.maxFeePerGas);
    if (typeof request.maxPriorityFeePerGas !== 'undefined')
        rpcRequest.maxPriorityFeePerGas = numberToHex(request.maxPriorityFeePerGas);
    if (typeof request.nonce !== 'undefined')
        rpcRequest.nonce = numberToHex(request.nonce);
    if (typeof request.paymaster !== 'undefined')
        rpcRequest.paymaster = request.paymaster;
    if (typeof request.paymasterAndData !== 'undefined')
        rpcRequest.paymasterAndData = request.paymasterAndData || '0x';
    if (typeof request.paymasterData !== 'undefined')
        rpcRequest.paymasterData = request.paymasterData;
    if (typeof request.paymasterPostOpGasLimit !== 'undefined')
        rpcRequest.paymasterPostOpGasLimit = numberToHex(request.paymasterPostOpGasLimit);
    if (typeof request.paymasterVerificationGasLimit !== 'undefined')
        rpcRequest.paymasterVerificationGasLimit = numberToHex(request.paymasterVerificationGasLimit);
    if (typeof request.preVerificationGas !== 'undefined')
        rpcRequest.preVerificationGas = numberToHex(request.preVerificationGas);
    if (typeof request.sender !== 'undefined')
        rpcRequest.sender = request.sender;
    if (typeof request.signature !== 'undefined')
        rpcRequest.signature = request.signature;
    if (typeof request.verificationGasLimit !== 'undefined')
        rpcRequest.verificationGasLimit = numberToHex(request.verificationGasLimit);
    if (typeof request.authorization !== 'undefined')
        rpcRequest.eip7702Auth = formatAuthorization(request.authorization);
    return rpcRequest;
}
function formatAuthorization(authorization) {
    return {
        address: authorization.address,
        chainId: numberToHex(authorization.chainId),
        nonce: numberToHex(authorization.nonce),
        r: authorization.r
            ? numberToHex(BigInt(authorization.r), { size: 32 })
            : pad('0x', { size: 32 }),
        s: authorization.s
            ? numberToHex(BigInt(authorization.s), { size: 32 })
            : pad('0x', { size: 32 }),
        yParity: authorization.yParity
            ? numberToHex(authorization.yParity, { size: 1 })
            : pad('0x', { size: 32 }),
    };
}
//# sourceMappingURL=userOperationRequest.js.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!