-
Notifications
You must be signed in to change notification settings - Fork 5
/
IBridgeState.sol
112 lines (85 loc) · 2.92 KB
/
IBridgeState.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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
pragma solidity 0.5.16;
pragma experimental ABIEncoderV2;
interface IBridgeState {
// ----VIEWS
struct Signature {
bytes32 r;
bytes32 s;
uint8 v;
}
function networkOpened(uint chainId) external view returns (bool);
function accountOutboundings(
address account,
uint periodId,
uint index
) external view returns (uint);
function accountInboundings(address account, uint index) external view returns (uint);
function inboundings(uint index)
external
view
returns (
address,
uint,
uint,
uint,
bool,
Signature memory
);
function outboundings(uint index)
external
view
returns (
address,
uint,
uint,
uint,
Signature memory
);
function outboundPeriods(uint index)
external
view
returns (
uint,
uint,
uint[] memory,
bool
);
function srcOutboundingIdRegistered(uint chainId, uint srcOutboundingId) external view returns (bool isRegistered);
function numberOfOutboundPerPeriod() external view returns (uint);
function periodDuration() external view returns (uint);
function outboundingsLength() external view returns (uint);
function getTotalOutboundAmount() external view returns (uint);
function inboundingsLength() external view returns (uint);
function getTotalInboundAmount() external view returns (uint);
function outboundIdsInPeriod(uint outboundPeriodId) external view returns (uint[] memory);
function isOnRole(bytes32 roleKey, address account) external view returns (bool);
function accountOutboundingsInPeriod(address _account, uint _period) external view returns (uint[] memory);
function applicableInboundIds(address account) external view returns (uint[] memory);
function outboundRequestIdsInPeriod(address account, uint periodId) external view returns (uint[] memory);
function periodIdsToProcess() external view returns (uint[] memory);
function getMovedAmount(uint _inboundOutbound, uint targetNetworkId) external view returns (uint);
// ----MUTATIVES
function appendOutboundingRequest(
address account,
uint amount,
uint destChainIds,
Signature calldata sign
) external;
function appendMultipleInboundingRequests(
address[] calldata accounts,
uint[] calldata amounts,
uint[] calldata srcChainIds,
uint[] calldata srcOutboundingIds,
Signature[] calldata sign
) external;
function appendInboundingRequest(
address account,
uint amount,
uint srcChainId,
uint srcOutboundingId,
bytes32 r,
bytes32 s,
uint8 v
) external;
function claimInbound(uint index, uint _amount) external;
}