This repository was archived by the owner on Mar 11, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathAdmin.sol
41 lines (34 loc) · 1.57 KB
/
Admin.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
// The Licensed Work is (c) 2022 Sygma
// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity 0.8.11;
import "@openzeppelin/contracts/access/Ownable.sol";
contract Admin is Ownable {
event StartedFROSTKeygen();
event StartedFROSTRefresh(string publicKey);
event TransferLiquidity(uint8 domainID, bytes32 resourceID, uint256 amount, bytes destinationAddress);
/**
@notice Emits {StartedFROSTKeygen} event
*/
function startFROSTKeygen() public onlyOwner {
emit StartedFROSTKeygen();
}
/**
@notice Emits {StartedFROSTRefresh} event
@param publicKey hex encoded public key of the subset to be refreshed
*/
function startFROSTRefresh(string calldata publicKey) public onlyOwner {
emit StartedFROSTRefresh(publicKey);
}
/**
@notice Emits {TransferLiqudity} event that is used on relayer to move liquidity with the MPC address.
@notice Primarily used when switching MPC addresses and liquidity needs to be moved to the new address
on networks without smart contracts.
@param domainID domain ID of the network where the transfer should happen
@param resourceID resourceID of the token to be moved
@param amount amount of tokens to be moved
@param destinationAddress destination address where the tokens should end up
*/
function transferLiquidity(uint8 domainID, bytes32 resourceID, uint256 amount, bytes calldata destinationAddress) public onlyOwner {
emit TransferLiquidity(domainID, resourceID, amount, destinationAddress);
}
}