Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
f7368e09
Commit
f7368e09
authored
Jul 27, 2023
by
clabby
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: fix
chore: fix x
parent
45a7ab80
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
12 additions
and
924 deletions
+12
-924
config.yml
.circleci/config.yml
+4
-30
evm_test.go
cannon/mipsevm/evm_test.go
+4
-12
Makefile
op-bindings/Makefile
+1
-2
source_ids.go
op-bindings/bindings/source_ids.go
+0
-772
main.go
op-bindings/gen/main.go
+0
-102
solutil_test.go
op-chain-ops/srcmap/solutil_test.go
+3
-6
No files found.
.circleci/config.yml
View file @
f7368e09
...
...
@@ -717,32 +717,6 @@ jobs:
command
:
make fuzz
working_directory
:
op-chain-ops
op-chain-ops-tests
:
docker
:
-
image
:
us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:latest
resource_class
:
xlarge
steps
:
-
checkout
-
attach_workspace
:
{
at
:
"
."
}
-
restore_cache
:
name
:
Restore PNPM Package Cache
keys
:
-
pnpm-packages-v2-{{ checksum "pnpm-lock.yaml" }}
-
run
:
name
:
prep results dir
command
:
mkdir -p /tmp/test-results
-
run
:
name
:
run tests
command
:
|
gotestsum --format=standard-verbose --junitfile=/tmp/test-results/op-chain-ops.xml \
-- -parallel=8 -coverpkg=github.com/ethereum-optimism/optimism/... -coverprofile=coverage.out ./...
working_directory
:
op-chain-ops
-
run
:
name
:
upload coverage
command
:
codecov --verbose --clean --flags bedrock-go-tests
-
store_test_results
:
path
:
/tmp/test-results
fuzz-cannon
:
docker
:
-
image
:
us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:latest
...
...
@@ -1257,10 +1231,6 @@ workflows:
-
depcheck
:
requires
:
-
pnpm-monorepo
-
op-chain-ops-tests
:
name
:
op-chain-ops-tests
requires
:
-
pnpm-monorepo
-
devnet
:
name
:
devnet (with deployed contracts)
deploy
:
true
...
...
@@ -1324,6 +1294,9 @@ workflows:
-
go-test
:
name
:
op-bindings-tests
module
:
op-bindings
-
go-test
:
name
:
op-chain-ops-tests
module
:
op-chain-ops
-
go-test
:
name
:
op-node-tests
module
:
op-node
...
...
@@ -1362,6 +1335,7 @@ workflows:
-
op-service-lint
-
op-batcher-tests
-
op-bindings-tests
-
op-chain-ops-tests
-
op-node-tests
-
op-proposer-tests
-
op-challenger-tests
...
...
cannon/mipsevm/evm_test.go
View file @
f7368e09
...
...
@@ -19,7 +19,6 @@ import (
"github.com/ethereum/go-ethereum/eth/tracers/logger"
"github.com/stretchr/testify/require"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-chain-ops/srcmap"
)
...
...
@@ -38,19 +37,12 @@ func testContractsSetup(t require.TestingT) (*Contracts, *Addresses) {
}
func
SourceMapTracer
(
t
*
testing
.
T
,
contracts
*
Contracts
,
addrs
*
Addresses
)
vm
.
EVMLogger
{
sources
:=
bindings
.
Sources
contractsDir
:=
"../../packages/contracts-bedrock"
for
i
,
source
:=
range
sources
{
// Add relative path to contracts directory if the source is not
// already relativized.
if
!
strings
.
HasPrefix
(
source
,
".."
)
{
sources
[
i
]
=
path
.
Join
(
contractsDir
,
source
)
}
}
t
.
Fatal
(
"TODO(clabby): The source map tracer is disabled until source IDs have been added to foundry artifacts."
)
mipsSrcMap
,
err
:=
contracts
.
MIPS
.
SourceMap
(
append
([]
string
{
path
.
Join
(
contractsDir
,
"src/cannon/MIPS.sol"
)},
sources
...
))
contractsDir
:=
"../../packages/contracts-bedrock"
mipsSrcMap
,
err
:=
contracts
.
MIPS
.
SourceMap
([]
string
{
path
.
Join
(
contractsDir
,
"src/cannon/MIPS.sol"
)})
require
.
NoError
(
t
,
err
)
oracleSrcMap
,
err
:=
contracts
.
Oracle
.
SourceMap
(
append
([]
string
{
path
.
Join
(
contractsDir
,
"src/cannon/PreimageOracle.sol"
)},
sources
...
)
)
oracleSrcMap
,
err
:=
contracts
.
Oracle
.
SourceMap
(
[]
string
{
path
.
Join
(
contractsDir
,
"src/cannon/PreimageOracle.sol"
)}
)
require
.
NoError
(
t
,
err
)
return
srcmap
.
NewSourceMapTracer
(
map
[
common
.
Address
]
*
srcmap
.
SourceMap
{
addrs
.
MIPS
:
mipsSrcMap
,
addrs
.
Oracle
:
oracleSrcMap
},
os
.
Stdout
)
...
...
op-bindings/Makefile
View file @
f7368e09
...
...
@@ -12,14 +12,13 @@ version:
compile
:
cd
$
(
contracts-dir
)
&&
\
pnpm build
--build-info
pnpm build
bindings
:
compile bindings-build
bindings-build
:
go run ./gen/main.go
\
-forge-artifacts
$
(
contracts-dir
)
/forge-artifacts
\
-forge-build-info
$
(
contracts-dir
)
/artifacts/build-info
\
-out
./bindings
\
-contracts
./artifacts.json
\
-source-maps
MIPS,PreimageOracle
\
...
...
op-bindings/bindings/source_ids.go
deleted
100644 → 0
View file @
45a7ab80
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package
bindings
var
Sources
=
[]
string
{
"lib/clones-with-immutable-args/src/ClonesWithImmutableArgs.sol"
,
"lib/ds-test/src/test.sol"
,
"lib/forge-std/src/Base.sol"
,
"lib/forge-std/src/Script.sol"
,
"lib/forge-std/src/StdAssertions.sol"
,
"lib/forge-std/src/StdChains.sol"
,
"lib/forge-std/src/StdCheats.sol"
,
"lib/forge-std/src/StdError.sol"
,
"lib/forge-std/src/StdInvariant.sol"
,
"lib/forge-std/src/StdJson.sol"
,
"lib/forge-std/src/StdMath.sol"
,
"lib/forge-std/src/StdStorage.sol"
,
"lib/forge-std/src/StdStyle.sol"
,
"lib/forge-std/src/StdUtils.sol"
,
"lib/forge-std/src/Test.sol"
,
"lib/forge-std/src/Vm.sol"
,
"lib/forge-std/src/console.sol"
,
"lib/forge-std/src/console2.sol"
,
"lib/forge-std/src/interfaces/IMulticall3.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol"
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol"
,
"lib/openzeppelin-contracts/contracts/access/Ownable.sol"
,
"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol"
,
"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol"
,
"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol"
,
"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol"
,
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol"
,
"lib/openzeppelin-contracts/contracts/utils/Address.sol"
,
"lib/openzeppelin-contracts/contracts/utils/Context.sol"
,
"lib/openzeppelin-contracts/contracts/utils/Counters.sol"
,
"lib/openzeppelin-contracts/contracts/utils/Strings.sol"
,
"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol"
,
"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol"
,
"lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol"
,
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol"
,
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol"
,
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"
,
"lib/openzeppelin-contracts/contracts/utils/math/Math.sol"
,
"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"
,
"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"
,
"lib/solmate/src/auth/Owned.sol"
,
"lib/solmate/src/tokens/ERC20.sol"
,
"lib/solmate/src/tokens/ERC721.sol"
,
"lib/solmate/src/utils/Bytes32AddressLib.sol"
,
"lib/solmate/src/utils/FixedPointMathLib.sol"
,
"scripts/Deploy.s.sol"
,
"scripts/DeployConfig.s.sol"
,
"scripts/Deployer.sol"
,
"scripts/Executables.sol"
,
"scripts/FaultDisputeGameViz.s.sol"
,
"scripts/FeeVaultWithdrawal.s.sol"
,
"scripts/SemverLock.s.sol"
,
"scripts/interfaces/IGnosisSafe.sol"
,
"scripts/libraries/LibSort.sol"
,
"scripts/outputs/DeleteOutput.s.sol"
,
"scripts/universal/EnhancedScript.sol"
,
"scripts/universal/GlobalConstants.sol"
,
"scripts/universal/SafeBuilder.sol"
,
"scripts/upgrades/EASUpgrade.s.sol"
,
"scripts/upgrades/PostSherlock.s.sol"
,
"scripts/upgrades/PostSherlockL2.s.sol"
,
"src/L1/L1CrossDomainMessenger.sol"
,
"src/L1/L1ERC721Bridge.sol"
,
"src/L1/L1StandardBridge.sol"
,
"src/L1/L2OutputOracle.sol"
,
"src/L1/OptimismPortal.sol"
,
"src/L1/ResourceMetering.sol"
,
"src/L1/SystemConfig.sol"
,
"src/L2/BaseFeeVault.sol"
,
"src/L2/CrossDomainOwnable.sol"
,
"src/L2/CrossDomainOwnable2.sol"
,
"src/L2/CrossDomainOwnable3.sol"
,
"src/L2/GasPriceOracle.sol"
,
"src/L2/L1Block.sol"
,
"src/L2/L1FeeVault.sol"
,
"src/L2/L2CrossDomainMessenger.sol"
,
"src/L2/L2ERC721Bridge.sol"
,
"src/L2/L2StandardBridge.sol"
,
"src/L2/L2ToL1MessagePasser.sol"
,
"src/L2/SequencerFeeVault.sol"
,
"src/cannon/MIPS.sol"
,
"src/cannon/PreimageKeyLib.sol"
,
"src/cannon/PreimageOracle.sol"
,
"src/cannon/interfaces/IPreimageOracle.sol"
,
"src/cannon/libraries/CannonErrors.sol"
,
"src/dispute/DisputeGameFactory.sol"
,
"src/dispute/FaultDisputeGame.sol"
,
"src/dispute/interfaces/IBigStepper.sol"
,
"src/dispute/interfaces/IBondManager.sol"
,
"src/dispute/interfaces/IDisputeGame.sol"
,
"src/dispute/interfaces/IDisputeGameFactory.sol"
,
"src/dispute/interfaces/IFaultDisputeGame.sol"
,
"src/dispute/interfaces/IInitializable.sol"
,
"src/dispute/lib/LibClock.sol"
,
"src/dispute/lib/LibHashing.sol"
,
"src/dispute/lib/LibPosition.sol"
,
"src/governance/GovernanceToken.sol"
,
"src/governance/MintManager.sol"
,
"src/legacy/AddressManager.sol"
,
"src/legacy/DeployerWhitelist.sol"
,
"src/legacy/L1BlockNumber.sol"
,
"src/legacy/L1ChugSplashProxy.sol"
,
"src/legacy/LegacyERC20ETH.sol"
,
"src/legacy/LegacyMessagePasser.sol"
,
"src/legacy/LegacyMintableERC20.sol"
,
"src/legacy/ResolvedDelegateProxy.sol"
,
"src/libraries/Arithmetic.sol"
,
"src/libraries/Burn.sol"
,
"src/libraries/Bytes.sol"
,
"src/libraries/Clone.sol"
,
"src/libraries/Constants.sol"
,
"src/libraries/DisputeErrors.sol"
,
"src/libraries/DisputeTypes.sol"
,
"src/libraries/Encoding.sol"
,
"src/libraries/Hashing.sol"
,
"src/libraries/LegacyCrossDomainUtils.sol"
,
"src/libraries/Predeploys.sol"
,
"src/libraries/SafeCall.sol"
,
"src/libraries/Types.sol"
,
"src/libraries/rlp/RLPReader.sol"
,
"src/libraries/rlp/RLPWriter.sol"
,
"src/libraries/trie/MerkleTrie.sol"
,
"src/libraries/trie/SecureMerkleTrie.sol"
,
"src/periphery/AssetReceiver.sol"
,
"src/periphery/Transactor.sol"
,
"src/periphery/TransferOnion.sol"
,
"src/periphery/drippie/Drippie.sol"
,
"src/periphery/drippie/IDripCheck.sol"
,
"src/periphery/drippie/dripchecks/CheckBalanceHigh.sol"
,
"src/periphery/drippie/dripchecks/CheckBalanceLow.sol"
,
"src/periphery/drippie/dripchecks/CheckGelatoLow.sol"
,
"src/periphery/drippie/dripchecks/CheckTrue.sol"
,
"src/periphery/faucet/Faucet.sol"
,
"src/periphery/faucet/authmodules/AdminFaucetAuthModule.sol"
,
"src/periphery/faucet/authmodules/IFaucetAuthModule.sol"
,
"src/periphery/op-nft/AttestationStation.sol"
,
"src/periphery/op-nft/Optimist.sol"
,
"src/periphery/op-nft/OptimistAllowlist.sol"
,
"src/periphery/op-nft/OptimistInviter.sol"
,
"src/periphery/op-nft/libraries/OptimistConstants.sol"
,
"src/universal/CrossDomainMessenger.sol"
,
"src/universal/ERC721Bridge.sol"
,
"src/universal/FeeVault.sol"
,
"src/universal/IOptimismMintableERC20.sol"
,
"src/universal/IOptimismMintableERC721.sol"
,
"src/universal/OptimismMintableERC20.sol"
,
"src/universal/OptimismMintableERC20Factory.sol"
,
"src/universal/OptimismMintableERC721.sol"
,
"src/universal/OptimismMintableERC721Factory.sol"
,
"src/universal/Proxy.sol"
,
"src/universal/ProxyAdmin.sol"
,
"src/universal/Semver.sol"
,
"src/universal/StandardBridge.sol"
,
"src/vendor/AddressAliasHelper.sol"
,
"test/AddressAliasHelper.t.sol"
,
"test/AdminFaucetAuthModule.t.sol"
,
"test/AssetReceiver.t.sol"
,
"test/AttestationStation.t.sol"
,
"test/BenchmarkTest.t.sol"
,
"test/Bytes.t.sol"
,
"test/CheckBalanceHigh.t.sol"
,
"test/CheckBalanceLow.t.sol"
,
"test/CheckGelatoLow.t.sol"
,
"test/CheckTrue.t.sol"
,
"test/CommonTest.t.sol"
,
"test/CrossDomainMessenger.t.sol"
,
"test/CrossDomainOwnable.t.sol"
,
"test/CrossDomainOwnable2.t.sol"
,
"test/CrossDomainOwnable3.t.sol"
,
"test/DeployerWhitelist.t.sol"
,
"test/DisputeGameFactory.t.sol"
,
"test/Drippie.t.sol"
,
"test/Encoding.t.sol"
,
"test/Faucet.t.sol"
,
"test/FaultDisputeGame.t.sol"
,
"test/FeeVault.t.sol"
,
"test/GasPriceOracle.t.sol"
,
"test/GovernanceToken.t.sol"
,
"test/Hashing.t.sol"
,
"test/Helpers.sol"
,
"test/L1Block.t.sol"
,
"test/L1BlockNumber.t.sol"
,
"test/L1CrossDomainMessenger.t.sol"
,
"test/L1ERC721Bridge.t.sol"
,
"test/L1StandardBridge.t.sol"
,
"test/L2CrossDomainMessenger.t.sol"
,
"test/L2ERC721Bridge.t.sol"
,
"test/L2OutputOracle.t.sol"
,
"test/L2StandardBridge.t.sol"
,
"test/L2ToL1MessagePasser.t.sol"
,
"test/LegacyERC20ETH.t.sol"
,
"test/LegacyMessagePasser.t.sol"
,
"test/MerkleTrie.t.sol"
,
"test/MintManager.t.sol"
,
"test/OptimismMintableERC20.t.sol"
,
"test/OptimismMintableERC20Factory.t.sol"
,
"test/OptimismMintableERC721.t.sol"
,
"test/OptimismMintableERC721Factory.t.sol"
,
"test/OptimismPortal.t.sol"
,
"test/Optimist.t.sol"
,
"test/OptimistAllowlist.t.sol"
,
"test/OptimistInviter.t.sol"
,
"test/PreimageOracle.t.sol"
,
"test/Proxy.t.sol"
,
"test/ProxyAdmin.t.sol"
,
"test/RLP.t.sol"
,
"test/RLPReader.t.sol"
,
"test/RLPWriter.t.sol"
,
"test/ResolvedDelegateProxy.t.sol"
,
"test/ResourceMetering.t.sol"
,
"test/SafeCall.t.sol"
,
"test/Semver.t.sol"
,
"test/SequencerFeeVault.t.sol"
,
"test/StandardBridge.t.sol"
,
"test/SystemConfig.t.sol"
,
"test/Transactor.t.sol"
,
"test/TransferOnion.t.sol"
,
"test/invariants/AddressAliasHelper.t.sol"
,
"test/invariants/Burn.Eth.t.sol"
,
"test/invariants/Burn.Gas.t.sol"
,
"test/invariants/CrossDomainMessenger.t.sol"
,
"test/invariants/Encoding.t.sol"
,
"test/invariants/Hashing.t.sol"
,
"test/invariants/L2OutputOracle.t.sol"
,
"test/invariants/OptimismPortal.t.sol"
,
"test/invariants/ResourceMetering.t.sol"
,
"test/invariants/SafeCall.t.sol"
,
"test/invariants/SystemConfig.t.sol"
,
}
var
SourceToId
=
map
[
string
]
uint
{
"lib/clones-with-immutable-args/src/ClonesWithImmutableArgs.sol"
:
0
,
"lib/ds-test/src/test.sol"
:
1
,
"lib/forge-std/src/Base.sol"
:
2
,
"lib/forge-std/src/Script.sol"
:
3
,
"lib/forge-std/src/StdAssertions.sol"
:
4
,
"lib/forge-std/src/StdChains.sol"
:
5
,
"lib/forge-std/src/StdCheats.sol"
:
6
,
"lib/forge-std/src/StdError.sol"
:
7
,
"lib/forge-std/src/StdInvariant.sol"
:
8
,
"lib/forge-std/src/StdJson.sol"
:
9
,
"lib/forge-std/src/StdMath.sol"
:
10
,
"lib/forge-std/src/StdStorage.sol"
:
11
,
"lib/forge-std/src/StdStyle.sol"
:
12
,
"lib/forge-std/src/StdUtils.sol"
:
13
,
"lib/forge-std/src/Test.sol"
:
14
,
"lib/forge-std/src/Vm.sol"
:
15
,
"lib/forge-std/src/console.sol"
:
16
,
"lib/forge-std/src/console2.sol"
:
17
,
"lib/forge-std/src/interfaces/IMulticall3.sol"
:
18
,
"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol"
:
19
,
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"
:
20
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol"
:
21
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol"
:
22
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol"
:
23
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol"
:
24
,
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol"
:
25
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol"
:
26
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol"
:
27
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol"
:
28
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol"
:
29
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol"
:
30
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol"
:
31
,
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol"
:
32
,
"lib/openzeppelin-contracts/contracts/access/Ownable.sol"
:
33
,
"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol"
:
34
,
"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol"
:
35
,
"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol"
:
36
,
"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"
:
37
,
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"
:
38
,
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"
:
39
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol"
:
40
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol"
:
41
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol"
:
42
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"
:
43
,
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol"
:
44
,
"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol"
:
45
,
"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol"
:
46
,
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol"
:
47
,
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol"
:
48
,
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol"
:
49
,
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol"
:
50
,
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol"
:
51
,
"lib/openzeppelin-contracts/contracts/utils/Address.sol"
:
52
,
"lib/openzeppelin-contracts/contracts/utils/Context.sol"
:
53
,
"lib/openzeppelin-contracts/contracts/utils/Counters.sol"
:
54
,
"lib/openzeppelin-contracts/contracts/utils/Strings.sol"
:
55
,
"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol"
:
56
,
"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol"
:
57
,
"lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol"
:
58
,
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol"
:
59
,
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol"
:
60
,
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"
:
61
,
"lib/openzeppelin-contracts/contracts/utils/math/Math.sol"
:
62
,
"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"
:
63
,
"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"
:
64
,
"lib/solmate/src/auth/Owned.sol"
:
65
,
"lib/solmate/src/tokens/ERC20.sol"
:
66
,
"lib/solmate/src/tokens/ERC721.sol"
:
67
,
"lib/solmate/src/utils/Bytes32AddressLib.sol"
:
68
,
"lib/solmate/src/utils/FixedPointMathLib.sol"
:
69
,
"scripts/Deploy.s.sol"
:
70
,
"scripts/DeployConfig.s.sol"
:
71
,
"scripts/Deployer.sol"
:
72
,
"scripts/Executables.sol"
:
73
,
"scripts/FaultDisputeGameViz.s.sol"
:
74
,
"scripts/FeeVaultWithdrawal.s.sol"
:
75
,
"scripts/SemverLock.s.sol"
:
76
,
"scripts/interfaces/IGnosisSafe.sol"
:
77
,
"scripts/libraries/LibSort.sol"
:
78
,
"scripts/outputs/DeleteOutput.s.sol"
:
79
,
"scripts/universal/EnhancedScript.sol"
:
80
,
"scripts/universal/GlobalConstants.sol"
:
81
,
"scripts/universal/SafeBuilder.sol"
:
82
,
"scripts/upgrades/EASUpgrade.s.sol"
:
83
,
"scripts/upgrades/PostSherlock.s.sol"
:
84
,
"scripts/upgrades/PostSherlockL2.s.sol"
:
85
,
"src/L1/L1CrossDomainMessenger.sol"
:
86
,
"src/L1/L1ERC721Bridge.sol"
:
87
,
"src/L1/L1StandardBridge.sol"
:
88
,
"src/L1/L2OutputOracle.sol"
:
89
,
"src/L1/OptimismPortal.sol"
:
90
,
"src/L1/ResourceMetering.sol"
:
91
,
"src/L1/SystemConfig.sol"
:
92
,
"src/L2/BaseFeeVault.sol"
:
93
,
"src/L2/CrossDomainOwnable.sol"
:
94
,
"src/L2/CrossDomainOwnable2.sol"
:
95
,
"src/L2/CrossDomainOwnable3.sol"
:
96
,
"src/L2/GasPriceOracle.sol"
:
97
,
"src/L2/L1Block.sol"
:
98
,
"src/L2/L1FeeVault.sol"
:
99
,
"src/L2/L2CrossDomainMessenger.sol"
:
100
,
"src/L2/L2ERC721Bridge.sol"
:
101
,
"src/L2/L2StandardBridge.sol"
:
102
,
"src/L2/L2ToL1MessagePasser.sol"
:
103
,
"src/L2/SequencerFeeVault.sol"
:
104
,
"src/cannon/MIPS.sol"
:
105
,
"src/cannon/PreimageKeyLib.sol"
:
106
,
"src/cannon/PreimageOracle.sol"
:
107
,
"src/cannon/interfaces/IPreimageOracle.sol"
:
108
,
"src/cannon/libraries/CannonErrors.sol"
:
109
,
"src/dispute/DisputeGameFactory.sol"
:
110
,
"src/dispute/FaultDisputeGame.sol"
:
111
,
"src/dispute/interfaces/IBigStepper.sol"
:
112
,
"src/dispute/interfaces/IBondManager.sol"
:
113
,
"src/dispute/interfaces/IDisputeGame.sol"
:
114
,
"src/dispute/interfaces/IDisputeGameFactory.sol"
:
115
,
"src/dispute/interfaces/IFaultDisputeGame.sol"
:
116
,
"src/dispute/interfaces/IInitializable.sol"
:
117
,
"src/dispute/lib/LibClock.sol"
:
118
,
"src/dispute/lib/LibHashing.sol"
:
119
,
"src/dispute/lib/LibPosition.sol"
:
120
,
"src/governance/GovernanceToken.sol"
:
121
,
"src/governance/MintManager.sol"
:
122
,
"src/legacy/AddressManager.sol"
:
123
,
"src/legacy/DeployerWhitelist.sol"
:
124
,
"src/legacy/L1BlockNumber.sol"
:
125
,
"src/legacy/L1ChugSplashProxy.sol"
:
126
,
"src/legacy/LegacyERC20ETH.sol"
:
127
,
"src/legacy/LegacyMessagePasser.sol"
:
128
,
"src/legacy/LegacyMintableERC20.sol"
:
129
,
"src/legacy/ResolvedDelegateProxy.sol"
:
130
,
"src/libraries/Arithmetic.sol"
:
131
,
"src/libraries/Burn.sol"
:
132
,
"src/libraries/Bytes.sol"
:
133
,
"src/libraries/Clone.sol"
:
134
,
"src/libraries/Constants.sol"
:
135
,
"src/libraries/DisputeErrors.sol"
:
136
,
"src/libraries/DisputeTypes.sol"
:
137
,
"src/libraries/Encoding.sol"
:
138
,
"src/libraries/Hashing.sol"
:
139
,
"src/libraries/LegacyCrossDomainUtils.sol"
:
140
,
"src/libraries/Predeploys.sol"
:
141
,
"src/libraries/SafeCall.sol"
:
142
,
"src/libraries/Types.sol"
:
143
,
"src/libraries/rlp/RLPReader.sol"
:
144
,
"src/libraries/rlp/RLPWriter.sol"
:
145
,
"src/libraries/trie/MerkleTrie.sol"
:
146
,
"src/libraries/trie/SecureMerkleTrie.sol"
:
147
,
"src/periphery/AssetReceiver.sol"
:
148
,
"src/periphery/Transactor.sol"
:
149
,
"src/periphery/TransferOnion.sol"
:
150
,
"src/periphery/drippie/Drippie.sol"
:
151
,
"src/periphery/drippie/IDripCheck.sol"
:
152
,
"src/periphery/drippie/dripchecks/CheckBalanceHigh.sol"
:
153
,
"src/periphery/drippie/dripchecks/CheckBalanceLow.sol"
:
154
,
"src/periphery/drippie/dripchecks/CheckGelatoLow.sol"
:
155
,
"src/periphery/drippie/dripchecks/CheckTrue.sol"
:
156
,
"src/periphery/faucet/Faucet.sol"
:
157
,
"src/periphery/faucet/authmodules/AdminFaucetAuthModule.sol"
:
158
,
"src/periphery/faucet/authmodules/IFaucetAuthModule.sol"
:
159
,
"src/periphery/op-nft/AttestationStation.sol"
:
160
,
"src/periphery/op-nft/Optimist.sol"
:
161
,
"src/periphery/op-nft/OptimistAllowlist.sol"
:
162
,
"src/periphery/op-nft/OptimistInviter.sol"
:
163
,
"src/periphery/op-nft/libraries/OptimistConstants.sol"
:
164
,
"src/universal/CrossDomainMessenger.sol"
:
165
,
"src/universal/ERC721Bridge.sol"
:
166
,
"src/universal/FeeVault.sol"
:
167
,
"src/universal/IOptimismMintableERC20.sol"
:
168
,
"src/universal/IOptimismMintableERC721.sol"
:
169
,
"src/universal/OptimismMintableERC20.sol"
:
170
,
"src/universal/OptimismMintableERC20Factory.sol"
:
171
,
"src/universal/OptimismMintableERC721.sol"
:
172
,
"src/universal/OptimismMintableERC721Factory.sol"
:
173
,
"src/universal/Proxy.sol"
:
174
,
"src/universal/ProxyAdmin.sol"
:
175
,
"src/universal/Semver.sol"
:
176
,
"src/universal/StandardBridge.sol"
:
177
,
"src/vendor/AddressAliasHelper.sol"
:
178
,
"test/AddressAliasHelper.t.sol"
:
179
,
"test/AdminFaucetAuthModule.t.sol"
:
180
,
"test/AssetReceiver.t.sol"
:
181
,
"test/AttestationStation.t.sol"
:
182
,
"test/BenchmarkTest.t.sol"
:
183
,
"test/Bytes.t.sol"
:
184
,
"test/CheckBalanceHigh.t.sol"
:
185
,
"test/CheckBalanceLow.t.sol"
:
186
,
"test/CheckGelatoLow.t.sol"
:
187
,
"test/CheckTrue.t.sol"
:
188
,
"test/CommonTest.t.sol"
:
189
,
"test/CrossDomainMessenger.t.sol"
:
190
,
"test/CrossDomainOwnable.t.sol"
:
191
,
"test/CrossDomainOwnable2.t.sol"
:
192
,
"test/CrossDomainOwnable3.t.sol"
:
193
,
"test/DeployerWhitelist.t.sol"
:
194
,
"test/DisputeGameFactory.t.sol"
:
195
,
"test/Drippie.t.sol"
:
196
,
"test/Encoding.t.sol"
:
197
,
"test/Faucet.t.sol"
:
198
,
"test/FaultDisputeGame.t.sol"
:
199
,
"test/FeeVault.t.sol"
:
200
,
"test/GasPriceOracle.t.sol"
:
201
,
"test/GovernanceToken.t.sol"
:
202
,
"test/Hashing.t.sol"
:
203
,
"test/Helpers.sol"
:
204
,
"test/L1Block.t.sol"
:
205
,
"test/L1BlockNumber.t.sol"
:
206
,
"test/L1CrossDomainMessenger.t.sol"
:
207
,
"test/L1ERC721Bridge.t.sol"
:
208
,
"test/L1StandardBridge.t.sol"
:
209
,
"test/L2CrossDomainMessenger.t.sol"
:
210
,
"test/L2ERC721Bridge.t.sol"
:
211
,
"test/L2OutputOracle.t.sol"
:
212
,
"test/L2StandardBridge.t.sol"
:
213
,
"test/L2ToL1MessagePasser.t.sol"
:
214
,
"test/LegacyERC20ETH.t.sol"
:
215
,
"test/LegacyMessagePasser.t.sol"
:
216
,
"test/MerkleTrie.t.sol"
:
217
,
"test/MintManager.t.sol"
:
218
,
"test/OptimismMintableERC20.t.sol"
:
219
,
"test/OptimismMintableERC20Factory.t.sol"
:
220
,
"test/OptimismMintableERC721.t.sol"
:
221
,
"test/OptimismMintableERC721Factory.t.sol"
:
222
,
"test/OptimismPortal.t.sol"
:
223
,
"test/Optimist.t.sol"
:
224
,
"test/OptimistAllowlist.t.sol"
:
225
,
"test/OptimistInviter.t.sol"
:
226
,
"test/PreimageOracle.t.sol"
:
227
,
"test/Proxy.t.sol"
:
228
,
"test/ProxyAdmin.t.sol"
:
229
,
"test/RLP.t.sol"
:
230
,
"test/RLPReader.t.sol"
:
231
,
"test/RLPWriter.t.sol"
:
232
,
"test/ResolvedDelegateProxy.t.sol"
:
233
,
"test/ResourceMetering.t.sol"
:
234
,
"test/SafeCall.t.sol"
:
235
,
"test/Semver.t.sol"
:
236
,
"test/SequencerFeeVault.t.sol"
:
237
,
"test/StandardBridge.t.sol"
:
238
,
"test/SystemConfig.t.sol"
:
239
,
"test/Transactor.t.sol"
:
240
,
"test/TransferOnion.t.sol"
:
241
,
"test/invariants/AddressAliasHelper.t.sol"
:
242
,
"test/invariants/Burn.Eth.t.sol"
:
243
,
"test/invariants/Burn.Gas.t.sol"
:
244
,
"test/invariants/CrossDomainMessenger.t.sol"
:
245
,
"test/invariants/Encoding.t.sol"
:
246
,
"test/invariants/Hashing.t.sol"
:
247
,
"test/invariants/L2OutputOracle.t.sol"
:
248
,
"test/invariants/OptimismPortal.t.sol"
:
249
,
"test/invariants/ResourceMetering.t.sol"
:
250
,
"test/invariants/SafeCall.t.sol"
:
251
,
"test/invariants/SystemConfig.t.sol"
:
252
,
}
var
IdToSource
=
map
[
uint
]
string
{
0
:
"lib/clones-with-immutable-args/src/ClonesWithImmutableArgs.sol"
,
1
:
"lib/ds-test/src/test.sol"
,
2
:
"lib/forge-std/src/Base.sol"
,
3
:
"lib/forge-std/src/Script.sol"
,
4
:
"lib/forge-std/src/StdAssertions.sol"
,
5
:
"lib/forge-std/src/StdChains.sol"
,
6
:
"lib/forge-std/src/StdCheats.sol"
,
7
:
"lib/forge-std/src/StdError.sol"
,
8
:
"lib/forge-std/src/StdInvariant.sol"
,
9
:
"lib/forge-std/src/StdJson.sol"
,
10
:
"lib/forge-std/src/StdMath.sol"
,
11
:
"lib/forge-std/src/StdStorage.sol"
,
12
:
"lib/forge-std/src/StdStyle.sol"
,
13
:
"lib/forge-std/src/StdUtils.sol"
,
14
:
"lib/forge-std/src/Test.sol"
,
15
:
"lib/forge-std/src/Vm.sol"
,
16
:
"lib/forge-std/src/console.sol"
,
17
:
"lib/forge-std/src/console2.sol"
,
18
:
"lib/forge-std/src/interfaces/IMulticall3.sol"
,
19
:
"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol"
,
20
:
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"
,
21
:
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol"
,
22
:
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol"
,
23
:
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol"
,
24
:
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol"
,
25
:
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol"
,
26
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol"
,
27
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol"
,
28
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol"
,
29
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol"
,
30
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol"
,
31
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol"
,
32
:
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol"
,
33
:
"lib/openzeppelin-contracts/contracts/access/Ownable.sol"
,
34
:
"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol"
,
35
:
"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol"
,
36
:
"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol"
,
37
:
"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"
,
38
:
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"
,
39
:
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"
,
40
:
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol"
,
41
:
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol"
,
42
:
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol"
,
43
:
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"
,
44
:
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol"
,
45
:
"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol"
,
46
:
"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol"
,
47
:
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol"
,
48
:
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol"
,
49
:
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol"
,
50
:
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol"
,
51
:
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol"
,
52
:
"lib/openzeppelin-contracts/contracts/utils/Address.sol"
,
53
:
"lib/openzeppelin-contracts/contracts/utils/Context.sol"
,
54
:
"lib/openzeppelin-contracts/contracts/utils/Counters.sol"
,
55
:
"lib/openzeppelin-contracts/contracts/utils/Strings.sol"
,
56
:
"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol"
,
57
:
"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol"
,
58
:
"lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol"
,
59
:
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol"
,
60
:
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol"
,
61
:
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"
,
62
:
"lib/openzeppelin-contracts/contracts/utils/math/Math.sol"
,
63
:
"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"
,
64
:
"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"
,
65
:
"lib/solmate/src/auth/Owned.sol"
,
66
:
"lib/solmate/src/tokens/ERC20.sol"
,
67
:
"lib/solmate/src/tokens/ERC721.sol"
,
68
:
"lib/solmate/src/utils/Bytes32AddressLib.sol"
,
69
:
"lib/solmate/src/utils/FixedPointMathLib.sol"
,
70
:
"scripts/Deploy.s.sol"
,
71
:
"scripts/DeployConfig.s.sol"
,
72
:
"scripts/Deployer.sol"
,
73
:
"scripts/Executables.sol"
,
74
:
"scripts/FaultDisputeGameViz.s.sol"
,
75
:
"scripts/FeeVaultWithdrawal.s.sol"
,
76
:
"scripts/SemverLock.s.sol"
,
77
:
"scripts/interfaces/IGnosisSafe.sol"
,
78
:
"scripts/libraries/LibSort.sol"
,
79
:
"scripts/outputs/DeleteOutput.s.sol"
,
80
:
"scripts/universal/EnhancedScript.sol"
,
81
:
"scripts/universal/GlobalConstants.sol"
,
82
:
"scripts/universal/SafeBuilder.sol"
,
83
:
"scripts/upgrades/EASUpgrade.s.sol"
,
84
:
"scripts/upgrades/PostSherlock.s.sol"
,
85
:
"scripts/upgrades/PostSherlockL2.s.sol"
,
86
:
"src/L1/L1CrossDomainMessenger.sol"
,
87
:
"src/L1/L1ERC721Bridge.sol"
,
88
:
"src/L1/L1StandardBridge.sol"
,
89
:
"src/L1/L2OutputOracle.sol"
,
90
:
"src/L1/OptimismPortal.sol"
,
91
:
"src/L1/ResourceMetering.sol"
,
92
:
"src/L1/SystemConfig.sol"
,
93
:
"src/L2/BaseFeeVault.sol"
,
94
:
"src/L2/CrossDomainOwnable.sol"
,
95
:
"src/L2/CrossDomainOwnable2.sol"
,
96
:
"src/L2/CrossDomainOwnable3.sol"
,
97
:
"src/L2/GasPriceOracle.sol"
,
98
:
"src/L2/L1Block.sol"
,
99
:
"src/L2/L1FeeVault.sol"
,
100
:
"src/L2/L2CrossDomainMessenger.sol"
,
101
:
"src/L2/L2ERC721Bridge.sol"
,
102
:
"src/L2/L2StandardBridge.sol"
,
103
:
"src/L2/L2ToL1MessagePasser.sol"
,
104
:
"src/L2/SequencerFeeVault.sol"
,
105
:
"src/cannon/MIPS.sol"
,
106
:
"src/cannon/PreimageKeyLib.sol"
,
107
:
"src/cannon/PreimageOracle.sol"
,
108
:
"src/cannon/interfaces/IPreimageOracle.sol"
,
109
:
"src/cannon/libraries/CannonErrors.sol"
,
110
:
"src/dispute/DisputeGameFactory.sol"
,
111
:
"src/dispute/FaultDisputeGame.sol"
,
112
:
"src/dispute/interfaces/IBigStepper.sol"
,
113
:
"src/dispute/interfaces/IBondManager.sol"
,
114
:
"src/dispute/interfaces/IDisputeGame.sol"
,
115
:
"src/dispute/interfaces/IDisputeGameFactory.sol"
,
116
:
"src/dispute/interfaces/IFaultDisputeGame.sol"
,
117
:
"src/dispute/interfaces/IInitializable.sol"
,
118
:
"src/dispute/lib/LibClock.sol"
,
119
:
"src/dispute/lib/LibHashing.sol"
,
120
:
"src/dispute/lib/LibPosition.sol"
,
121
:
"src/governance/GovernanceToken.sol"
,
122
:
"src/governance/MintManager.sol"
,
123
:
"src/legacy/AddressManager.sol"
,
124
:
"src/legacy/DeployerWhitelist.sol"
,
125
:
"src/legacy/L1BlockNumber.sol"
,
126
:
"src/legacy/L1ChugSplashProxy.sol"
,
127
:
"src/legacy/LegacyERC20ETH.sol"
,
128
:
"src/legacy/LegacyMessagePasser.sol"
,
129
:
"src/legacy/LegacyMintableERC20.sol"
,
130
:
"src/legacy/ResolvedDelegateProxy.sol"
,
131
:
"src/libraries/Arithmetic.sol"
,
132
:
"src/libraries/Burn.sol"
,
133
:
"src/libraries/Bytes.sol"
,
134
:
"src/libraries/Clone.sol"
,
135
:
"src/libraries/Constants.sol"
,
136
:
"src/libraries/DisputeErrors.sol"
,
137
:
"src/libraries/DisputeTypes.sol"
,
138
:
"src/libraries/Encoding.sol"
,
139
:
"src/libraries/Hashing.sol"
,
140
:
"src/libraries/LegacyCrossDomainUtils.sol"
,
141
:
"src/libraries/Predeploys.sol"
,
142
:
"src/libraries/SafeCall.sol"
,
143
:
"src/libraries/Types.sol"
,
144
:
"src/libraries/rlp/RLPReader.sol"
,
145
:
"src/libraries/rlp/RLPWriter.sol"
,
146
:
"src/libraries/trie/MerkleTrie.sol"
,
147
:
"src/libraries/trie/SecureMerkleTrie.sol"
,
148
:
"src/periphery/AssetReceiver.sol"
,
149
:
"src/periphery/Transactor.sol"
,
150
:
"src/periphery/TransferOnion.sol"
,
151
:
"src/periphery/drippie/Drippie.sol"
,
152
:
"src/periphery/drippie/IDripCheck.sol"
,
153
:
"src/periphery/drippie/dripchecks/CheckBalanceHigh.sol"
,
154
:
"src/periphery/drippie/dripchecks/CheckBalanceLow.sol"
,
155
:
"src/periphery/drippie/dripchecks/CheckGelatoLow.sol"
,
156
:
"src/periphery/drippie/dripchecks/CheckTrue.sol"
,
157
:
"src/periphery/faucet/Faucet.sol"
,
158
:
"src/periphery/faucet/authmodules/AdminFaucetAuthModule.sol"
,
159
:
"src/periphery/faucet/authmodules/IFaucetAuthModule.sol"
,
160
:
"src/periphery/op-nft/AttestationStation.sol"
,
161
:
"src/periphery/op-nft/Optimist.sol"
,
162
:
"src/periphery/op-nft/OptimistAllowlist.sol"
,
163
:
"src/periphery/op-nft/OptimistInviter.sol"
,
164
:
"src/periphery/op-nft/libraries/OptimistConstants.sol"
,
165
:
"src/universal/CrossDomainMessenger.sol"
,
166
:
"src/universal/ERC721Bridge.sol"
,
167
:
"src/universal/FeeVault.sol"
,
168
:
"src/universal/IOptimismMintableERC20.sol"
,
169
:
"src/universal/IOptimismMintableERC721.sol"
,
170
:
"src/universal/OptimismMintableERC20.sol"
,
171
:
"src/universal/OptimismMintableERC20Factory.sol"
,
172
:
"src/universal/OptimismMintableERC721.sol"
,
173
:
"src/universal/OptimismMintableERC721Factory.sol"
,
174
:
"src/universal/Proxy.sol"
,
175
:
"src/universal/ProxyAdmin.sol"
,
176
:
"src/universal/Semver.sol"
,
177
:
"src/universal/StandardBridge.sol"
,
178
:
"src/vendor/AddressAliasHelper.sol"
,
179
:
"test/AddressAliasHelper.t.sol"
,
180
:
"test/AdminFaucetAuthModule.t.sol"
,
181
:
"test/AssetReceiver.t.sol"
,
182
:
"test/AttestationStation.t.sol"
,
183
:
"test/BenchmarkTest.t.sol"
,
184
:
"test/Bytes.t.sol"
,
185
:
"test/CheckBalanceHigh.t.sol"
,
186
:
"test/CheckBalanceLow.t.sol"
,
187
:
"test/CheckGelatoLow.t.sol"
,
188
:
"test/CheckTrue.t.sol"
,
189
:
"test/CommonTest.t.sol"
,
190
:
"test/CrossDomainMessenger.t.sol"
,
191
:
"test/CrossDomainOwnable.t.sol"
,
192
:
"test/CrossDomainOwnable2.t.sol"
,
193
:
"test/CrossDomainOwnable3.t.sol"
,
194
:
"test/DeployerWhitelist.t.sol"
,
195
:
"test/DisputeGameFactory.t.sol"
,
196
:
"test/Drippie.t.sol"
,
197
:
"test/Encoding.t.sol"
,
198
:
"test/Faucet.t.sol"
,
199
:
"test/FaultDisputeGame.t.sol"
,
200
:
"test/FeeVault.t.sol"
,
201
:
"test/GasPriceOracle.t.sol"
,
202
:
"test/GovernanceToken.t.sol"
,
203
:
"test/Hashing.t.sol"
,
204
:
"test/Helpers.sol"
,
205
:
"test/L1Block.t.sol"
,
206
:
"test/L1BlockNumber.t.sol"
,
207
:
"test/L1CrossDomainMessenger.t.sol"
,
208
:
"test/L1ERC721Bridge.t.sol"
,
209
:
"test/L1StandardBridge.t.sol"
,
210
:
"test/L2CrossDomainMessenger.t.sol"
,
211
:
"test/L2ERC721Bridge.t.sol"
,
212
:
"test/L2OutputOracle.t.sol"
,
213
:
"test/L2StandardBridge.t.sol"
,
214
:
"test/L2ToL1MessagePasser.t.sol"
,
215
:
"test/LegacyERC20ETH.t.sol"
,
216
:
"test/LegacyMessagePasser.t.sol"
,
217
:
"test/MerkleTrie.t.sol"
,
218
:
"test/MintManager.t.sol"
,
219
:
"test/OptimismMintableERC20.t.sol"
,
220
:
"test/OptimismMintableERC20Factory.t.sol"
,
221
:
"test/OptimismMintableERC721.t.sol"
,
222
:
"test/OptimismMintableERC721Factory.t.sol"
,
223
:
"test/OptimismPortal.t.sol"
,
224
:
"test/Optimist.t.sol"
,
225
:
"test/OptimistAllowlist.t.sol"
,
226
:
"test/OptimistInviter.t.sol"
,
227
:
"test/PreimageOracle.t.sol"
,
228
:
"test/Proxy.t.sol"
,
229
:
"test/ProxyAdmin.t.sol"
,
230
:
"test/RLP.t.sol"
,
231
:
"test/RLPReader.t.sol"
,
232
:
"test/RLPWriter.t.sol"
,
233
:
"test/ResolvedDelegateProxy.t.sol"
,
234
:
"test/ResourceMetering.t.sol"
,
235
:
"test/SafeCall.t.sol"
,
236
:
"test/Semver.t.sol"
,
237
:
"test/SequencerFeeVault.t.sol"
,
238
:
"test/StandardBridge.t.sol"
,
239
:
"test/SystemConfig.t.sol"
,
240
:
"test/Transactor.t.sol"
,
241
:
"test/TransferOnion.t.sol"
,
242
:
"test/invariants/AddressAliasHelper.t.sol"
,
243
:
"test/invariants/Burn.Eth.t.sol"
,
244
:
"test/invariants/Burn.Gas.t.sol"
,
245
:
"test/invariants/CrossDomainMessenger.t.sol"
,
246
:
"test/invariants/Encoding.t.sol"
,
247
:
"test/invariants/Hashing.t.sol"
,
248
:
"test/invariants/L2OutputOracle.t.sol"
,
249
:
"test/invariants/OptimismPortal.t.sol"
,
250
:
"test/invariants/ResourceMetering.t.sol"
,
251
:
"test/invariants/SafeCall.t.sol"
,
252
:
"test/invariants/SystemConfig.t.sol"
,
}
op-bindings/gen/main.go
View file @
f7368e09
...
...
@@ -15,12 +15,10 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/ast"
"github.com/ethereum-optimism/optimism/op-bindings/foundry"
"github.com/ethereum-optimism/optimism/op-bindings/hardhat"
)
type
flags
struct
{
ForgeArtifacts
string
ForgeBuildInfo
string
Contracts
string
SourceMaps
string
OutDir
string
...
...
@@ -29,7 +27,6 @@ type flags struct {
}
type
data
struct
{
SourceId
uint
Name
string
StorageLayout
string
DeployedBin
string
...
...
@@ -37,17 +34,9 @@ type data struct {
DeployedSourceMap
string
}
type
sourceIdData
struct
{
Package
string
Sources
[]
string
SourceToId
map
[
string
]
uint
IdToSource
map
[
uint
]
string
}
func
main
()
{
var
f
flags
flag
.
StringVar
(
&
f
.
ForgeArtifacts
,
"forge-artifacts"
,
""
,
"Forge artifacts directory, to load sourcemaps from, if available"
)
flag
.
StringVar
(
&
f
.
ForgeBuildInfo
,
"forge-build-info"
,
""
,
"Forge build info directory, to load source IDs from, if available"
)
flag
.
StringVar
(
&
f
.
OutDir
,
"out"
,
""
,
"Output directory to put code in"
)
flag
.
StringVar
(
&
f
.
Contracts
,
"contracts"
,
"artifacts.json"
,
"Path to file containing list of contracts to generate bindings for"
)
flag
.
StringVar
(
&
f
.
SourceMaps
,
"source-maps"
,
""
,
"Comma-separated list of contracts to generate source-maps for"
)
...
...
@@ -208,79 +197,6 @@ func main() {
outfile
.
Close
()
log
.
Printf
(
"wrote file %s
\n
"
,
outfile
.
Name
())
}
mostRecentBuildInfo
,
err
:=
getLargestInDir
(
f
.
ForgeBuildInfo
)
if
err
!=
nil
{
log
.
Fatalf
(
"Error getting most recently modified build info file: %v"
,
err
)
}
buildInfoRaw
,
err
:=
os
.
ReadFile
(
mostRecentBuildInfo
)
if
err
!=
nil
{
log
.
Fatalf
(
"Error reading build info file: %v"
,
err
)
}
var
buildInfo
hardhat
.
BuildInfo
if
err
:=
json
.
Unmarshal
(
buildInfoRaw
,
&
buildInfo
);
err
!=
nil
{
log
.
Fatalf
(
"Error parsing build info file: %v"
,
err
)
}
sourceToId
:=
make
(
map
[
string
]
uint
)
idToSource
:=
make
(
map
[
uint
]
string
)
monorepoBase
,
err
:=
filepath
.
Abs
(
f
.
MonorepoBase
)
if
err
!=
nil
{
log
.
Fatalf
(
"Error getting absolute path of monorepo base: %v"
,
err
)
}
for
k
,
v
:=
range
buildInfo
.
Output
.
Sources
{
// Replace absolute monorepo base with relative path to monorepo root
k
=
strings
.
Replace
(
k
,
monorepoBase
+
"/"
,
"../../"
,
1
)
sourceToId
[
k
]
=
v
.
Id
idToSource
[
v
.
Id
]
=
k
}
fname
:=
filepath
.
Join
(
f
.
OutDir
,
"source_ids.go"
)
outfile
,
err
:=
os
.
OpenFile
(
fname
,
os
.
O_RDWR
|
os
.
O_CREATE
|
os
.
O_TRUNC
,
0
o600
,
)
if
err
!=
nil
{
log
.
Fatalf
(
"error opening %s: %v
\n
"
,
fname
,
err
)
}
t
=
template
.
Must
(
template
.
New
(
"source_ids"
)
.
Parse
(
sourceIdTmpl
))
d
:=
sourceIdData
{
Package
:
f
.
Package
,
SourceToId
:
sourceToId
,
IdToSource
:
idToSource
,
}
if
err
:=
t
.
Execute
(
outfile
,
d
);
err
!=
nil
{
log
.
Fatalf
(
"error writing template %s: %v"
,
outfile
.
Name
(),
err
)
}
outfile
.
Close
()
log
.
Printf
(
"wrote file %s
\n
"
,
outfile
.
Name
())
}
// getLargestInDir returns the path of the largest file in a directory.
func
getLargestInDir
(
dirPath
string
)
(
string
,
error
)
{
var
largestFile
string
var
largestSize
int64
err
:=
filepath
.
Walk
(
dirPath
,
func
(
path
string
,
info
os
.
FileInfo
,
err
error
)
error
{
if
err
!=
nil
{
return
err
}
// Check if the current path is a regular file and not a directory
if
!
info
.
IsDir
()
{
if
info
.
Size
()
>
largestSize
{
largestFile
=
path
largestSize
=
info
.
Size
()
}
}
return
nil
})
return
largestFile
,
err
}
var
tmpl
=
`// Code generated - DO NOT EDIT.
...
...
@@ -311,21 +227,3 @@ func init() {
deployedBytecodes["{{.Name}}"] = {{.Name}}DeployedBin
}
`
var
sourceIdTmpl
=
`// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package {{.Package}}
var Sources = []string{
{{range $key, $value := .SourceToId}} "{{$key}}",
{{end}}}
var SourceToId = map[string]uint{
{{range $key, $value := .SourceToId}} "{{$key}}": {{$value}},
{{end}}}
var IdToSource = map[uint]string{
{{range $key, $value := .IdToSource}} {{$key}}: "{{$value}}",
{{end}}}
`
op-chain-ops/srcmap/solutil_test.go
View file @
f7368e09
...
...
@@ -12,15 +12,12 @@ import (
)
func
TestSourcemap
(
t
*
testing
.
T
)
{
t
.
Skip
(
"TODO(clabby): This test is disabled until source IDs have been added to foundry artifacts."
)
contractsDir
:=
"../../packages/contracts-bedrock"
sources
:=
[]
string
{
path
.
Join
(
contractsDir
,
"src/cannon/MIPS.sol"
)}
sources
=
append
(
sources
,
bindings
.
Sources
...
)
for
i
,
source
:=
range
sources
{
// Add relative path to contracts directory if the source is not
// already relativized.
if
!
strings
.
HasPrefix
(
source
,
".."
)
{
sources
[
i
]
=
path
.
Join
(
contractsDir
,
source
)
}
sources
[
i
]
=
path
.
Join
(
contractsDir
,
source
)
}
deployedByteCode
:=
hexutil
.
MustDecode
(
bindings
.
MIPSDeployedBin
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment