-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathIArbitrumGateway.sol
More file actions
69 lines (59 loc) · 2.05 KB
/
IArbitrumGateway.sol
File metadata and controls
69 lines (59 loc) · 2.05 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// SPDX-License-Identifier: GPL-3.0-or-later
import {IBCRebaseGatewayEvents, ISCRebaseGatewayEvents, ITransferGatewayEvents} from "./IGateway.sol";
import {ITokenGateway} from "arb-bridge-peripherals/contracts/tokenbridge/libraries/gateway/ITokenGateway.sol";
// Arbitrum chains expect the cross chain transaction to "pre-pay" in eth
// for execution on the other chain
// https://developer.offchainlabs.com/docs/l1_l2_messages
interface IArbitrumBCRebaseGateway is IBCRebaseGatewayEvents {
event RebaseReportInitiated(uint256 indexed _sequenceNumber);
function reportRebaseInit(
uint256 _maxSubmissionCost,
uint256 _maxGas,
uint256 _gasPriceBid
) external payable returns (bytes memory);
}
interface IArbitrumSCRebaseGateway is ISCRebaseGatewayEvents {
event RebaseReportFinalized(uint256 indexed _exitNum);
function reportRebaseCommit(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) external;
}
interface IArbitrumTransferGateway is ITransferGatewayEvents, ITokenGateway {
function getOutboundCalldata(
address _l1Token,
address _from,
address _to,
uint256 _amount,
bytes memory _data
) external view returns (bytes memory);
}
interface IArbitrumBCTransferGateway is IArbitrumTransferGateway {
event DepositInitiated(
address l1Token,
address indexed _from,
address indexed _to,
uint256 indexed _sequenceNumber,
uint256 _amount
);
event WithdrawalFinalized(
address l1Token,
address indexed _from,
address indexed _to,
uint256 indexed _exitNum,
uint256 _amount
);
}
interface IArbitrumSCTransferGateway is IArbitrumTransferGateway {
event DepositFinalized(
address indexed l1Token,
address indexed _from,
address indexed _to,
uint256 _amount
);
event WithdrawalInitiated(
address l1Token,
address indexed _from,
address indexed _to,
uint256 indexed _l2ToL1Id,
uint256 _exitNum,
uint256 _amount
);
}