27 lines
947 B
Solidity
27 lines
947 B
Solidity
// SPDX-License-Identifier: UNLICENSED
|
|
pragma solidity ^0.8.26;
|
|
|
|
interface ILocker {
|
|
function locked(uint256 id) external;
|
|
}
|
|
|
|
interface IPayer {
|
|
function payCallback(uint256 id, address token) external;
|
|
}
|
|
|
|
interface IFlashAccountant {
|
|
// Forward the lock from the current locker to the given address
|
|
// Any additional calldata is also passed through to the forwardee, with no additional encoding
|
|
// In addition, any data returned from IForwardee#forwarded is also returned from this function exactly as is, i.e. with no additional encoding or decoding
|
|
// Reverts are also bubbled up
|
|
function forward(address to) external;
|
|
|
|
// Withdraws a token amount from the accountant to the given recipient.
|
|
// The contract must be locked, as it tracks the withdrawn amount against the current locker's delta.
|
|
function withdraw(
|
|
address token,
|
|
address recipient,
|
|
uint128 amount
|
|
) external;
|
|
}
|