Commit 8c480b83 authored by Maurelian's avatar Maurelian Committed by GitHub

Add security related comments (#191)

* Add security related comments

* Add SECURITY.md

* Remove SECURITY.md
Better to keep everything consistent across the org by updating https://github.com/ethereum-optimism/.github/blob/master/SECURITY.md

* Fix link to security policy

* anchor text on security policy
parent 4c982155
...@@ -6,6 +6,6 @@ This package contains the various Ethereum smart contracts that make up the Laye ...@@ -6,6 +6,6 @@ This package contains the various Ethereum smart contracts that make up the Laye
This package requires that `yarn` be installed on your machine! Once it is, run `yarn test` to build and run tests. This package requires that `yarn` be installed on your machine! Once it is, run `yarn test` to build and run tests.
## Disclaimer ## Security
The contracts in this package have **not** been audited. We **do not recommend** deploying these contracts in a production capacity. See our [Security Policy](https://github.com/ethereum-optimism/.github/security/policy).
\ No newline at end of file
...@@ -32,6 +32,9 @@ contract OVM_L2ToL1MessagePasser is iOVM_L2ToL1MessagePasser { ...@@ -32,6 +32,9 @@ contract OVM_L2ToL1MessagePasser is iOVM_L2ToL1MessagePasser {
override override
public public
{ {
// Note: although this function is public, only messages sent from the OVM_L2CrossDomainMessenger
// will be relayed by the OVM_L1CrossDomainMessenger. This is enforced by a check in
// OVM_L1CrossDomainMessenger._verifyStorageProof().
sentMessages[keccak256( sentMessages[keccak256(
abi.encodePacked( abi.encodePacked(
_message, _message,
......
...@@ -13,10 +13,15 @@ contract Lib_ResolvedDelegateProxy { ...@@ -13,10 +13,15 @@ contract Lib_ResolvedDelegateProxy {
* Variables * * Variables *
*************/ *************/
// Using mappings to store fields to avoid overwriting storage slots in the // Using mappings to store fields to avoid overwriting storage slots in the
// implementation contract. For example, instead of storing these fields at // implementation contract. For example, instead of storing these fields at
// storage slot `0` & `1`, they are stored at `hash(${FIELD_NAME} + address(this))` // storage slot `0` & `1`, they are stored at `keccak256(key + slot)`.
// See: https://solidity.readthedocs.io/en/v0.7.0/internals/layout_in_storage.html // See: https://solidity.readthedocs.io/en/v0.7.0/internals/layout_in_storage.html
// NOTE: Do not use this code in your own contract system.
// There is a known flaw in this contract, and we will remove it from the repository
// in the near future. Due to the very limited way that we are using it, this flaw is
// not an issue in our system.
mapping(address=>string) private implementationName; mapping(address=>string) private implementationName;
mapping(address=>Lib_AddressManager) private addressManager; mapping(address=>Lib_AddressManager) private addressManager;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment