Skip to content

Conversation

@K-Ho
Copy link
Contributor

@K-Ho K-Ho commented Aug 11, 2020

Description

Previously, we enforced that all CALLs came of the form:

  1. PUSH1 value
  2. PUSH20 address
  3. PUSH or DUP gas
  4. CALL

Now, with the new compiler, CALLs come in the form:

  1. PUSH1 value
  2. CALLER address
  3. GAS gas
  4. CALL

The alternative approach to dealing with this is to whitelist CALLER, blacklist CALL, and every time we see CALLER, we enforce that it is preceded by a PUSH1 0x00 and is followed by GAS CALL

Questions

None

Metadata

Fixes

  • Fixes #YAS-573

Contributing Agreement

@geohot
Copy link
Contributor

geohot commented Aug 12, 2020

I think both internal functions, toAddress and resolveExecutionManager can be removed.

@K-Ho
Copy link
Contributor Author

K-Ho commented Aug 20, 2020

Closing in favor of #218

@K-Ho K-Ho closed this Aug 20, 2020
@K-Ho K-Ho deleted the YAS-573/SafetyChecker/NewCompiler branch September 1, 2020 20:32
snario pushed a commit that referenced this pull request Apr 14, 2021
* Add missing interface function, and reorder funcs to match impl

* Replace '@inheritdoc' with actual docs

* Rename FraudContributor file with Abs prefix

* fix imports and interface visibility

* uncomment function to fix build process

* Update contracts/optimistic-ethereum/OVM/chain/OVM_CanonicalTransactionChain.sol

Co-authored-by: ben-chain <[email protected]>

* rename BaseCrossDomainManager to indicate abstract status

* fix return comment

* Add missing override kw

Co-authored-by: ben-chain <[email protected]>
bap2pecs pushed a commit to babylonlabs-io/optimism that referenced this pull request Jul 31, 2024
OptimismBot pushed a commit that referenced this pull request Jan 28, 2025
* feat: initialize shared lockbox in interop portal

* fix: refactor shared lockbox storage getter
mslipper added a commit that referenced this pull request Feb 6, 2025
* feat: add shared lockbox (#126)

* feat: create shared lockbox contract with its interface and unit tests

* chore: polish tests and interfaces

* chore: run pre-pr

* chore: improve natspec

* chore: run pre-pr

* chore: update compiler version

* feat: integrate portal to lockbox (#139)

* feat: integrate portal to lockbox

* fix: pr fixes

* test: refactor assert

* feat: add liquidity migrator contract with its unit test and interface (#128)

* feat: create shared lockbox contract with its interface and unit tests

* chore: polish tests and interfaces

* chore: run pre-pr

* chore: improve natspec

* chore: run pre-pr

* feat: add liqudity migrator contract with its unit test and interface

* chore: remove underscore on stack var

* chore: add todo

* chore: run pre-pr

* chore: add contract title natspec and proxied

* refactor: integrate testing suite with common test

* chore: pre-pr

* chore: add spec test

* feat: integrate system config with superchain config (#140)

* feat: integrate portal to lockbox

* fix: pr fixes

* test: refactor assert

* feat: integrate system config with superchain config

* fix: remove OPCM interop

* test: add dependency counter test

* feat: manage dependency set on superchain config (#138)

* chore: add zero dependencies check (#142)

* fix: pre pr

* feat: Add pause check (#145)

* feat: Add pause check

Co-authored-by: 0xParticle <[email protected]>
Co-authored-by: gotzenx <[email protected]>
Co-authored-by: Joxess <[email protected]>

* test: add tests natspecs

---------

Co-authored-by: 0xParticle <[email protected]>
Co-authored-by: gotzenx <[email protected]>
Co-authored-by: Joxess <[email protected]>

* fix: pre pr and interfaces imports

* feat: add upgrader role to superchain config (#163)

* feat: use superchain config lockbox in portal (#164)

* feat: use superchain config lockbox in portal

* test: add new sharedlockbox test

* fix: pre pr

* feat: liquidity migrator deployment (#166)

* feat: liquidity migrator deployment

* test: fix comment

* test: fix internal variables names

* feat: dependency set refactor (#170)

* feat: dependency set refactor

* fix: deploy script variable name

* fix: pr

* fix: pr

* fix: pre pr

* fix: semgrep

* fix: merge conflict

* [WIP] feat: new lockbox (#192)

* chore: partial implementation comments

* feat: new lockbox

* feat: introduce dependency manager predeploy

* feat: remove timestamp check from CrossL2Inbox

* feat: introduce cluster manager role and remove immutables

* fix: remove unnecessary code, fix tests and setup

* feat: use unstructured storage and OZ v5

* fix: L2ToL2CDM dependency set check

* fix: dependency manager gas limit

* feat: refactor interop feature contracts (#200)

* feat: refactor interop feature contracts

* fix: add noops comment

* feat: adds OptimismPortal migrated flag

* test: add missing tests

* fix: portal interop storage naming

---------

Co-authored-by: Skeletor Spaceman <[email protected]>

* fix: pre pr, setup and tests

* fix: remove system config interop and add interop portal target check (#205)

* fix: remove system config interop and add interop portal check

* fix: interop portal target check order

* fix: remove wrong comment

* fix: refactor portal noops function (#206)

* test: add dependency manager and portal interop tests (#209)

* feat: initialize shared lockbox in interop portal (#211)

* feat: initialize shared lockbox in interop portal

* fix: refactor shared lockbox storage getter

* fix: lockbox pr fixes (#214)

* fix: pre pr

* fix: semver lock

* fix: semver lock

* feat: descope dependency manager (#242)

* feat: descope dependency manager

* test: fix tests

* test: fix tests

* chore: improve eth liquidity test (#248)

* fix: internal review fixes (#243)

* fix: I-0

* fix: I-1

* fix: I-2

* fix: I-3

* fix: I-6

* fix: I-7

* fix: I-9

* fix: pre pr

* fix: pre pr

* fix: portal withdrawal checks (#255)

* fix: portal withdrawal checks

* fix: include current withdrawal check

* fix: remove unused interop contracts (#256)

* test: fix flake tests (#257)

* fix: adjust op-deployer interop scripts (#262)

* fix: pre pr

* fix op-deployer tests

* remove dependency code

* fix lint

* use Bob account

---------

Co-authored-by: Disco <[email protected]>
Co-authored-by: AgusDuha <[email protected]>
Co-authored-by: agusduha <[email protected]>
Co-authored-by: 0xParticle <[email protected]>
Co-authored-by: gotzenx <[email protected]>
Co-authored-by: Joxess <[email protected]>
Co-authored-by: Skeletor Spaceman <[email protected]>
xibao-nr pushed a commit to node-real/combo-optimism that referenced this pull request Feb 19, 2025
shenkeyao referenced this pull request in EspressoSystems/optimism-espresso-integration Mar 1, 2025
The preimage store is disable by default from geth 1.10
QuentinI referenced this pull request in EspressoSystems/optimism-espresso-integration Mar 7, 2025
The preimage store is disable by default from geth 1.10
theochap pushed a commit that referenced this pull request Jan 15, 2026
### Description

Adds docs for the `SystemConfig` and structures the book out a bit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants