You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
980 B

// Adapted from https://github.com/ethereum-optimism/optimism/blob/develop/packages/core-utils/src/optimism/deposit-transaction.ts#L117
import { keccak256 } from '../../utils/hash/keccak256.js';
import { serializeTransaction } from '../serializers.js';
import { getSourceHash } from './getSourceHash.js';
import { opaqueDataToDepositData } from './opaqueDataToDepositData.js';
export function getL2TransactionHash({ log }) {
const sourceHash = getSourceHash({
domain: 'userDeposit',
l1BlockHash: log.blockHash,
l1LogIndex: log.logIndex,
});
const { data, gas, isCreation, mint, value } = opaqueDataToDepositData(log.args.opaqueData);
return keccak256(serializeTransaction({
from: log.args.from,
to: isCreation ? undefined : log.args.to,
sourceHash,
data,
gas,
isSystemTx: false,
mint,
type: 'deposit',
value,
}));
}
//# sourceMappingURL=getL2TransactionHash.js.map