UNPKG

@axiom-crypto/keystore-sdk

Version:

Keystore Rollup SDK

29 lines 1.05 kB
import { TransactionType, } from "../types"; import { encodePacked, keccak256, numberToHex, pad } from "viem"; export async function createDepositTransactionClient(tx) { const l1InitiatedNonce = tx.l1InitiatedNonce ? numberToHex(tx.l1InitiatedNonce, { size: 32 }) : pad("0x", { size: 32 }); const amt = tx.amt; const keystoreAddress = tx.keystoreAddress; const toBytes = () => { return encodePacked(["bytes1", "bytes", "uint256", "bytes"], [TransactionType.Deposit, l1InitiatedNonce, amt, keystoreAddress]); }; const txHash = () => keccak256(toBytes()); const l1InitiatedTransaction = () => { return { txType: TransactionType.Deposit, data: encodePacked(["uint256", "bytes32"], [amt, keystoreAddress]), }; }; return { txType: TransactionType.Deposit, l1InitiatedNonce: tx.l1InitiatedNonce, amt, keystoreAddress, toBytes, txHash, l1InitiatedTransaction, }; } //# sourceMappingURL=deposit.js.map