UNPKG

ox

Version:

Ethereum Standard Library

55 lines 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toRpc = toRpc; const Hex = require("../core/Hex.js"); const ox_TransactionRequest = require("../core/TransactionRequest.js"); const AuthorizationTempo = require("./AuthorizationTempo.js"); const KeyAuthorization = require("./KeyAuthorization.js"); const TokenId = require("./TokenId.js"); const Transaction = require("./Transaction.js"); function toRpc(request) { const request_rpc = ox_TransactionRequest.toRpc({ ...request, authorizationList: undefined, }); if (request.authorizationList) request_rpc.authorizationList = AuthorizationTempo.toRpcList(request.authorizationList); if (request.calls) request_rpc.calls = request.calls.map((call) => ({ to: call.to, value: call.value ? Hex.fromNumber(call.value) : '0x', data: call.data ?? '0x', })); if (typeof request.feeToken !== 'undefined') request_rpc.feeToken = TokenId.toAddress(request.feeToken); if (request.keyAuthorization) request_rpc.keyAuthorization = KeyAuthorization.toRpc(request.keyAuthorization); if (typeof request.validBefore !== 'undefined') request_rpc.validBefore = Hex.fromNumber(request.validBefore); if (typeof request.validAfter !== 'undefined') request_rpc.validAfter = Hex.fromNumber(request.validAfter); const nonceKey = (() => { if (request.nonceKey === 'random') return Hex.random(6); if (typeof request.nonceKey === 'bigint') return Hex.fromNumber(request.nonceKey); return undefined; })(); if (nonceKey) request_rpc.nonceKey = nonceKey; if (typeof request.calls !== 'undefined' || typeof request.feeToken !== 'undefined' || typeof request.keyAuthorization !== 'undefined' || typeof request.nonceKey !== 'undefined' || typeof request.validBefore !== 'undefined' || typeof request.validAfter !== 'undefined' || request.type === 'tempo') { request_rpc.type = Transaction.toRpcType.tempo; delete request_rpc.data; delete request_rpc.input; delete request_rpc.to; delete request_rpc.value; } return request_rpc; } //# sourceMappingURL=TransactionRequest.js.map