import { AddressMap } from "../onchain/utils/AddressMap.js"; import { TokenTransfer } from "../onchain/market/adapters/transfers.js"; import { ChainContractsRegister } from "../onchain/base/ChainContractsRegister.js"; import "../onchain/index.js"; import { WithdrawCollateralEventInfo } from "./trace/extractTransfers.js"; import { FacadeParsedCall } from "./trace/types.js"; import "./trace/index.js"; import { HistoryFacadeMetadata, OuterFacadeOperation } from "./types.js"; import { Address } from "viem"; //#region src/history/assembleOperations.d.ts export interface AssembleOperationsInput { facadeCalls: FacadeParsedCall[]; /** * ERC-20 transfers grouped per facade `Execute` event, one inner array per * Execute event across the whole transaction, in emission order. Sliced per * facade call and consumed one inner array per adapter/unknown inner call. */ executeTransfers: TokenTransfer[][]; register: ChainContractsRegister; underlying: Address; liquidationRemainingFunds?: bigint; phantomTokens?: AddressMap
; withdrawCollateralEvents?: WithdrawCollateralEventInfo[]; strict?: boolean; } /** * Combines parsed facade calls with per-Execute transfer data into * fully classified {@link OuterFacadeOperation} entries. * * The flat `executeTransfers` array (one inner array per Execute event across * the entire transaction) is sliced per facade call based on how many * adapter/unknown inner calls each one contains. */ export declare function assembleOperations(input: AssembleOperationsInput): Omit[]; //#endregion