-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathXpmInit.sol
25 lines (20 loc) · 1.12 KB
/
XpmInit.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
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { IGit } from '../logic/IGit.sol';
import { IPackageManager } from '../logic/IPackageManager.sol';
import { IERC165, ERC165Storage } from '@solidstate/contracts/introspection/ERC165.sol';
import { IDiamondReadable } from '@solidstate/contracts/proxy/diamond/readable/IDiamondReadable.sol';
import { IDiamondWritable } from '@solidstate/contracts/proxy/diamond/writable/IDiamondWritable.sol';
import { ISafeOwnable } from '@solidstate/contracts/access/ownable/ISafeOwnable.sol';
contract XpmInit {
using ERC165Storage for ERC165Storage.Layout;
function init() external {
ERC165Storage.Layout storage l = ERC165Storage.layout();
l.supportedInterfaces[type(IPackageManager).interfaceId] = true;
l.supportedInterfaces[type(IDiamondWritable).interfaceId] = true;
l.supportedInterfaces[type(IDiamondReadable).interfaceId] = true;
l.supportedInterfaces[type(ISafeOwnable).interfaceId] = true;
l.supportedInterfaces[type(IERC165).interfaceId] = true;
l.supportedInterfaces[type(IGit).interfaceId] = true;
}
}