-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathIBaseSuperformRouterPlus.sol
37 lines (31 loc) · 1.24 KB
/
IBaseSuperformRouterPlus.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.23;
interface IBaseSuperformRouterPlus {
//////////////////////////////////////////////////////////////
// ERRORS //
//////////////////////////////////////////////////////////////
/// @notice thrown if the provided selector is invalid
error INVALID_REBALANCE_SELECTOR();
//////////////////////////////////////////////////////////////
// STRUCTS //
//////////////////////////////////////////////////////////////
struct XChainRebalanceData {
bytes4 rebalanceSelector;
address interimAsset;
uint256 slippage;
uint256 expectedAmountInterimAsset;
uint8[][] rebalanceToAmbIds;
uint64[] rebalanceToDstChainIds;
bytes rebalanceToSfData;
}
//////////////////////////////////////////////////////////////
// ENUMS //
//////////////////////////////////////////////////////////////
enum Actions {
DEPOSIT,
REBALANCE_FROM_SINGLE,
REBALANCE_FROM_MULTI,
REBALANCE_X_CHAIN_FROM_SINGLE,
REBALANCE_X_CHAIN_FROM_MULTI
}
}