Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include security contact #122

Merged
merged 3 commits into from
Jan 9, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ethereum/contracts/zksync/interfaces/IAdmin.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import "./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 {
function setPendingGovernor(address _newPendingGovernor) external;

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 {
function getName() external view returns (string memory);
}
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 "../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.sol";
/// @author Matter Labs
/// @dev This interface contains getters for the zkSync contract that should not be used,
/// but still are keot for backward compatibility.
/// @custom:security-contact [email protected]
interface ILegacyGetters is IBase {
function getTotalBlocksCommitted() external view returns (uint256);

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 {
function verify(
uint256[] calldata _publicInputs,
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.sol";
import "./IExecutor.sol";
import "./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 {

}
Loading