Skip to content

Commit

Permalink
Include security contact (#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
StanislavBreadless authored Jan 9, 2024
1 parent 8551b61 commit f23f867
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 1 deletion.
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IAdmin.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ pragma solidity 0.8.20;
import {IBase} from "./IBase.sol";
import {Diamond} from "../libraries/Diamond.sol";

/// @title The interface of the Admin Contract that controls access rights for contract management.
/// @author Matter Labs
/// @custom:security-contact [email protected]
interface IAdmin is IBase {
/// @notice Starts the transfer of governor rights. Only the current governor can propose a new pending one.
/// @notice New governor can accept governor rights by calling `acceptGovernor` function.
Expand Down
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IBase.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.20;

/// @title The interface of the zkSync contract, responsible for the main zkSync logic.
/// @author Matter Labs
/// @custom:security-contact [email protected]
interface IBase {
/// @return Returns facet name.
function getName() external view returns (string memory);
Expand Down
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IExecutor.sol
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ uint256 constant L2_LOG_KEY_OFFSET = 24;
/// @dev Offset used to pull Value From Log. Equal to 4 (bytes for isService) + 20 (bytes for address) + 32 (bytes for key)
uint256 constant L2_LOG_VALUE_OFFSET = 56;

/// @title The interface of the zkSync Executor contract capable of processing events emitted in the zkSync protocol.
/// @author Matter Labs
/// @custom:security-contact [email protected]
interface IExecutor is IBase {
/// @notice Rollup batch stored data
/// @param batchNumber Rollup batch number
Expand Down
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IGetters.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import {PriorityOperation} from "../libraries/PriorityQueue.sol";
import {VerifierParams, UpgradeState} from "../Storage.sol";
import "./IBase.sol";

/// @title The interface of the Getters Contract that implements functions for getting contract state from outside the blockchain.
/// @author Matter Labs
/// @custom:security-contact [email protected]
interface IGetters is IBase {
/*//////////////////////////////////////////////////////////////
CUSTOM GETTERS
Expand Down
1 change: 1 addition & 0 deletions ethereum/contracts/zksync/interfaces/ILegacyGetters.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {IBase} from "./IBase.sol";
/// @author Matter Labs
/// @dev This interface contains getters for the zkSync contract that should not be used,
/// but still are kept for backward compatibility.
/// @custom:security-contact [email protected]
interface ILegacyGetters is IBase {
/// @return The total number of batches that were committed
/// @dev It is a *deprecated* method, please use `getTotalBatchesCommitted` instead
Expand Down
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IMailbox.sol
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ enum TxStatus {
Success
}

/// @title The interface of the zkSync Mailbox contract that provides interfaces for L1 <-> L2 interaction.
/// @author Matter Labs
/// @custom:security-contact [email protected]
interface IMailbox is IBase {
/// @dev Structure that includes all fields of the L2 transaction
/// @dev The hash of this structure is the "canonical L2 transaction hash" and can be used as a unique identifier of a tx
Expand Down
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IVerifier.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

pragma solidity 0.8.20;

/// @title The interface of the Verifier contract, responsible for the zero knowledge proof verification.
/// @author Matter Labs
/// @custom:security-contact [email protected]
interface IVerifier {
/// @dev Verifies a zk-SNARK proof.
/// @return A boolean value indicating whether the zk-SNARK proof is valid.
Expand Down
8 changes: 7 additions & 1 deletion ethereum/contracts/zksync/interfaces/IZkSync.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,10 @@ import {IAdmin} from "./IAdmin.sol";
import {IExecutor} from "./IExecutor.sol";
import {IGetters} from "./IGetters.sol";

interface IZkSync is IMailbox, IAdmin, IExecutor, IGetters {}
/// @title The interface of the zkSync contract, responsible for the main zkSync logic.
/// @author Matter Labs
/// @dev This interface combines the interfaces of all the facets of the zkSync contract.
/// @custom:security-contact security@matterlabs
interface IZkSync is IMailbox, IAdmin, IExecutor, IGetters {

}

0 comments on commit f23f867

Please sign in to comment.