UNPKG

@exromany/lido-csm-sdk

Version:

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

27 lines 1.02 kB
import { ERROR_CODE, SDKError } from '@lidofinance/lido-ethereum-sdk'; import { decodeEventLog, getAbiItem, toEventHash } from 'viem'; import { AccountingAbi } from '../abi/Accounting.js'; const BOND_LOCK_CHANGED_EVENT = getAbiItem({ abi: AccountingAbi, name: 'BondLockChanged', }); const BOND_LOCK_CHANGED_SIGNATURE = toEventHash(BOND_LOCK_CHANGED_EVENT); export const parseCoverReceiptEvents = async (receipt) => { for (const log of receipt.logs) { // skips non-relevant events if (log.topics[0] !== BOND_LOCK_CHANGED_SIGNATURE) continue; const parsedLog = decodeEventLog({ abi: [BOND_LOCK_CHANGED_EVENT], strict: true, data: log.data, topics: log.topics, }); return parsedLog.args.newAmount; } throw new SDKError({ message: 'could not find BondLockChanged event in transaction', code: ERROR_CODE.TRANSACTION_ERROR, }); }; //# sourceMappingURL=parse-cover-receipt-events.js.map