-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUpgrade.sol
38 lines (30 loc) · 895 Bytes
/
Upgrade.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
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { IDiamondWritable } from '@solidstate/contracts/proxy/diamond/writable/IDiamondWritable.sol';
import { IUpgrade } from './IUpgrade.sol';
contract Upgrade is IUpgrade {
bool private registered;
struct Cut {
address target;
IDiamondWritable.FacetCutAction action;
bytes4[] selectors;
}
Cut[] public cuts;
address public target;
bytes public data;
function get() external view returns (
IDiamondWritable.FacetCut[] memory,
address,
bytes memory
) {
IDiamondWritable.FacetCut[] memory _cuts = new IDiamondWritable.FacetCut[](cuts.length);
for (uint i; i < _cuts.length; i++) {
_cuts[i] = IDiamondWritable.FacetCut({
target: cuts[i].target,
action: cuts[i].action,
selectors: cuts[i].selectors
});
}
return(_cuts, target, data);
}
}