Commit bf6a9ceb authored by clabby's avatar clabby

`srcmap` patch

parent 063e52ac
...@@ -12,13 +12,14 @@ version: ...@@ -12,13 +12,14 @@ version:
compile: compile:
cd $(contracts-dir) && \ cd $(contracts-dir) && \
pnpm build pnpm build --build-info
bindings: compile bindings-build bindings: compile bindings-build
bindings-build: bindings-build:
go run ./gen/main.go \ go run ./gen/main.go \
-forge-artifacts $(contracts-dir)/forge-artifacts \ -forge-artifacts $(contracts-dir)/forge-artifacts \
-forge-build-info $(contracts-dir)/artifacts/build-info \
-out ./bindings \ -out ./bindings \
-contracts ./artifacts.json \ -contracts ./artifacts.json \
-source-maps MIPS,PreimageOracle \ -source-maps MIPS,PreimageOracle \
......
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package bindings
var Sources = []string{
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Address.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Context.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Counters.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Strings.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/math/Math.sol",
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/Base.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdAssertions.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdChains.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdCheats.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdError.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdInvariant.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdJson.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdMath.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdStorage.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdStyle.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdUtils.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/Vm.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/console.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/console2.sol",
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/interfaces/IMulticall3.sol",
"contracts/L1/L1CrossDomainMessenger.sol",
"contracts/L1/L1ERC721Bridge.sol",
"contracts/L1/L1StandardBridge.sol",
"contracts/L1/L2OutputOracle.sol",
"contracts/L1/OptimismPortal.sol",
"contracts/L1/ResourceMetering.sol",
"contracts/L1/SystemConfig.sol",
"contracts/L2/BaseFeeVault.sol",
"contracts/L2/CrossDomainOwnable.sol",
"contracts/L2/CrossDomainOwnable2.sol",
"contracts/L2/CrossDomainOwnable3.sol",
"contracts/L2/GasPriceOracle.sol",
"contracts/L2/L1Block.sol",
"contracts/L2/L1FeeVault.sol",
"contracts/L2/L2CrossDomainMessenger.sol",
"contracts/L2/L2ERC721Bridge.sol",
"contracts/L2/L2StandardBridge.sol",
"contracts/L2/L2ToL1MessagePasser.sol",
"contracts/L2/SequencerFeeVault.sol",
"contracts/cannon/MIPS.sol",
"contracts/cannon/PreimageKeyLib.sol",
"contracts/cannon/PreimageOracle.sol",
"contracts/cannon/interfaces/IPreimageOracle.sol",
"contracts/dispute/DisputeGameFactory.sol",
"contracts/dispute/FaultDisputeGame.sol",
"contracts/dispute/interfaces/IBigStepper.sol",
"contracts/dispute/interfaces/IBondManager.sol",
"contracts/dispute/interfaces/IDisputeGame.sol",
"contracts/dispute/interfaces/IDisputeGameFactory.sol",
"contracts/dispute/interfaces/IFaultDisputeGame.sol",
"contracts/dispute/interfaces/IInitializable.sol",
"contracts/dispute/lib/LibClock.sol",
"contracts/dispute/lib/LibHashing.sol",
"contracts/dispute/lib/LibPosition.sol",
"contracts/governance/GovernanceToken.sol",
"contracts/governance/MintManager.sol",
"contracts/legacy/AddressManager.sol",
"contracts/legacy/DeployerWhitelist.sol",
"contracts/legacy/L1BlockNumber.sol",
"contracts/legacy/L1ChugSplashProxy.sol",
"contracts/legacy/LegacyERC20ETH.sol",
"contracts/legacy/LegacyMessagePasser.sol",
"contracts/legacy/LegacyMintableERC20.sol",
"contracts/legacy/ResolvedDelegateProxy.sol",
"contracts/libraries/Arithmetic.sol",
"contracts/libraries/Burn.sol",
"contracts/libraries/Bytes.sol",
"contracts/libraries/Clone.sol",
"contracts/libraries/Constants.sol",
"contracts/libraries/DisputeErrors.sol",
"contracts/libraries/DisputeTypes.sol",
"contracts/libraries/Encoding.sol",
"contracts/libraries/Hashing.sol",
"contracts/libraries/LegacyCrossDomainUtils.sol",
"contracts/libraries/Predeploys.sol",
"contracts/libraries/SafeCall.sol",
"contracts/libraries/Types.sol",
"contracts/libraries/rlp/RLPReader.sol",
"contracts/libraries/rlp/RLPWriter.sol",
"contracts/libraries/trie/MerkleTrie.sol",
"contracts/libraries/trie/SecureMerkleTrie.sol",
"contracts/periphery/AssetReceiver.sol",
"contracts/periphery/Transactor.sol",
"contracts/periphery/TransferOnion.sol",
"contracts/periphery/drippie/Drippie.sol",
"contracts/periphery/drippie/IDripCheck.sol",
"contracts/periphery/drippie/dripchecks/CheckBalanceHigh.sol",
"contracts/periphery/drippie/dripchecks/CheckBalanceLow.sol",
"contracts/periphery/drippie/dripchecks/CheckGelatoLow.sol",
"contracts/periphery/drippie/dripchecks/CheckTrue.sol",
"contracts/periphery/faucet/Faucet.sol",
"contracts/periphery/faucet/authmodules/AdminFaucetAuthModule.sol",
"contracts/periphery/faucet/authmodules/IFaucetAuthModule.sol",
"contracts/periphery/op-nft/AttestationStation.sol",
"contracts/periphery/op-nft/Optimist.sol",
"contracts/periphery/op-nft/OptimistAllowlist.sol",
"contracts/periphery/op-nft/OptimistInviter.sol",
"contracts/periphery/op-nft/libraries/OptimistConstants.sol",
"contracts/test/AddressAliasHelper.t.sol",
"contracts/test/AdminFaucetAuthModule.t.sol",
"contracts/test/AssetReceiver.t.sol",
"contracts/test/AttestationStation.t.sol",
"contracts/test/BenchmarkTest.t.sol",
"contracts/test/Bytes.t.sol",
"contracts/test/CheckBalanceHigh.t.sol",
"contracts/test/CheckBalanceLow.t.sol",
"contracts/test/CheckGelatoLow.t.sol",
"contracts/test/CheckTrue.t.sol",
"contracts/test/Clones.t.sol",
"contracts/test/CommonTest.t.sol",
"contracts/test/CrossDomainMessenger.t.sol",
"contracts/test/CrossDomainOwnable.t.sol",
"contracts/test/CrossDomainOwnable2.t.sol",
"contracts/test/CrossDomainOwnable3.t.sol",
"contracts/test/DeployerWhitelist.t.sol",
"contracts/test/DisputeGameFactory.t.sol",
"contracts/test/Drippie.t.sol",
"contracts/test/Encoding.t.sol",
"contracts/test/Faucet.t.sol",
"contracts/test/FaultDisputeGame.t.sol",
"contracts/test/FeeVault.t.sol",
"contracts/test/GasPriceOracle.t.sol",
"contracts/test/GovernanceToken.t.sol",
"contracts/test/Hashing.t.sol",
"contracts/test/Helpers.sol",
"contracts/test/L1Block.t.sol",
"contracts/test/L1BlockNumber.t.sol",
"contracts/test/L1CrossDomainMessenger.t.sol",
"contracts/test/L1ERC721Bridge.t.sol",
"contracts/test/L1StandardBridge.t.sol",
"contracts/test/L2CrossDomainMessenger.t.sol",
"contracts/test/L2ERC721Bridge.t.sol",
"contracts/test/L2OutputOracle.t.sol",
"contracts/test/L2StandardBridge.t.sol",
"contracts/test/L2ToL1MessagePasser.t.sol",
"contracts/test/LegacyERC20ETH.t.sol",
"contracts/test/LegacyMessagePasser.t.sol",
"contracts/test/LibClock.t.sol",
"contracts/test/LibPosition.t.sol",
"contracts/test/MerkleTrie.t.sol",
"contracts/test/MintManager.t.sol",
"contracts/test/OptimismMintableERC20.t.sol",
"contracts/test/OptimismMintableERC20Factory.t.sol",
"contracts/test/OptimismMintableERC721.t.sol",
"contracts/test/OptimismMintableERC721Factory.t.sol",
"contracts/test/OptimismPortal.t.sol",
"contracts/test/Optimist.t.sol",
"contracts/test/OptimistAllowlist.t.sol",
"contracts/test/OptimistInviter.t.sol",
"contracts/test/PreimageOracle.t.sol",
"contracts/test/Proxy.t.sol",
"contracts/test/ProxyAdmin.t.sol",
"contracts/test/RLP.t.sol",
"contracts/test/RLPReader.t.sol",
"contracts/test/RLPWriter.t.sol",
"contracts/test/ResolvedDelegateProxy.t.sol",
"contracts/test/ResourceMetering.t.sol",
"contracts/test/SafeCall.t.sol",
"contracts/test/Semver.t.sol",
"contracts/test/SequencerFeeVault.t.sol",
"contracts/test/StandardBridge.t.sol",
"contracts/test/SystemConfig.t.sol",
"contracts/test/Transactor.t.sol",
"contracts/test/TransferOnion.t.sol",
"contracts/test/invariants/AddressAliasHelper.t.sol",
"contracts/test/invariants/Burn.Eth.t.sol",
"contracts/test/invariants/Burn.Gas.t.sol",
"contracts/test/invariants/CrossDomainMessenger.t.sol",
"contracts/test/invariants/Encoding.t.sol",
"contracts/test/invariants/Hashing.t.sol",
"contracts/test/invariants/L2OutputOracle.t.sol",
"contracts/test/invariants/OptimismPortal.t.sol",
"contracts/test/invariants/ResourceMetering.t.sol",
"contracts/test/invariants/SafeCall.t.sol",
"contracts/test/invariants/SystemConfig.t.sol",
"contracts/universal/CrossDomainMessenger.sol",
"contracts/universal/ERC721Bridge.sol",
"contracts/universal/FeeVault.sol",
"contracts/universal/IOptimismMintableERC20.sol",
"contracts/universal/IOptimismMintableERC721.sol",
"contracts/universal/OptimismMintableERC20.sol",
"contracts/universal/OptimismMintableERC20Factory.sol",
"contracts/universal/OptimismMintableERC721.sol",
"contracts/universal/OptimismMintableERC721Factory.sol",
"contracts/universal/Proxy.sol",
"contracts/universal/ProxyAdmin.sol",
"contracts/universal/Semver.sol",
"contracts/universal/StandardBridge.sol",
"contracts/vendor/AddressAliasHelper.sol",
"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol",
"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol",
"node_modules/@openzeppelin/contracts/access/Ownable.sol",
"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol",
"node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol",
"node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol",
"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol",
"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol",
"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol",
"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol",
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol",
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
"node_modules/@openzeppelin/contracts/utils/Address.sol",
"node_modules/@openzeppelin/contracts/utils/Context.sol",
"node_modules/@openzeppelin/contracts/utils/Counters.sol",
"node_modules/@openzeppelin/contracts/utils/Strings.sol",
"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol",
"node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol",
"node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol",
"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol",
"node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol",
"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol",
"node_modules/@openzeppelin/contracts/utils/math/Math.sol",
"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol",
"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol",
"node_modules/@rari-capital/solmate/src/auth/Owned.sol",
"node_modules/@rari-capital/solmate/src/tokens/ERC20.sol",
"node_modules/@rari-capital/solmate/src/tokens/ERC721.sol",
"node_modules/@rari-capital/solmate/src/utils/Bytes32AddressLib.sol",
"node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol",
"node_modules/clones-with-immutable-args/src/ClonesWithImmutableArgs.sol",
"node_modules/ds-test/src/test.sol",
"node_modules/forge-std/src/Base.sol",
"node_modules/forge-std/src/StdAssertions.sol",
"node_modules/forge-std/src/StdChains.sol",
"node_modules/forge-std/src/StdCheats.sol",
"node_modules/forge-std/src/StdError.sol",
"node_modules/forge-std/src/StdInvariant.sol",
"node_modules/forge-std/src/StdJson.sol",
"node_modules/forge-std/src/StdMath.sol",
"node_modules/forge-std/src/StdStorage.sol",
"node_modules/forge-std/src/StdStyle.sol",
"node_modules/forge-std/src/StdUtils.sol",
"node_modules/forge-std/src/Test.sol",
"node_modules/forge-std/src/Vm.sol",
"node_modules/forge-std/src/console.sol",
"node_modules/forge-std/src/console2.sol",
"node_modules/forge-std/src/interfaces/IMulticall3.sol",
}
var SourceToId = map[string]uint{
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": 0,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol": 1,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol": 2,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol": 3,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol": 4,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol": 5,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": 6,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol": 7,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol": 8,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol": 9,
"../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": 10,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol": 11,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol": 12,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": 13,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": 14,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": 15,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol": 16,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": 17,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": 18,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": 19,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": 20,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": 21,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": 22,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Address.sol": 23,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Context.sol": 24,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Counters.sol": 25,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Strings.sol": 26,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol": 27,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol": 28,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": 29,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": 30,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/math/Math.sol": 31,
"../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": 32,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/Base.sol": 33,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdAssertions.sol": 34,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdChains.sol": 35,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdCheats.sol": 36,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdError.sol": 37,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdInvariant.sol": 38,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdJson.sol": 39,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdMath.sol": 40,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdStorage.sol": 41,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdStyle.sol": 42,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdUtils.sol": 43,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/Vm.sol": 44,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/console.sol": 45,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/console2.sol": 46,
"../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/interfaces/IMulticall3.sol": 47,
"contracts/L1/L1CrossDomainMessenger.sol": 48,
"contracts/L1/L1ERC721Bridge.sol": 49,
"contracts/L1/L1StandardBridge.sol": 50,
"contracts/L1/L2OutputOracle.sol": 51,
"contracts/L1/OptimismPortal.sol": 52,
"contracts/L1/ResourceMetering.sol": 53,
"contracts/L1/SystemConfig.sol": 54,
"contracts/L2/BaseFeeVault.sol": 55,
"contracts/L2/CrossDomainOwnable.sol": 56,
"contracts/L2/CrossDomainOwnable2.sol": 57,
"contracts/L2/CrossDomainOwnable3.sol": 58,
"contracts/L2/GasPriceOracle.sol": 59,
"contracts/L2/L1Block.sol": 60,
"contracts/L2/L1FeeVault.sol": 61,
"contracts/L2/L2CrossDomainMessenger.sol": 62,
"contracts/L2/L2ERC721Bridge.sol": 63,
"contracts/L2/L2StandardBridge.sol": 64,
"contracts/L2/L2ToL1MessagePasser.sol": 65,
"contracts/L2/SequencerFeeVault.sol": 66,
"contracts/cannon/MIPS.sol": 67,
"contracts/cannon/PreimageKeyLib.sol": 68,
"contracts/cannon/PreimageOracle.sol": 69,
"contracts/cannon/interfaces/IPreimageOracle.sol": 70,
"contracts/dispute/DisputeGameFactory.sol": 71,
"contracts/dispute/FaultDisputeGame.sol": 72,
"contracts/dispute/interfaces/IBigStepper.sol": 73,
"contracts/dispute/interfaces/IBondManager.sol": 74,
"contracts/dispute/interfaces/IDisputeGame.sol": 75,
"contracts/dispute/interfaces/IDisputeGameFactory.sol": 76,
"contracts/dispute/interfaces/IFaultDisputeGame.sol": 77,
"contracts/dispute/interfaces/IInitializable.sol": 78,
"contracts/dispute/lib/LibClock.sol": 79,
"contracts/dispute/lib/LibHashing.sol": 80,
"contracts/dispute/lib/LibPosition.sol": 81,
"contracts/governance/GovernanceToken.sol": 82,
"contracts/governance/MintManager.sol": 83,
"contracts/legacy/AddressManager.sol": 84,
"contracts/legacy/DeployerWhitelist.sol": 85,
"contracts/legacy/L1BlockNumber.sol": 86,
"contracts/legacy/L1ChugSplashProxy.sol": 87,
"contracts/legacy/LegacyERC20ETH.sol": 88,
"contracts/legacy/LegacyMessagePasser.sol": 89,
"contracts/legacy/LegacyMintableERC20.sol": 90,
"contracts/legacy/ResolvedDelegateProxy.sol": 91,
"contracts/libraries/Arithmetic.sol": 92,
"contracts/libraries/Burn.sol": 93,
"contracts/libraries/Bytes.sol": 94,
"contracts/libraries/Clone.sol": 95,
"contracts/libraries/Constants.sol": 96,
"contracts/libraries/DisputeErrors.sol": 97,
"contracts/libraries/DisputeTypes.sol": 98,
"contracts/libraries/Encoding.sol": 99,
"contracts/libraries/Hashing.sol": 100,
"contracts/libraries/LegacyCrossDomainUtils.sol": 101,
"contracts/libraries/Predeploys.sol": 102,
"contracts/libraries/SafeCall.sol": 103,
"contracts/libraries/Types.sol": 104,
"contracts/libraries/rlp/RLPReader.sol": 105,
"contracts/libraries/rlp/RLPWriter.sol": 106,
"contracts/libraries/trie/MerkleTrie.sol": 107,
"contracts/libraries/trie/SecureMerkleTrie.sol": 108,
"contracts/periphery/AssetReceiver.sol": 109,
"contracts/periphery/Transactor.sol": 110,
"contracts/periphery/TransferOnion.sol": 111,
"contracts/periphery/drippie/Drippie.sol": 112,
"contracts/periphery/drippie/IDripCheck.sol": 113,
"contracts/periphery/drippie/dripchecks/CheckBalanceHigh.sol": 114,
"contracts/periphery/drippie/dripchecks/CheckBalanceLow.sol": 115,
"contracts/periphery/drippie/dripchecks/CheckGelatoLow.sol": 116,
"contracts/periphery/drippie/dripchecks/CheckTrue.sol": 117,
"contracts/periphery/faucet/Faucet.sol": 118,
"contracts/periphery/faucet/authmodules/AdminFaucetAuthModule.sol": 119,
"contracts/periphery/faucet/authmodules/IFaucetAuthModule.sol": 120,
"contracts/periphery/op-nft/AttestationStation.sol": 121,
"contracts/periphery/op-nft/Optimist.sol": 122,
"contracts/periphery/op-nft/OptimistAllowlist.sol": 123,
"contracts/periphery/op-nft/OptimistInviter.sol": 124,
"contracts/periphery/op-nft/libraries/OptimistConstants.sol": 125,
"contracts/test/AddressAliasHelper.t.sol": 126,
"contracts/test/AdminFaucetAuthModule.t.sol": 127,
"contracts/test/AssetReceiver.t.sol": 128,
"contracts/test/AttestationStation.t.sol": 129,
"contracts/test/BenchmarkTest.t.sol": 130,
"contracts/test/Bytes.t.sol": 131,
"contracts/test/CheckBalanceHigh.t.sol": 132,
"contracts/test/CheckBalanceLow.t.sol": 133,
"contracts/test/CheckGelatoLow.t.sol": 134,
"contracts/test/CheckTrue.t.sol": 135,
"contracts/test/Clones.t.sol": 136,
"contracts/test/CommonTest.t.sol": 137,
"contracts/test/CrossDomainMessenger.t.sol": 138,
"contracts/test/CrossDomainOwnable.t.sol": 139,
"contracts/test/CrossDomainOwnable2.t.sol": 140,
"contracts/test/CrossDomainOwnable3.t.sol": 141,
"contracts/test/DeployerWhitelist.t.sol": 142,
"contracts/test/DisputeGameFactory.t.sol": 143,
"contracts/test/Drippie.t.sol": 144,
"contracts/test/Encoding.t.sol": 145,
"contracts/test/Faucet.t.sol": 146,
"contracts/test/FaultDisputeGame.t.sol": 147,
"contracts/test/FeeVault.t.sol": 148,
"contracts/test/GasPriceOracle.t.sol": 149,
"contracts/test/GovernanceToken.t.sol": 150,
"contracts/test/Hashing.t.sol": 151,
"contracts/test/Helpers.sol": 152,
"contracts/test/L1Block.t.sol": 153,
"contracts/test/L1BlockNumber.t.sol": 154,
"contracts/test/L1CrossDomainMessenger.t.sol": 155,
"contracts/test/L1ERC721Bridge.t.sol": 156,
"contracts/test/L1StandardBridge.t.sol": 157,
"contracts/test/L2CrossDomainMessenger.t.sol": 158,
"contracts/test/L2ERC721Bridge.t.sol": 159,
"contracts/test/L2OutputOracle.t.sol": 160,
"contracts/test/L2StandardBridge.t.sol": 161,
"contracts/test/L2ToL1MessagePasser.t.sol": 162,
"contracts/test/LegacyERC20ETH.t.sol": 163,
"contracts/test/LegacyMessagePasser.t.sol": 164,
"contracts/test/LibClock.t.sol": 165,
"contracts/test/LibPosition.t.sol": 166,
"contracts/test/MerkleTrie.t.sol": 167,
"contracts/test/MintManager.t.sol": 168,
"contracts/test/OptimismMintableERC20.t.sol": 169,
"contracts/test/OptimismMintableERC20Factory.t.sol": 170,
"contracts/test/OptimismMintableERC721.t.sol": 171,
"contracts/test/OptimismMintableERC721Factory.t.sol": 172,
"contracts/test/OptimismPortal.t.sol": 173,
"contracts/test/Optimist.t.sol": 174,
"contracts/test/OptimistAllowlist.t.sol": 175,
"contracts/test/OptimistInviter.t.sol": 176,
"contracts/test/PreimageOracle.t.sol": 177,
"contracts/test/Proxy.t.sol": 178,
"contracts/test/ProxyAdmin.t.sol": 179,
"contracts/test/RLP.t.sol": 180,
"contracts/test/RLPReader.t.sol": 181,
"contracts/test/RLPWriter.t.sol": 182,
"contracts/test/ResolvedDelegateProxy.t.sol": 183,
"contracts/test/ResourceMetering.t.sol": 184,
"contracts/test/SafeCall.t.sol": 185,
"contracts/test/Semver.t.sol": 186,
"contracts/test/SequencerFeeVault.t.sol": 187,
"contracts/test/StandardBridge.t.sol": 188,
"contracts/test/SystemConfig.t.sol": 189,
"contracts/test/Transactor.t.sol": 190,
"contracts/test/TransferOnion.t.sol": 191,
"contracts/test/invariants/AddressAliasHelper.t.sol": 192,
"contracts/test/invariants/Burn.Eth.t.sol": 193,
"contracts/test/invariants/Burn.Gas.t.sol": 194,
"contracts/test/invariants/CrossDomainMessenger.t.sol": 195,
"contracts/test/invariants/Encoding.t.sol": 196,
"contracts/test/invariants/Hashing.t.sol": 197,
"contracts/test/invariants/L2OutputOracle.t.sol": 198,
"contracts/test/invariants/OptimismPortal.t.sol": 199,
"contracts/test/invariants/ResourceMetering.t.sol": 200,
"contracts/test/invariants/SafeCall.t.sol": 201,
"contracts/test/invariants/SystemConfig.t.sol": 202,
"contracts/universal/CrossDomainMessenger.sol": 203,
"contracts/universal/ERC721Bridge.sol": 204,
"contracts/universal/FeeVault.sol": 205,
"contracts/universal/IOptimismMintableERC20.sol": 206,
"contracts/universal/IOptimismMintableERC721.sol": 207,
"contracts/universal/OptimismMintableERC20.sol": 208,
"contracts/universal/OptimismMintableERC20Factory.sol": 209,
"contracts/universal/OptimismMintableERC721.sol": 210,
"contracts/universal/OptimismMintableERC721Factory.sol": 211,
"contracts/universal/Proxy.sol": 212,
"contracts/universal/ProxyAdmin.sol": 213,
"contracts/universal/Semver.sol": 214,
"contracts/universal/StandardBridge.sol": 215,
"contracts/vendor/AddressAliasHelper.sol": 216,
"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol": 217,
"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": 218,
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol": 219,
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol": 220,
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol": 221,
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol": 222,
"node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol": 223,
"node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol": 224,
"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": 225,
"node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol": 226,
"node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol": 227,
"node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol": 228,
"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol": 229,
"node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol": 230,
"node_modules/@openzeppelin/contracts/access/Ownable.sol": 231,
"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol": 232,
"node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol": 233,
"node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol": 234,
"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol": 235,
"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": 236,
"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": 237,
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": 238,
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol": 239,
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": 240,
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol": 241,
"node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": 242,
"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": 243,
"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": 244,
"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": 245,
"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": 246,
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol": 247,
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": 248,
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": 249,
"node_modules/@openzeppelin/contracts/utils/Address.sol": 250,
"node_modules/@openzeppelin/contracts/utils/Context.sol": 251,
"node_modules/@openzeppelin/contracts/utils/Counters.sol": 252,
"node_modules/@openzeppelin/contracts/utils/Strings.sol": 253,
"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol": 254,
"node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol": 255,
"node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol": 256,
"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": 257,
"node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol": 258,
"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": 259,
"node_modules/@openzeppelin/contracts/utils/math/Math.sol": 260,
"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": 261,
"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": 262,
"node_modules/@rari-capital/solmate/src/auth/Owned.sol": 263,
"node_modules/@rari-capital/solmate/src/tokens/ERC20.sol": 264,
"node_modules/@rari-capital/solmate/src/tokens/ERC721.sol": 265,
"node_modules/@rari-capital/solmate/src/utils/Bytes32AddressLib.sol": 266,
"node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol": 267,
"node_modules/clones-with-immutable-args/src/ClonesWithImmutableArgs.sol": 268,
"node_modules/ds-test/src/test.sol": 269,
"node_modules/forge-std/src/Base.sol": 270,
"node_modules/forge-std/src/StdAssertions.sol": 271,
"node_modules/forge-std/src/StdChains.sol": 272,
"node_modules/forge-std/src/StdCheats.sol": 273,
"node_modules/forge-std/src/StdError.sol": 274,
"node_modules/forge-std/src/StdInvariant.sol": 275,
"node_modules/forge-std/src/StdJson.sol": 276,
"node_modules/forge-std/src/StdMath.sol": 277,
"node_modules/forge-std/src/StdStorage.sol": 278,
"node_modules/forge-std/src/StdStyle.sol": 279,
"node_modules/forge-std/src/StdUtils.sol": 280,
"node_modules/forge-std/src/Test.sol": 281,
"node_modules/forge-std/src/Vm.sol": 282,
"node_modules/forge-std/src/console.sol": 283,
"node_modules/forge-std/src/console2.sol": 284,
"node_modules/forge-std/src/interfaces/IMulticall3.sol": 285,
}
var IdToSource = map[uint]string{
0: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
1: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol",
2: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol",
3: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol",
4: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol",
5: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
6: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
7: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol",
8: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol",
9: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol",
10: "../../node_modules/.pnpm/@openzeppelin+contracts-upgradeable@4.7.3/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol",
11: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol",
12: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol",
13: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol",
14: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
15: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
16: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol",
17: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol",
18: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol",
19: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol",
20: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
21: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol",
22: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
23: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Address.sol",
24: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Context.sol",
25: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Counters.sol",
26: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/Strings.sol",
27: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol",
28: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol",
29: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol",
30: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol",
31: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/math/Math.sol",
32: "../../node_modules/.pnpm/@openzeppelin+contracts@4.7.3/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol",
33: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/Base.sol",
34: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdAssertions.sol",
35: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdChains.sol",
36: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdCheats.sol",
37: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdError.sol",
38: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdInvariant.sol",
39: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdJson.sol",
40: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdMath.sol",
41: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdStorage.sol",
42: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdStyle.sol",
43: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/StdUtils.sol",
44: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/Vm.sol",
45: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/console.sol",
46: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/console2.sol",
47: "../../node_modules/.pnpm/github.com+foundry-rs+forge-std@e8a047e3f40f13fa37af6fe14e6e06283d9a060e/node_modules/forge-std/src/interfaces/IMulticall3.sol",
48: "contracts/L1/L1CrossDomainMessenger.sol",
49: "contracts/L1/L1ERC721Bridge.sol",
50: "contracts/L1/L1StandardBridge.sol",
51: "contracts/L1/L2OutputOracle.sol",
52: "contracts/L1/OptimismPortal.sol",
53: "contracts/L1/ResourceMetering.sol",
54: "contracts/L1/SystemConfig.sol",
55: "contracts/L2/BaseFeeVault.sol",
56: "contracts/L2/CrossDomainOwnable.sol",
57: "contracts/L2/CrossDomainOwnable2.sol",
58: "contracts/L2/CrossDomainOwnable3.sol",
59: "contracts/L2/GasPriceOracle.sol",
60: "contracts/L2/L1Block.sol",
61: "contracts/L2/L1FeeVault.sol",
62: "contracts/L2/L2CrossDomainMessenger.sol",
63: "contracts/L2/L2ERC721Bridge.sol",
64: "contracts/L2/L2StandardBridge.sol",
65: "contracts/L2/L2ToL1MessagePasser.sol",
66: "contracts/L2/SequencerFeeVault.sol",
67: "contracts/cannon/MIPS.sol",
68: "contracts/cannon/PreimageKeyLib.sol",
69: "contracts/cannon/PreimageOracle.sol",
70: "contracts/cannon/interfaces/IPreimageOracle.sol",
71: "contracts/dispute/DisputeGameFactory.sol",
72: "contracts/dispute/FaultDisputeGame.sol",
73: "contracts/dispute/interfaces/IBigStepper.sol",
74: "contracts/dispute/interfaces/IBondManager.sol",
75: "contracts/dispute/interfaces/IDisputeGame.sol",
76: "contracts/dispute/interfaces/IDisputeGameFactory.sol",
77: "contracts/dispute/interfaces/IFaultDisputeGame.sol",
78: "contracts/dispute/interfaces/IInitializable.sol",
79: "contracts/dispute/lib/LibClock.sol",
80: "contracts/dispute/lib/LibHashing.sol",
81: "contracts/dispute/lib/LibPosition.sol",
82: "contracts/governance/GovernanceToken.sol",
83: "contracts/governance/MintManager.sol",
84: "contracts/legacy/AddressManager.sol",
85: "contracts/legacy/DeployerWhitelist.sol",
86: "contracts/legacy/L1BlockNumber.sol",
87: "contracts/legacy/L1ChugSplashProxy.sol",
88: "contracts/legacy/LegacyERC20ETH.sol",
89: "contracts/legacy/LegacyMessagePasser.sol",
90: "contracts/legacy/LegacyMintableERC20.sol",
91: "contracts/legacy/ResolvedDelegateProxy.sol",
92: "contracts/libraries/Arithmetic.sol",
93: "contracts/libraries/Burn.sol",
94: "contracts/libraries/Bytes.sol",
95: "contracts/libraries/Clone.sol",
96: "contracts/libraries/Constants.sol",
97: "contracts/libraries/DisputeErrors.sol",
98: "contracts/libraries/DisputeTypes.sol",
99: "contracts/libraries/Encoding.sol",
100: "contracts/libraries/Hashing.sol",
101: "contracts/libraries/LegacyCrossDomainUtils.sol",
102: "contracts/libraries/Predeploys.sol",
103: "contracts/libraries/SafeCall.sol",
104: "contracts/libraries/Types.sol",
105: "contracts/libraries/rlp/RLPReader.sol",
106: "contracts/libraries/rlp/RLPWriter.sol",
107: "contracts/libraries/trie/MerkleTrie.sol",
108: "contracts/libraries/trie/SecureMerkleTrie.sol",
109: "contracts/periphery/AssetReceiver.sol",
110: "contracts/periphery/Transactor.sol",
111: "contracts/periphery/TransferOnion.sol",
112: "contracts/periphery/drippie/Drippie.sol",
113: "contracts/periphery/drippie/IDripCheck.sol",
114: "contracts/periphery/drippie/dripchecks/CheckBalanceHigh.sol",
115: "contracts/periphery/drippie/dripchecks/CheckBalanceLow.sol",
116: "contracts/periphery/drippie/dripchecks/CheckGelatoLow.sol",
117: "contracts/periphery/drippie/dripchecks/CheckTrue.sol",
118: "contracts/periphery/faucet/Faucet.sol",
119: "contracts/periphery/faucet/authmodules/AdminFaucetAuthModule.sol",
120: "contracts/periphery/faucet/authmodules/IFaucetAuthModule.sol",
121: "contracts/periphery/op-nft/AttestationStation.sol",
122: "contracts/periphery/op-nft/Optimist.sol",
123: "contracts/periphery/op-nft/OptimistAllowlist.sol",
124: "contracts/periphery/op-nft/OptimistInviter.sol",
125: "contracts/periphery/op-nft/libraries/OptimistConstants.sol",
126: "contracts/test/AddressAliasHelper.t.sol",
127: "contracts/test/AdminFaucetAuthModule.t.sol",
128: "contracts/test/AssetReceiver.t.sol",
129: "contracts/test/AttestationStation.t.sol",
130: "contracts/test/BenchmarkTest.t.sol",
131: "contracts/test/Bytes.t.sol",
132: "contracts/test/CheckBalanceHigh.t.sol",
133: "contracts/test/CheckBalanceLow.t.sol",
134: "contracts/test/CheckGelatoLow.t.sol",
135: "contracts/test/CheckTrue.t.sol",
136: "contracts/test/Clones.t.sol",
137: "contracts/test/CommonTest.t.sol",
138: "contracts/test/CrossDomainMessenger.t.sol",
139: "contracts/test/CrossDomainOwnable.t.sol",
140: "contracts/test/CrossDomainOwnable2.t.sol",
141: "contracts/test/CrossDomainOwnable3.t.sol",
142: "contracts/test/DeployerWhitelist.t.sol",
143: "contracts/test/DisputeGameFactory.t.sol",
144: "contracts/test/Drippie.t.sol",
145: "contracts/test/Encoding.t.sol",
146: "contracts/test/Faucet.t.sol",
147: "contracts/test/FaultDisputeGame.t.sol",
148: "contracts/test/FeeVault.t.sol",
149: "contracts/test/GasPriceOracle.t.sol",
150: "contracts/test/GovernanceToken.t.sol",
151: "contracts/test/Hashing.t.sol",
152: "contracts/test/Helpers.sol",
153: "contracts/test/L1Block.t.sol",
154: "contracts/test/L1BlockNumber.t.sol",
155: "contracts/test/L1CrossDomainMessenger.t.sol",
156: "contracts/test/L1ERC721Bridge.t.sol",
157: "contracts/test/L1StandardBridge.t.sol",
158: "contracts/test/L2CrossDomainMessenger.t.sol",
159: "contracts/test/L2ERC721Bridge.t.sol",
160: "contracts/test/L2OutputOracle.t.sol",
161: "contracts/test/L2StandardBridge.t.sol",
162: "contracts/test/L2ToL1MessagePasser.t.sol",
163: "contracts/test/LegacyERC20ETH.t.sol",
164: "contracts/test/LegacyMessagePasser.t.sol",
165: "contracts/test/LibClock.t.sol",
166: "contracts/test/LibPosition.t.sol",
167: "contracts/test/MerkleTrie.t.sol",
168: "contracts/test/MintManager.t.sol",
169: "contracts/test/OptimismMintableERC20.t.sol",
170: "contracts/test/OptimismMintableERC20Factory.t.sol",
171: "contracts/test/OptimismMintableERC721.t.sol",
172: "contracts/test/OptimismMintableERC721Factory.t.sol",
173: "contracts/test/OptimismPortal.t.sol",
174: "contracts/test/Optimist.t.sol",
175: "contracts/test/OptimistAllowlist.t.sol",
176: "contracts/test/OptimistInviter.t.sol",
177: "contracts/test/PreimageOracle.t.sol",
178: "contracts/test/Proxy.t.sol",
179: "contracts/test/ProxyAdmin.t.sol",
180: "contracts/test/RLP.t.sol",
181: "contracts/test/RLPReader.t.sol",
182: "contracts/test/RLPWriter.t.sol",
183: "contracts/test/ResolvedDelegateProxy.t.sol",
184: "contracts/test/ResourceMetering.t.sol",
185: "contracts/test/SafeCall.t.sol",
186: "contracts/test/Semver.t.sol",
187: "contracts/test/SequencerFeeVault.t.sol",
188: "contracts/test/StandardBridge.t.sol",
189: "contracts/test/SystemConfig.t.sol",
190: "contracts/test/Transactor.t.sol",
191: "contracts/test/TransferOnion.t.sol",
192: "contracts/test/invariants/AddressAliasHelper.t.sol",
193: "contracts/test/invariants/Burn.Eth.t.sol",
194: "contracts/test/invariants/Burn.Gas.t.sol",
195: "contracts/test/invariants/CrossDomainMessenger.t.sol",
196: "contracts/test/invariants/Encoding.t.sol",
197: "contracts/test/invariants/Hashing.t.sol",
198: "contracts/test/invariants/L2OutputOracle.t.sol",
199: "contracts/test/invariants/OptimismPortal.t.sol",
200: "contracts/test/invariants/ResourceMetering.t.sol",
201: "contracts/test/invariants/SafeCall.t.sol",
202: "contracts/test/invariants/SystemConfig.t.sol",
203: "contracts/universal/CrossDomainMessenger.sol",
204: "contracts/universal/ERC721Bridge.sol",
205: "contracts/universal/FeeVault.sol",
206: "contracts/universal/IOptimismMintableERC20.sol",
207: "contracts/universal/IOptimismMintableERC721.sol",
208: "contracts/universal/OptimismMintableERC20.sol",
209: "contracts/universal/OptimismMintableERC20Factory.sol",
210: "contracts/universal/OptimismMintableERC721.sol",
211: "contracts/universal/OptimismMintableERC721Factory.sol",
212: "contracts/universal/Proxy.sol",
213: "contracts/universal/ProxyAdmin.sol",
214: "contracts/universal/Semver.sol",
215: "contracts/universal/StandardBridge.sol",
216: "contracts/vendor/AddressAliasHelper.sol",
217: "node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol",
218: "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
219: "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol",
220: "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol",
221: "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol",
222: "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol",
223: "node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol",
224: "node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
225: "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
226: "node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol",
227: "node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol",
228: "node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol",
229: "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol",
230: "node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol",
231: "node_modules/@openzeppelin/contracts/access/Ownable.sol",
232: "node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol",
233: "node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol",
234: "node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol",
235: "node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol",
236: "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol",
237: "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
238: "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol",
239: "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol",
240: "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
241: "node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol",
242: "node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol",
243: "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
244: "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol",
245: "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol",
246: "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
247: "node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol",
248: "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol",
249: "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
250: "node_modules/@openzeppelin/contracts/utils/Address.sol",
251: "node_modules/@openzeppelin/contracts/utils/Context.sol",
252: "node_modules/@openzeppelin/contracts/utils/Counters.sol",
253: "node_modules/@openzeppelin/contracts/utils/Strings.sol",
254: "node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol",
255: "node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol",
256: "node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol",
257: "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol",
258: "node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol",
259: "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol",
260: "node_modules/@openzeppelin/contracts/utils/math/Math.sol",
261: "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol",
262: "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol",
263: "node_modules/@rari-capital/solmate/src/auth/Owned.sol",
264: "node_modules/@rari-capital/solmate/src/tokens/ERC20.sol",
265: "node_modules/@rari-capital/solmate/src/tokens/ERC721.sol",
266: "node_modules/@rari-capital/solmate/src/utils/Bytes32AddressLib.sol",
267: "node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol",
268: "node_modules/clones-with-immutable-args/src/ClonesWithImmutableArgs.sol",
269: "node_modules/ds-test/src/test.sol",
270: "node_modules/forge-std/src/Base.sol",
271: "node_modules/forge-std/src/StdAssertions.sol",
272: "node_modules/forge-std/src/StdChains.sol",
273: "node_modules/forge-std/src/StdCheats.sol",
274: "node_modules/forge-std/src/StdError.sol",
275: "node_modules/forge-std/src/StdInvariant.sol",
276: "node_modules/forge-std/src/StdJson.sol",
277: "node_modules/forge-std/src/StdMath.sol",
278: "node_modules/forge-std/src/StdStorage.sol",
279: "node_modules/forge-std/src/StdStyle.sol",
280: "node_modules/forge-std/src/StdUtils.sol",
281: "node_modules/forge-std/src/Test.sol",
282: "node_modules/forge-std/src/Vm.sol",
283: "node_modules/forge-std/src/console.sol",
284: "node_modules/forge-std/src/console2.sol",
285: "node_modules/forge-std/src/interfaces/IMulticall3.sol",
}
...@@ -12,13 +12,16 @@ import ( ...@@ -12,13 +12,16 @@ import (
"regexp" "regexp"
"strings" "strings"
"text/template" "text/template"
"time"
"github.com/ethereum-optimism/optimism/op-bindings/ast" "github.com/ethereum-optimism/optimism/op-bindings/ast"
"github.com/ethereum-optimism/optimism/op-bindings/foundry" "github.com/ethereum-optimism/optimism/op-bindings/foundry"
"github.com/ethereum-optimism/optimism/op-bindings/hardhat"
) )
type flags struct { type flags struct {
ForgeArtifacts string ForgeArtifacts string
ForgeBuildInfo string
Contracts string Contracts string
SourceMaps string SourceMaps string
OutDir string OutDir string
...@@ -27,6 +30,7 @@ type flags struct { ...@@ -27,6 +30,7 @@ type flags struct {
} }
type data struct { type data struct {
SourceId uint
Name string Name string
StorageLayout string StorageLayout string
DeployedBin string DeployedBin string
...@@ -34,9 +38,17 @@ type data struct { ...@@ -34,9 +38,17 @@ type data struct {
DeployedSourceMap string DeployedSourceMap string
} }
type sourceIdData struct {
Package string
Sources []string
SourceToId map[string]uint
IdToSource map[uint]string
}
func main() { func main() {
var f flags var f flags
flag.StringVar(&f.ForgeArtifacts, "forge-artifacts", "", "Forge artifacts directory, to load sourcemaps from, if available") 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.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.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") flag.StringVar(&f.SourceMaps, "source-maps", "", "Comma-separated list of contracts to generate source-maps for")
...@@ -197,6 +209,80 @@ func main() { ...@@ -197,6 +209,80 @@ func main() {
outfile.Close() outfile.Close()
log.Printf("wrote file %s\n", outfile.Name()) log.Printf("wrote file %s\n", outfile.Name())
} }
mostRecentBuildInfo, err := getMostRecentlyModifiedFile(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,
0o600,
)
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())
}
// getMostRecentlyModifiedFile returns the path of the most recently modified file in the given directory.
func getMostRecentlyModifiedFile(dirPath string) (string, error) {
var mostRecentFile string
var mostRecentModTime time.Time
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() {
modTime := info.ModTime()
if modTime.After(mostRecentModTime) {
mostRecentModTime = modTime
mostRecentFile = path
}
}
return nil
})
return mostRecentFile, err
} }
var tmpl = `// Code generated - DO NOT EDIT. var tmpl = `// Code generated - DO NOT EDIT.
...@@ -227,3 +313,21 @@ func init() { ...@@ -227,3 +313,21 @@ func init() {
deployedBytecodes["{{.Name}}"] = {{.Name}}DeployedBin 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}}}
`
...@@ -84,10 +84,6 @@ func (s *SourceMap) Info(pc uint64) (source string, line uint32, col uint32) { ...@@ -84,10 +84,6 @@ func (s *SourceMap) Info(pc uint64) (source string, line uint32, col uint32) {
if instr.F < 0 { if instr.F < 0 {
return "generated", 0, 0 return "generated", 0, 0
} }
if instr.F >= int32(len(s.Sources)) {
source = "unknown"
return
}
source = s.Sources[instr.F] source = s.Sources[instr.F]
if instr.S < 0 { if instr.S < 0 {
return return
......
package srcmap package srcmap
import ( import (
"path"
"strings" "strings"
"testing" "testing"
...@@ -11,17 +12,27 @@ import ( ...@@ -11,17 +12,27 @@ import (
) )
func TestSourcemap(t *testing.T) { func TestSourcemap(t *testing.T) {
sourcePath := "../../packages/contracts-bedrock/src/cannon/MIPS.sol" contractsDir := "../../packages/contracts-bedrock"
sources := []string{path.Join(contractsDir, "contracts/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)
}
}
deployedByteCode := hexutil.MustDecode(bindings.MIPSDeployedBin) deployedByteCode := hexutil.MustDecode(bindings.MIPSDeployedBin)
srcMap, err := ParseSourceMap( srcMap, err := ParseSourceMap(
[]string{sourcePath}, sources,
deployedByteCode, deployedByteCode,
bindings.MIPSDeployedSourceMap) bindings.MIPSDeployedSourceMap)
require.NoError(t, err) require.NoError(t, err)
for i := 0; i < len(deployedByteCode); i++ { for i := 0; i < len(deployedByteCode); i++ {
info := srcMap.FormattedInfo(uint64(i)) info := srcMap.FormattedInfo(uint64(i))
if !strings.HasPrefix(info, "generated:") && !strings.HasPrefix(info, sourcePath) { if strings.HasPrefix(info, "unexpected") {
t.Fatalf("unexpected info: %q", info) t.Fatalf("unexpected info: %q", info)
} }
} }
......
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