TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

39148238-fb66-495c-9ef3-287057a56cf0

failed
Chain ID
1
Address
Block Number
Created
Wed, Dec 24, 2025 1:12 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
1
Validated
1
Source
Verified
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable
crit 1 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30164 report.consolidate complete 1 / 1 3 months ago
93583 artifact.fetch failed 1 / 3 1 week ago
93584 tool.cast_disasm complete 1 / 3 1 week ago
93585 analysis.bundle complete 1 / 3 1 week ago
93586 capability.graph complete 1 / 3 1 week ago
93587 detector.run complete 1 / 3 1 week ago
93588 validation.fork complete 1 / 3 1 week ago
113785 tool.slither complete 1 / 2 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
1
Solc
0.8.25 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-76o3ocxw)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-76o3ocxw)

Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) has bitwise-xor operator ^ instead of the exponentiation operator **: 
	 - inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#184)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation

Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#184)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#188)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#189)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#190)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#191)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#192)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#193)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:
	- prod0 = prod0 / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#172)
	- result = prod0 * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#199)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply

Reentrancy in L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137):
	External calls:
	- IUSDC(USDC).burn(_burnAmount) (src/contracts/L1OpUSDCBridgeAdapter.sol#130)
	State variables written after the call(s):
	- burnAmount = 0 (src/contracts/L1OpUSDCBridgeAdapter.sol#134)
	L1OpUSDCBridgeAdapter.burnAmount (src/contracts/L1OpUSDCBridgeAdapter.sol#22) can be used in cross function reentrancies:
	- L1OpUSDCBridgeAdapter.burnAmount (src/contracts/L1OpUSDCBridgeAdapter.sol#22)
	- L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137)
	- L1OpUSDCBridgeAdapter.setBurnAmount(uint256) (src/contracts/L1OpUSDCBridgeAdapter.sol#100-107)
	- burnCaller = address(0) (src/contracts/L1OpUSDCBridgeAdapter.sol#135)
	L1OpUSDCBridgeAdapter.burnCaller (src/contracts/L1OpUSDCBridgeAdapter.sol#25) can be used in cross function reentrancies:
	- L1OpUSDCBridgeAdapter.burnCaller (src/contracts/L1OpUSDCBridgeAdapter.sol#25)
	- L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137)
	- L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#68-93)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1

ERC1967Utils.upgradeToAndCall(address,bytes) (node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol#83-92) ignores return value by Address.functionDelegateCall(newImplementation,data) (node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol#88)
ERC1967Utils.upgradeBeaconToAndCall(address,bytes) (node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol#173-182) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol#178)
SignatureChecker.isValidSignatureNow(address,bytes32,bytes) (node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol#22-27) ignores return value by (recovered,error,None) = ECDSA.tryRecover(hash,signature) (node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol#23)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return

FallbackProxyAdmin.constructor(address)._usdc (src/contracts/utils/FallbackProxyAdmin.sol#23) lacks a zero-check on :
		- USDC = _usdc (src/contracts/utils/FallbackProxyAdmin.sol#24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation

Reentrancy in L1OpUSDCBridgeAdapter.receiveMessage(address,address,uint256) (src/contracts/L1OpUSDCBridgeAdapter.sol#260-269):
	External calls:
	- this.attemptTransfer(_user,_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#262-268)
	State variables written after the call(s):
	- lockedFundsDetails[_spender][_user] += _amount (src/contracts/L1OpUSDCBridgeAdapter.sol#266)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2

Reentrancy in L1OpUSDCBridgeAdapter._sendMessage(address,address,uint256,uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#324-334):
	External calls:
	- IUSDC(USDC).safeTransferFrom(_from,address(this),_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#326)
	- ICrossDomainMessenger(MESSENGER).sendMessage(LINKED_ADAPTER,abi.encodeCall(IOpUSDCBridgeAdapter.receiveMessage,(_to,_from,_amount)),_minGasLimit) (src/contracts/L1OpUSDCBridgeAdapter.sol#329-331)
	Event emitted after the call(s):
	- MessageSent(_from,_to,_amount,MESSENGER,_minGasLimit) (src/contracts/L1OpUSDCBridgeAdapter.sol#333)
Reentrancy in L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137):
	External calls:
	- IUSDC(USDC).burn(_burnAmount) (src/contracts/L1OpUSDCBridgeAdapter.sol#130)
	Event emitted after the call(s):
	- MigrationComplete(_burnAmount) (src/contracts/L1OpUSDCBridgeAdapter.sol#136)
Reentrancy in L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#68-93):
	External calls:
	- ICrossDomainMessenger(MESSENGER).sendMessage(LINKED_ADAPTER,abi.encodeCall(IL2OpUSDCBridgeAdapter.receiveMigrateToNative,(_roleCaller,_minGasLimitSetBurnAmount)),_minGasLimitReceiveOnL2) (src/contracts/L1OpUSDCBridgeAdapter.sol#86-90)
	Event emitted after the call(s):
	- MigratingToNative(MESSENGER,_burnCaller) (src/contracts/L1OpUSDCBridgeAdapter.sol#92)
Reentrancy in L1OpUSDCBridgeAdapter.receiveMessage(address,address,uint256) (src/contracts/L1OpUSDCBridgeAdapter.sol#260-269):
	External calls:
	- this.attemptTransfer(_user,_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#262-268)
	Event emitted after the call(s):
	- MessageFailed(_spender,_user,_amount,MESSENGER) (src/contracts/L1OpUSDCBridgeAdapter.sol#267)
	- MessageReceived(_spender,_user,_amount,MESSENGER) (src/contracts/L1OpUSDCBridgeAdapter.sol#263)
Reentrancy in L1OpUSDCBridgeAdapter.receiveWithdrawLockedFundsPostMigration(address,uint256) (src/contracts/L1OpUSDCBridgeAdapter.sol#277-284):
	External calls:
	- IUSDC(USDC).safeTransfer(_spender,_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#281)
	Event emitted after the call(s):
	- LockedFundsWithdrawn(_spender,_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#283)
Reentrancy in L1OpUSDCBridgeAdapter.resumeMessaging(uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#170-184):
	External calls:
	- ICrossDomainMessenger(MESSENGER).sendMessage(LINKED_ADAPTER,abi.encodeCall(IL2OpUSDCBridgeAdapter.receiveResumeMessaging,()),_minGasLimit) (src/contracts/L1OpUSDCBridgeAdapter.sol#179-181)
	Event emitted after the call(s):
	- MessagingResumed(MESSENGER) (src/contracts/L1OpUSDCBridgeAdapter.sol#183)
Reentrancy in L1OpUSDCBridgeAdapter.stopMessaging(uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#148-162):
	External calls:
	- ICrossDomainMessenger(MESSENGER).sendMessage(LINKED_ADAPTER,abi.encodeCall(IL2OpUSDCBridgeAdapter.receiveStopMessaging,()),_minGasLimit) (src/contracts/L1OpUSDCBridgeAdapter.sol#157-159)
	Event emitted after the call(s):
	- MessagingStopped(MESSENGER) (src/contracts/L1OpUSDCBridgeAdapter.sol#161)
Reentrancy in L1OpUSDCBridgeAdapter.withdrawLockedFunds(address,address) (src/contracts/L1OpUSDCBridgeAdapter.sol#291-299):
	External calls:
	- IUSDC(USDC).safeTransfer(_user,_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#296)
	Event emitted after the call(s):
	- LockedFundsWithdrawn(_user,_amount) (src/contracts/L1OpUSDCBridgeAdapter.sol#298)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3

L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#218-250) uses timestamp for comparisons
	Dangerous comparisons:
	- block.timestamp > _deadline (src/contracts/L1OpUSDCBridgeAdapter.sol#239)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp

Address._revert(bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#146-158) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Address.sol#151-154)
StorageSlot.getAddressSlot(bytes32) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#59-64) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#61-63)
StorageSlot.getBooleanSlot(bytes32) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#69-74) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#71-73)
StorageSlot.getBytes32Slot(bytes32) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#79-84) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#81-83)
StorageSlot.getUint256Slot(bytes32) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#89-94) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#91-93)
StorageSlot.getStringSlot(bytes32) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#99-104) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#101-103)
StorageSlot.getStringSlot(string) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#109-114) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#111-113)
StorageSlot.getBytesSlot(bytes32) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#119-124) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#121-123)
StorageSlot.getBytesSlot(bytes) (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#129-134) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#131-133)
Strings.toString(uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#24-44) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#30-32)
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#36-38)
ECDSA.tryRecover(bytes32,bytes) (node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#56-73) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#64-68)
MessageHashUtils.toEthSignedMessageHash(bytes32) (node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol#30-37) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol#32-36)
MessageHashUtils.toTypedDataHash(bytes32,bytes32) (node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol#76-85) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol#78-84)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#130-133)
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#154-161)
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#167-176)
OwnableUpgradeable._getOwnableStorage() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#30-34) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#31-33)
Initializable._getInitializableStorage() (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#223-227) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#224-226)
EIP712Upgradeable._getEIP712Storage() (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#50-54) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#51-53)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

2 different versions of Solidity are used:
	- Version constraint ^0.8.20 is used by:
		-^0.8.20 (node_modules/@openzeppelin/contracts/access/Ownable.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Address.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Context.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#5)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Strings.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#4)
	- Version constraint 0.8.25 is used by:
		-0.8.25 (src/contracts/L1OpUSDCBridgeAdapter.sol#2)
		-0.8.25 (src/contracts/universal/OpUSDCBridgeAdapter.sol#2)
		-0.8.25 (src/contracts/utils/FallbackProxyAdmin.sol#2)
		-0.8.25 (src/interfaces/IL1OpUSDCBridgeAdapter.sol#2)
		-0.8.25 (src/interfaces/IL2OpUSDCBridgeAdapter.sol#2)
		-0.8.25 (src/interfaces/IOpUSDCBridgeAdapter.sol#2)
		-0.8.25 (src/interfaces/external/ICrossDomainMessenger.sol#1)
		-0.8.25 (src/interfaces/external/IUSDC.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess.
It is used by:
	- ^0.8.20 (node_modules/@openzeppelin/contracts/access/Ownable.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Address.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Context.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#5)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Strings.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#4)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in SafeERC20._callOptionalReturnBool(IERC20,bytes) (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#110-117):
	- (success,returndata) = address(token).call(data) (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#115)
Low level call in Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#41-50):
	- (success,None) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts/utils/Address.sol#46)
Low level call in Address.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#83-89):
	- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#87)
Low level call in Address.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#95-98):
	- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#96)
Low level call in Address.functionDelegateCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#104-107):
	- (success,returndata) = target.delegatecall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#105)
Low level call in SignatureChecker.isValidERC1271SignatureNow(address,bytes32,bytes) (node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol#36-47):
	- (success,result) = signer.staticcall(abi.encodeCall(IERC1271.isValidSignature,(hash,signature))) (node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol#41-43)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Function IERC20Permit.DOMAIN_SEPARATOR() (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#89) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init(address) (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#51-53) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained(address) (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#55-60) is not in mixedCase
Constant OwnableUpgradeable.OwnableStorageLocation (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#28) is not in UPPER_CASE_WITH_UNDERSCORES
Function UUPSUpgradeable.__UUPSUpgradeable_init() (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#65-66) is not in mixedCase
Function UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#68-69) is not in mixedCase
Variable UUPSUpgradeable.__self (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#22) is not in mixedCase
Function ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Function EIP712Upgradeable.__EIP712_init(string,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#68-70) is not in mixedCase
Function EIP712Upgradeable.__EIP712_init_unchained(string,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#72-80) is not in mixedCase
Function EIP712Upgradeable._EIP712Name() (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#151-154) is not in mixedCase
Function EIP712Upgradeable._EIP712Version() (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#162-165) is not in mixedCase
Function EIP712Upgradeable._EIP712NameHash() (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#172-187) is not in mixedCase
Function EIP712Upgradeable._EIP712VersionHash() (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#194-209) is not in mixedCase
Constant EIP712Upgradeable.EIP712StorageLocation (node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol#48) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter L1OpUSDCBridgeAdapter.initialize(address)._owner (src/contracts/L1OpUSDCBridgeAdapter.sol#49) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32)._roleCaller (src/contracts/L1OpUSDCBridgeAdapter.sol#69) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32)._burnCaller (src/contracts/L1OpUSDCBridgeAdapter.sol#70) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32)._minGasLimitReceiveOnL2 (src/contracts/L1OpUSDCBridgeAdapter.sol#71) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32)._minGasLimitSetBurnAmount (src/contracts/L1OpUSDCBridgeAdapter.sol#72) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.setBurnAmount(uint256)._amount (src/contracts/L1OpUSDCBridgeAdapter.sol#100) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.stopMessaging(uint32)._minGasLimit (src/contracts/L1OpUSDCBridgeAdapter.sol#148) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.resumeMessaging(uint32)._minGasLimit (src/contracts/L1OpUSDCBridgeAdapter.sol#170) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,uint256,uint32)._to (src/contracts/L1OpUSDCBridgeAdapter.sol#196) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,uint256,uint32)._amount (src/contracts/L1OpUSDCBridgeAdapter.sol#196) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,uint256,uint32)._minGasLimit (src/contracts/L1OpUSDCBridgeAdapter.sol#196) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._signer (src/contracts/L1OpUSDCBridgeAdapter.sol#219) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._to (src/contracts/L1OpUSDCBridgeAdapter.sol#220) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._amount (src/contracts/L1OpUSDCBridgeAdapter.sol#221) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._signature (src/contracts/L1OpUSDCBridgeAdapter.sol#222) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._nonce (src/contracts/L1OpUSDCBridgeAdapter.sol#223) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._deadline (src/contracts/L1OpUSDCBridgeAdapter.sol#224) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.sendMessage(address,address,uint256,bytes,uint256,uint256,uint32)._minGasLimit (src/contracts/L1OpUSDCBridgeAdapter.sol#225) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.receiveMessage(address,address,uint256)._user (src/contracts/L1OpUSDCBridgeAdapter.sol#260) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.receiveMessage(address,address,uint256)._spender (src/contracts/L1OpUSDCBridgeAdapter.sol#260) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.receiveMessage(address,address,uint256)._amount (src/contracts/L1OpUSDCBridgeAdapter.sol#260) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.receiveWithdrawLockedFundsPostMigration(address,uint256)._spender (src/contracts/L1OpUSDCBridgeAdapter.sol#277) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.receiveWithdrawLockedFundsPostMigration(address,uint256)._amount (src/contracts/L1OpUSDCBridgeAdapter.sol#277) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.withdrawLockedFunds(address,address)._spender (src/contracts/L1OpUSDCBridgeAdapter.sol#291) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.withdrawLockedFunds(address,address)._user (src/contracts/L1OpUSDCBridgeAdapter.sol#291) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.attemptTransfer(address,uint256)._to (src/contracts/L1OpUSDCBridgeAdapter.sol#309) is not in mixedCase
Parameter L1OpUSDCBridgeAdapter.attemptTransfer(address,uint256)._amount (src/contracts/L1OpUSDCBridgeAdapter.sol#309) is not in mixedCase
Variable L1OpUSDCBridgeAdapter.__gap (src/contracts/L1OpUSDCBridgeAdapter.sol#28) is not in mixedCase
Parameter OpUSDCBridgeAdapter.cancelSignature(uint256)._nonce (src/contracts/universal/OpUSDCBridgeAdapter.sol#123) is not in mixedCase
Variable OpUSDCBridgeAdapter.USDC (src/contracts/universal/OpUSDCBridgeAdapter.sol#21) is not in mixedCase
Variable OpUSDCBridgeAdapter.LINKED_ADAPTER (src/contracts/universal/OpUSDCBridgeAdapter.sol#24) is not in mixedCase
Variable OpUSDCBridgeAdapter.MESSENGER (src/contracts/universal/OpUSDCBridgeAdapter.sol#27) is not in mixedCase
Variable OpUSDCBridgeAdapter.__gap (src/contracts/universal/OpUSDCBridgeAdapter.sol#39) is not in mixedCase
Parameter FallbackProxyAdmin.changeAdmin(address)._newAdmin (src/contracts/utils/FallbackProxyAdmin.sol#33) is not in mixedCase
Parameter FallbackProxyAdmin.upgradeTo(address)._newImplementation (src/contracts/utils/FallbackProxyAdmin.sol#41) is not in mixedCase
Parameter FallbackProxyAdmin.upgradeToAndCall(address,bytes)._newImplementation (src/contracts/utils/FallbackProxyAdmin.sol#50) is not in mixedCase
Parameter FallbackProxyAdmin.upgradeToAndCall(address,bytes)._data (src/contracts/utils/FallbackProxyAdmin.sol#50) is not in mixedCase
Variable FallbackProxyAdmin.USDC (src/contracts/utils/FallbackProxyAdmin.sol#17) is not in mixedCase
Function IL2OpUSDCBridgeAdapter.FALLBACK_PROXY_ADMIN() (src/interfaces/IL2OpUSDCBridgeAdapter.sol#90) is not in mixedCase
Function IOpUSDCBridgeAdapter.USDC() (src/interfaces/IOpUSDCBridgeAdapter.sol#257) is not in mixedCase
Function IOpUSDCBridgeAdapter.LINKED_ADAPTER() (src/interfaces/IOpUSDCBridgeAdapter.sol#264) is not in mixedCase
Function IOpUSDCBridgeAdapter.MESSENGER() (src/interfaces/IOpUSDCBridgeAdapter.sol#271) is not in mixedCase
Function ICrossDomainMessenger.PORTAL() (src/interfaces/external/ICrossDomainMessenger.sol#35) is not in mixedCase
Function IUSDC.initializeV2_1(address) (src/interfaces/external/IUSDC.sol#69) is not in mixedCase
Function IUSDC.initializeV2_2(address[],string) (src/interfaces/external/IUSDC.sol#78) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

L1OpUSDCBridgeAdapter.__gap (src/contracts/L1OpUSDCBridgeAdapter.sol#28) is never used in L1OpUSDCBridgeAdapter (src/contracts/L1OpUSDCBridgeAdapter.sol#18-335)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
. analyzed (31 contracts with 100 detectors), 111 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.25",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.8.25",
        "install_stderr": null,
        "install_stdout": "Version '0.8.25' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-76o3ocxw --include-path /tmp/slither-76o3ocxw/lib --include-path /tmp/slither-76o3ocxw/lib/openzeppelin-contracts --include-path /tmp/slither-76o3ocxw/node_modules --allow-paths /tmp/slither-76o3ocxw,/tmp/slither-76o3ocxw/lib,/tmp/slither-76o3ocxw/lib/openzeppelin-contracts,/tmp/slither-76o3ocxw/node_modules,/tmp/slither-76o3ocxw/src",
    "remappings": [
        "ds-test/=node_modules/ds-test/src/",
        "forge-std/=node_modules/forge-std/src/",
        "contracts/=src/contracts/",
        "interfaces/=src/interfaces/",
        "halmos-cheatcodes/=node_modules/halmos-cheatcodes/src/",
        "libraries/=src/libraries/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "solhint/=node_modules/solhint/",
        "src/=src/",
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
    ],
    "source_files": [
        "src/contracts/L1OpUSDCBridgeAdapter.sol",
        "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "src/contracts/universal/OpUSDCBridgeAdapter.sol",
        "src/interfaces/IL1OpUSDCBridgeAdapter.sol",
        "src/interfaces/IL2OpUSDCBridgeAdapter.sol",
        "src/interfaces/IOpUSDCBridgeAdapter.sol",
        "src/interfaces/external/ICrossDomainMessenger.sol",
        "src/interfaces/external/IUSDC.sol",
        "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
        "node_modules/@openzeppelin/contracts/utils/Address.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol",
        "node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol",
        "node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol",
        "src/contracts/utils/FallbackProxyAdmin.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
        "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol",
        "node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol",
        "node_modules/@openzeppelin/contracts/utils/Strings.sol",
        "node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol",
        "node_modules/@openzeppelin/contracts/access/Ownable.sol",
        "node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol",
        "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol",
        "node_modules/@openzeppelin/contracts/utils/math/Math.sol",
        "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol",
        "node_modules/@openzeppelin/contracts/utils/Context.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 111,
    "workspace_hash": "13ee5531a07bdb63a3789cbf96719f5d0d937ce3a2d18930197a6efce14eaa99",
    "duration_seconds": 1.609478235244751,
    "solc_version_requested": "0.8.25"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in first-party Solidity sources within the audit scope.
View stderr
[codex:1229412] OpenAI Codex v0.77.0 (research preview)
[codex:1229412] --------
[codex:1229412] workdir: /tmp/codex-multi-oyvegfgd
[codex:1229412] model: gpt-5.2-codex
[codex:1229412] provider: openai
[codex:1229412] approval: never
[codex:1229412] sandbox: read-only
[codex:1229412] reasoning effort: none
[codex:1229412] reasoning summaries: auto
[codex:1229412] session id: 019b4de8-6884-7282-9174-2a046caa5220
[codex:1229412] --------
[codex:1229412] user
[codex:1229412] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1229412] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1229412] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1229412] 
[codex:1229412] Scope rules:
[codex:1229412] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1229412] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1229412] 
[codex:1229412] Output MUST be valid JSON matching the provided schema.
[codex:1229412] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1229412] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1229412] 
[codex:1229412] Output constraints (IMPORTANT):
[codex:1229412] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1229412] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1229412] mcp startup: no servers
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Preparing to read instructions and audit bundle**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc ls in /tmp/codex-multi-oyvegfgd succeeded in 6ms:
[codex:1229412] AUDIT_BUNDLE.txt
[codex:1229412] codex-output-schema.json
[codex:1229412] contracts
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 6ms:
[codex:1229412] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1229412] 
[codex:1229412] ================================================================================
[codex:1229412] FILE: contracts/node_modules/@openzeppelin/contracts/access/Ownable.sol
[codex:1229412] ================================================================================
[codex:1229412] // SPDX-License-Identifier: MIT
[codex:1229412] // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
[codex:1229412] 
[codex:1229412] pragma solidity ^0.8.20;
[codex:1229412] 
[codex:1229412] import {Context} from "../utils/Context.sol";
[codex:1229412] 
[codex:1229412] /**
[codex:1229412]  * @dev Contract module which provides a basic access control mechanism, where
[codex:1229412]  * there is an account (an owner) that can be granted exclusive access to
[codex:1229412]  * specific functions.
[codex:1229412]  *
[codex:1229412]  * The initial owner is set to the address provided by the deployer. This can
[codex:1229412]  * later be changed with {transferOwnership}.
[codex:1229412]  *
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Preparing to analyze AUDIT_BUNDLE file**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412] 3974 AUDIT_BUNDLE.txt
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Planning to read large file in chunks**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1229412] 
[codex:1229412] ================================================================================
[codex:1229412] FILE: contracts/node_modules/@openzeppelin/contracts/access/Ownable.sol
[codex:1229412] ================================================================================
[codex:1229412] // SPDX-License-Identifier: MIT
[codex:1229412] // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
[codex:1229412] 
[codex:1229412] pragma solidity ^0.8.20;
[codex:1229412] 
[codex:1229412] import {Context} from "../utils/Context.sol";
[codex:1229412] 
[codex:1229412] /**
[codex:1229412]  * @dev Contract module which provides a basic access control mechanism, where
[codex:1229412]  * there is an account (an owner) that can be granted exclusive access to
[codex:1229412]  * specific functions.
[codex:1229412]  *
[codex:1229412]  * The initial owner is set to the address provided by the deployer. This can
[codex:1229412]  * later be changed with {transferOwnership}.
[codex:1229412]  *
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Requesting additional content**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412] 
[codex:1229412] ================================================================================
[codex:1229412] FILE: contracts/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1229412] ================================================================================
[codex:1229412] // SPDX-License-Identifier: MIT
[codex:1229412] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1229412] 
[codex:1229412] pragma solidity ^0.8.20;
[codex:1229412] 
[codex:1229412] /**
[codex:1229412]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1229412]  */
[codex:1229412] interface IERC20 {
[codex:1229412]     /**
[codex:1229412]      * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1229412]      * another (`to`).
[codex:1229412]      *
[codex:1229412]      * Note that `value` may be zero.
[codex:1229412]      */
[codex:1229412]     event Transfer(address indexed from, address indexed to, uint256 value);
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Continuing exploration**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412]     }
[codex:1229412] 
[codex:1229412]     /**
[codex:1229412]      * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1229412]      * but performing a delegate call.
[codex:1229412]      */
[codex:1229412]     function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1229412]         (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:1229412]         return verifyCallResultFromTarget(target, success, returndata);
[codex:1229412]     }
[codex:1229412] 
[codex:1229412]     /**
[codex:1229412]      * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target
[codex:1229412]      * was not a contract or bubbling up the revert reason (falling back to {FailedInnerCall}) in case of an
[codex:1229412]      * unsuccessful call.
[codex:1229412]      */
[codex:1229412]     function verifyCallResultFromTarget(
[codex:1229412]         address target,
[codex:1229412]         bool success,
[codex:1229412]         bytes memory returndata
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Planning full file review**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 6ms:
[codex:1229412]                 s := mload(add(signature, 0x40))
[codex:1229412]                 v := byte(0, mload(add(signature, 0x60)))
[codex:1229412]             }
[codex:1229412]             return tryRecover(hash, v, r, s);
[codex:1229412]         } else {
[codex:1229412]             return (address(0), RecoverError.InvalidSignatureLength, bytes32(signature.length));
[codex:1229412]         }
[codex:1229412]     }
[codex:1229412] 
[codex:1229412]     /**
[codex:1229412]      * @dev Returns the address that signed a hashed message (`hash`) with
[codex:1229412]      * `signature`. This address can then be used for verification purposes.
[codex:1229412]      *
[codex:1229412]      * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:
[codex:1229412]      * this function rejects them by requiring the `s` value to be in the lower
[codex:1229412]      * half order, and the `v` value to be either 27 or 28.
[codex:1229412]      *
[codex:1229412]      * IMPORTANT: `hash` _must_ be the result of a hash operation for the
[codex:1229412]      * verification to be secure: it is possible to craft signatures that
[codex:1229412]      * recover to arbitrary addresses for non-hashed data. A safe way to ensure
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Continuing analysis**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412]             }
[codex:1229412] 
[codex:1229412]             ///////////////////////////////////////////////
[codex:1229412]             // 512 by 256 division.
[codex:1229412]             ///////////////////////////////////////////////
[codex:1229412] 
[codex:1229412]             // Make division exact by subtracting the remainder from [prod1 prod0].
[codex:1229412]             uint256 remainder;
[codex:1229412]             assembly {
[codex:1229412]                 // Compute remainder using mulmod.
[codex:1229412]                 remainder := mulmod(x, y, denominator)
[codex:1229412] 
[codex:1229412]                 // Subtract 256 bit number from 512 bit number.
[codex:1229412]                 prod1 := sub(prod1, gt(remainder, prod0))
[codex:1229412]                 prod0 := sub(prod0, remainder)
[codex:1229412]             }
[codex:1229412] 
[codex:1229412]             // Factor powers of two out of denominator and compute largest power of two divisor of denominator.
[codex:1229412]             // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.
[codex:1229412] 
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Continuing exploration**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 6ms:
[codex:1229412]      */
[codex:1229412]     function _checkOwner() internal view virtual {
[codex:1229412]         if (owner() != _msgSender()) {
[codex:1229412]             revert OwnableUnauthorizedAccount(_msgSender());
[codex:1229412]         }
[codex:1229412]     }
[codex:1229412] 
[codex:1229412]     /**
[codex:1229412]      * @dev Leaves the contract without owner. It will not be possible to call
[codex:1229412]      * `onlyOwner` functions. Can only be called by the current owner.
[codex:1229412]      *
[codex:1229412]      * NOTE: Renouncing ownership will leave the contract without an owner,
[codex:1229412]      * thereby disabling any functionality that is only available to the owner.
[codex:1229412]      */
[codex:1229412]     function renounceOwnership() public virtual onlyOwner {
[codex:1229412]         _transferOwnership(address(0));
[codex:1229412]     }
[codex:1229412] 
[codex:1229412]     /**
[codex:1229412]      * @dev Transfers ownership of the contract to a new account (`newOwner`).
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Continuing analysis**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '2400,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412]      *
[codex:1229412]      * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.
[codex:1229412]      *
[codex:1229412]      * ```solidity
[codex:1229412]      * function _authorizeUpgrade(address) internal onlyOwner {}
[codex:1229412]      * ```
[codex:1229412]      */
[codex:1229412]     function _authorizeUpgrade(address newImplementation) internal virtual;
[codex:1229412] 
[codex:1229412]     /**
[codex:1229412]      * @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.
[codex:1229412]      *
[codex:1229412]      * As a security check, {proxiableUUID} is invoked in the new implementation, and the return value
[codex:1229412]      * is expected to be the implementation slot in ERC1967.
[codex:1229412]      *
[codex:1229412]      * Emits an {IERC1967-Upgraded} event.
[codex:1229412]      */
[codex:1229412]     function _upgradeToAndCallUUPS(address newImplementation, bytes memory data) private {
[codex:1229412]         try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {
[codex:1229412]             if (slot != ERC1967Utils.IMPLEMENTATION_SLOT) {
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Continuing through first-party code**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '2800,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412]     // If the adapter is not deprecated the burn amount has not been set
[codex:1229412]     if (messengerStatus != Status.Deprecated) revert IOpUSDCBridgeAdapter_BurnAmountNotSet();
[codex:1229412] 
[codex:1229412]     // NOTE: This is a very edge case and will only happen if the chain operator adds a second minter on L2
[codex:1229412]     // So now this adapter doesnt have the full backing supply locked in this contract
[codex:1229412]     // in case the bridged usdc token has other minters and the supply sent is greater then what we have
[codex:1229412]     // We need to burn the full amount stored in this contract
[codex:1229412]     // This could also cause in-flight messages to fail because of the multiple supply sources
[codex:1229412]     uint256 _burnAmount = burnAmount;
[codex:1229412]     uint256 _balanceOf = IUSDC(USDC).balanceOf(address(this));
[codex:1229412]     _burnAmount = _burnAmount > _balanceOf ? _balanceOf : _burnAmount;
[codex:1229412] 
[codex:1229412]     // Burn the USDC tokens
[codex:1229412]     if (_burnAmount != 0) {
[codex:1229412]       IUSDC(USDC).burn(_burnAmount);
[codex:1229412]     }
[codex:1229412] 
[codex:1229412]     // Set the burn amount to 0
[codex:1229412]     burnAmount = 0;
[codex:1229412]     burnCaller = address(0);
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Continuing exploration**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '3200,3600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 5ms:
[codex:1229412]  */
[codex:1229412] contract FallbackProxyAdmin is Ownable {
[codex:1229412]   /// @notice USDC address
[codex:1229412]   address public immutable USDC;
[codex:1229412] 
[codex:1229412]   /**
[codex:1229412]    * @notice Construct the FallbackProxyAdmin contract
[codex:1229412]    * @param _usdc USDC address
[codex:1229412]    */
[codex:1229412]   constructor(address _usdc) Ownable(msg.sender) {
[codex:1229412]     USDC = _usdc;
[codex:1229412]   }
[codex:1229412] 
[codex:1229412]   /**
[codex:1229412]    * @notice Changes the admin of the USDC proxy
[codex:1229412]    * @param _newAdmin Address to transfer proxy administration to
[codex:1229412]    * @dev Owner should always be the L2 Adapter
[codex:1229412]    * @dev USDC admin cant interact proxy with implementation so we use this contract as the middleman
[codex:1229412]    */
[codex:1229412]   function changeAdmin(address _newAdmin) external onlyOwner {
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Finishing review to end**
[codex:1229412] exec
[codex:1229412] /bin/bash -lc "sed -n '3600,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-oyvegfgd succeeded in 6ms:
[codex:1229412]    * @notice Error when the deadline has passed
[codex:1229412]    */
[codex:1229412]   error IOpUSDCBridgeAdapter_MessageExpired();
[codex:1229412] 
[codex:1229412]   /**
[codex:1229412]    * @notice Error when the contract is not in the upgrading state
[codex:1229412]    */
[codex:1229412]   error IOpUSDCBridgeAdapter_NotUpgrading();
[codex:1229412] 
[codex:1229412]   /**
[codex:1229412]    * @notice Error when the address is blacklisted
[codex:1229412]    */
[codex:1229412]   error IOpUSDCBridgeAdapter_BlacklistedAddress();
[codex:1229412] 
[codex:1229412]   /**
[codex:1229412]    *  @notice Error when bridgedUSDC has not been migrated yet to native USDC
[codex:1229412]    */
[codex:1229412]   error IOpUSDCBridgeAdapter_NotMigrated();
[codex:1229412] 
[codex:1229412]   /*///////////////////////////////////////////////////////////////
[codex:1229412] 
[codex:1229412] thinking
[codex:1229412] **Reviewing L1 bridge adapter security**
[codex:1229412] codex
[codex:1229412] {"no_findings":true,"summary":"No exploitable vulnerabilities found in first-party Solidity sources within the audit scope.","findings":[]}
[codex:1229412] tokens used
[codex:1229412] 47,926
[codex:1229412] {"no_findings":true,"summary":"No exploitable vulnerabilities found in first-party Solidity sources within the audit scope.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-24T01:12:19.811830+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in first-party Solidity sources within the audit scope.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in first-party Solidity sources within the audit scope.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
16
EXT*/BALANCE
9
Total opcodes
5838
Flags
delegatecall_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x0013
0000000e: JUMPI
0000000f: PUSH1 0x00
00000011: DUP1
00000012: REVERT
00000013: JUMPDEST
00000014: PUSH1 0x00
00000016: SWAP1
00000017: DUP2
00000018: CALLDATALOAD
00000019: PUSH1 0xe0
0000001b: SHR
0000001c: SWAP1
0000001d: DUP2
0000001e: PUSH4 0x1902f068
00000023: EQ
00000024: PUSH2 0x1a97
00000027: JUMPI
00000028: POP
00000029: DUP1
0000002a: PUSH4 0x2c8a6ae1
0000002f: EQ
00000030: PUSH2 0x1a52
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x32b3a987
0000003a: EQ
0000003b: PUSH2 0x1879
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x3bbcb44b
00000045: EQ
00000046: PUSH2 0x1850
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x486a7e6b
00000050: EQ
00000051: PUSH2 0x1832
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0x4c598b56
0000005b: EQ
0000005c: PUSH2 0x174c
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0x4f1ef286
00000066: EQ
00000067: PUSH2 0x1541
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0x4f872ec3
00000071: EQ
00000072: PUSH2 0x13e0
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0x52d1902d
0000007c: EQ
0000007d: PUSH2 0x1363
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0x5f8f4e9d
00000087: EQ
00000088: PUSH2 0x131a
0000008b: JUMPI
0000008c: DUP1
0000008d: PUSH4 0x5fae6025
00000092: EQ
00000093: PUSH2 0x11c5
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0x67bd044d
0000009d: EQ
0000009e: PUSH2 0x116d
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0x715018a6
000000a8: EQ
000000a9: PUSH2 0x1102
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0x84b0196e
000000b3: EQ
000000b4: PUSH2 0x0fa4
000000b7: JUMPI
000000b8: DUP1
000000b9: PUSH4 0x89a30271
000000be: EQ
000000bf: PUSH2 0x0f5f
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0x8a5e52bb
000000c9: EQ
000000ca: PUSH2 0x0ddf
000000cd: JUMPI
000000ce: DUP1
000000cf: PUSH4 0x8da5cb5b
000000d4: EQ
000000d5: PUSH2 0x0da9
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x927ede2d
000000df: EQ
000000e0: PUSH2 0x0d64
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0xad3cb1cc
000000ea: EQ
000000eb: PUSH2 0x0d1a
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0xadbcea75
000000f5: EQ
000000f6: PUSH2 0x0cae
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0xaef26549
00000100: EQ
00000101: PUSH2 0x0c5f
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0xbb416b35
0000010b: EQ
0000010c: PUSH2 0x0c37
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0xc4d66de8
00000116: EQ
00000117: PUSH2 0x0740
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0xcc43f3d3
00000121: EQ
00000122: PUSH2 0x05e3
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0xcdb9d2ea
0000012c: EQ
0000012d: PUSH2 0x03ef
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0xe1ceec34
00000137: EQ
00000138: PUSH2 0x03b4
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0xf2fde38b
00000142: EQ
00000143: PUSH2 0x0387
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0xf68d1b9f
0000014d: EQ
0000014e: PUSH2 0x021c
00000151: JUMPI
00000152: PUSH4 0xfbea6022
00000157: EQ
00000158: PUSH2 0x0160
0000015b: JUMPI
0000015c: PUSH1 0x00
0000015e: DUP1
0000015f: REVERT
00000160: JUMPDEST
00000161: CALLVALUE
00000162: PUSH2 0x0219
00000165: JUMPI
00000166: PUSH1 0x40
00000168: CALLDATASIZE
00000169: PUSH1 0x03
0000016b: NOT
0000016c: ADD
0000016d: SLT
0000016e: PUSH2 0x0219
00000171: JUMPI
00000172: PUSH2 0x0179
00000175: PUSH2 0x1edf
00000178: JUMP
00000179: JUMPDEST
0000017a: PUSH32 0xc47b52177930ba2672bfc1f75da55cf82adb3c61c2df74e28bdfefbf52ae9e05
0000019b: PUSH1 0x20
0000019d: PUSH2 0x01a4
000001a0: PUSH2 0x1ef5
000001a3: JUMP
000001a4: JUMPDEST
000001a5: SWAP3
000001a6: PUSH2 0x020f
000001a9: PUSH1 0x01
000001ab: DUP1
000001ac: PUSH1 0xa0
000001ae: SHL
000001af: SUB
000001b0: DUP1
000001b1: SWAP3
000001b2: AND
000001b3: DUP1
000001b4: DUP8
000001b5: MSTORE
000001b6: PUSH1 0x02
000001b8: DUP5
000001b9: MSTORE
000001ba: PUSH1 0x40
000001bc: DUP8
000001bd: KECCAK256
000001be: SWAP6
000001bf: DUP4
000001c0: DUP2
000001c1: AND
000001c2: SWAP7
000001c3: DUP8
000001c4: PUSH1 0x00
000001c6: MSTORE
000001c7: DUP6
000001c8: MSTORE
000001c9: PUSH1 0x40
000001cb: PUSH1 0x00
000001cd: KECCAK256
000001ce: SLOAD
000001cf: SWAP4
000001d0: DUP5
000001d1: SWAP3
000001d2: DUP10
000001d3: MSTORE
000001d4: PUSH1 0x02
000001d6: DUP7
000001d7: MSTORE
000001d8: PUSH1 0x40
000001da: DUP10
000001db: KECCAK256
000001dc: DUP9
000001dd: PUSH1 0x00
000001df: MSTORE
000001e0: DUP7
000001e1: MSTORE
000001e2: DUP9
000001e3: PUSH1 0x40
000001e5: PUSH1 0x00
000001e7: KECCAK256
000001e8: SSTORE
000001e9: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000020a: AND
0000020b: PUSH2 0x229a
0000020e: JUMP
0000020f: JUMPDEST
00000210: PUSH1 0x40
00000212: MLOAD
00000213: SWAP1
00000214: DUP2
00000215: MSTORE
00000216: LOG2
00000217: DUP1
00000218: RETURN
00000219: JUMPDEST
0000021a: DUP1
0000021b: REVERT
0000021c: JUMPDEST
0000021d: POP
0000021e: CALLVALUE
0000021f: PUSH2 0x0219
00000222: JUMPI
00000223: PUSH1 0x20
00000225: CALLDATASIZE
00000226: PUSH1 0x03
00000228: NOT
00000229: ADD
0000022a: SLT
0000022b: PUSH2 0x0219
0000022e: JUMPI
0000022f: PUSH2 0x0236
00000232: PUSH2 0x1f1e
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH2 0x023e
0000023a: PUSH2 0x22dd
0000023d: JUMP
0000023e: JUMPDEST
0000023f: DUP2
00000240: SLOAD
00000241: PUSH1 0xff
00000243: DUP2
00000244: AND
00000245: PUSH2 0x024d
00000248: DUP2
00000249: PUSH2 0x2012
0000024c: JUMP
0000024d: JUMPDEST
0000024e: DUP1
0000024f: ISZERO
00000250: ISZERO
00000251: SWAP1
00000252: DUP2
00000253: PUSH2 0x0372
00000256: JUMPI
00000257: JUMPDEST
00000258: POP
00000259: PUSH2 0x0360
0000025c: JUMPI
0000025d: PUSH1 0xff
0000025f: NOT
00000260: AND
00000261: PUSH1 0x01
00000263: OR
00000264: DUP3
00000265: SSTORE
00000266: PUSH1 0x40
00000268: MLOAD
00000269: PUSH4 0x4384a98f
0000026e: PUSH1 0xe0
00000270: SHL
00000271: PUSH1 0x20
00000273: DUP3
00000274: ADD
00000275: MSTORE
00000276: PUSH1 0x04
00000278: DUP2
00000279: MSTORE
0000027a: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
0000029b: PUSH1 0x01
0000029d: PUSH1 0x01
0000029f: PUSH1 0xa0
000002a1: SHL
000002a2: SUB
000002a3: AND
000002a4: SWAP2
000002a5: DUP4
000002a6: SWAP2
000002a7: PUSH2 0x02af
000002aa: DUP2
000002ab: PUSH2 0x1f44
000002ae: JUMP
000002af: JUMPDEST
000002b0: DUP4
000002b1: EXTCODESIZE
000002b2: ISZERO
000002b3: PUSH2 0x035c
000002b6: JUMPI
000002b7: PUSH1 0x40
000002b9: MLOAD
000002ba: PUSH4 0x3dbb202b
000002bf: PUSH1 0xe0
000002c1: SHL
000002c2: DUP2
000002c3: MSTORE
000002c4: SWAP2
000002c5: DUP4
000002c6: SWAP2
000002c7: DUP4
000002c8: SWAP2
000002c9: DUP3
000002ca: SWAP2
000002cb: PUSH2 0x02f9
000002ce: SWAP2
000002cf: SWAP1
000002d0: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
000002f1: PUSH1 0x04
000002f3: DUP6
000002f4: ADD
000002f5: PUSH2 0x2069
000002f8: JUMP
000002f9: JUMPDEST
000002fa: SUB
000002fb: DUP2
000002fc: DUP4
000002fd: DUP8
000002fe: GAS
000002ff: CALL
00000300: DUP1
00000301: ISZERO
00000302: PUSH2 0x0351
00000305: JUMPI
00000306: PUSH2 0x0339
00000309: JUMPI
0000030a: JUMPDEST
0000030b: POP
0000030c: PUSH32 0xc19ffaed16cc79d2c0c853889a5b1fd248a9208d0478bc07dd2da1cda4e89992
0000032d: PUSH1 0x20
0000032f: DUP4
00000330: PUSH1 0x40
00000332: MLOAD
00000333: SWAP1
00000334: DUP2
00000335: MSTORE
00000336: LOG1
00000337: DUP1
00000338: RETURN
00000339: JUMPDEST
0000033a: PUSH2 0x0342
0000033d: SWAP1
0000033e: PUSH2 0x1f31
00000341: JUMP
00000342: JUMPDEST
00000343: PUSH2 0x034d
00000346: JUMPI
00000347: DUP2
00000348: CODESIZE
00000349: PUSH2 0x030a
0000034c: JUMP
0000034d: JUMPDEST
0000034e: POP
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: PUSH1 0x40
00000354: MLOAD
00000355: RETURNDATASIZE
00000356: DUP5
00000357: DUP3
00000358: RETURNDATACOPY
00000359: RETURNDATASIZE
0000035a: SWAP1
0000035b: REVERT
0000035c: JUMPDEST
0000035d: DUP3
0000035e: DUP1
0000035f: REVERT
00000360: JUMPDEST
00000361: PUSH1 0x40
00000363: MLOAD
00000364: PUSH4 0x6a14cf23
00000369: PUSH1 0xe0
0000036b: SHL
0000036c: DUP2
0000036d: MSTORE
0000036e: PUSH1 0x04
00000370: SWAP1
00000371: REVERT
00000372: JUMPDEST
00000373: PUSH1 0x01
00000375: SWAP2
00000376: POP
00000377: PUSH2 0x037f
0000037a: DUP2
0000037b: PUSH2 0x2012
0000037e: JUMP
0000037f: JUMPDEST
00000380: EQ
00000381: ISZERO
00000382: CODESIZE
00000383: PUSH2 0x0257
00000386: JUMP
00000387: JUMPDEST
00000388: POP
00000389: CALLVALUE
0000038a: PUSH2 0x0219
0000038d: JUMPI
0000038e: PUSH1 0x20
00000390: CALLDATASIZE
00000391: PUSH1 0x03
00000393: NOT
00000394: ADD
00000395: SLT
00000396: PUSH2 0x0219
00000399: JUMPI
0000039a: PUSH2 0x03b1
0000039d: PUSH2 0x03a4
000003a0: PUSH2 0x1edf
000003a3: JUMP
000003a4: JUMPDEST
000003a5: PUSH2 0x03ac
000003a8: PUSH2 0x22dd
000003ab: JUMP
000003ac: JUMPDEST
000003ad: PUSH2 0x209b
000003b0: JUMP
000003b1: JUMPDEST
000003b2: DUP1
000003b3: RETURN
000003b4: JUMPDEST
000003b5: POP
000003b6: CALLVALUE
000003b7: PUSH2 0x0219
000003ba: JUMPI
000003bb: DUP1
000003bc: PUSH1 0x03
000003be: NOT
000003bf: CALLDATASIZE
000003c0: ADD
000003c1: SLT
000003c2: PUSH2 0x0219
000003c5: JUMPI
000003c6: PUSH1 0x20
000003c8: PUSH1 0x40
000003ca: MLOAD
000003cb: PUSH32 0x87e4683aad14f1869b43140e06b846bd1b00c2e08e9825f6719d163b4cfef2a6
000003ec: DUP2
000003ed: MSTORE
000003ee: RETURN
000003ef: JUMPDEST
000003f0: POP
000003f1: CALLVALUE
000003f2: PUSH2 0x0219
000003f5: JUMPI
000003f6: PUSH1 0x80
000003f8: CALLDATASIZE
000003f9: PUSH1 0x03
000003fb: NOT
000003fc: ADD
000003fd: SLT
000003fe: PUSH2 0x0219
00000401: JUMPI
00000402: PUSH2 0x0409
00000405: PUSH2 0x1edf
00000408: JUMP
00000409: JUMPDEST
0000040a: PUSH2 0x0411
0000040d: PUSH2 0x1ef5
00000410: JUMP
00000411: JUMPDEST
00000412: PUSH2 0x0419
00000415: PUSH2 0x1f0b
00000418: JUMP
00000419: JUMPDEST
0000041a: SWAP2
0000041b: PUSH1 0x64
0000041d: CALLDATALOAD
0000041e: SWAP3
0000041f: PUSH4 0xffffffff
00000424: DUP5
00000425: AND
00000426: DUP1
00000427: SWAP5
00000428: SUB
00000429: PUSH2 0x05de
0000042c: JUMPI
0000042d: PUSH2 0x0434
00000430: PUSH2 0x22dd
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH1 0x01
00000437: PUSH1 0x01
00000439: PUSH1 0xa0
0000043b: SHL
0000043c: SUB
0000043d: SWAP2
0000043e: DUP3
0000043f: AND
00000440: SWAP2
00000441: DUP3
00000442: ISZERO
00000443: DUP1
00000444: ISZERO
00000445: PUSH2 0x05d4
00000448: JUMPI
00000449: JUMPDEST
0000044a: PUSH2 0x05c2
0000044d: JUMPI
0000044e: DUP6
0000044f: SLOAD
00000450: SWAP4
00000451: PUSH1 0xff
00000453: DUP6
00000454: AND
00000455: PUSH2 0x045d
00000458: DUP2
00000459: PUSH2 0x2012
0000045c: JUMP
0000045d: JUMPDEST
0000045e: DUP1
0000045f: ISZERO
00000460: ISZERO
00000461: SWAP1
00000462: DUP2
00000463: PUSH2 0x05ad
00000466: JUMPI
00000467: JUMPDEST
00000468: POP
00000469: PUSH2 0x0360
0000046c: JUMPI
0000046d: DUP2
0000046e: PUSH1 0x02
00000470: SWAP2
00000471: AND
00000472: SWAP5
00000473: DUP6
00000474: PUSH12 0xffffffffffffffffffffffff
00000481: PUSH1 0xa0
00000483: SHL
00000484: PUSH1 0x36
00000486: SLOAD
00000487: AND
00000488: OR
00000489: PUSH1 0x36
0000048b: SSTORE
0000048c: PUSH1 0xff
0000048e: NOT
0000048f: AND
00000490: OR
00000491: DUP7
00000492: SSTORE
00000493: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
000004b4: AND
000004b5: SWAP4
000004b6: PUSH1 0x40
000004b8: MLOAD
000004b9: SWAP3
000004ba: PUSH4 0x69c5f5f3
000004bf: PUSH1 0xe0
000004c1: SHL
000004c2: PUSH1 0x20
000004c4: DUP6
000004c5: ADD
000004c6: MSTORE
000004c7: PUSH1 0x24
000004c9: DUP5
000004ca: ADD
000004cb: MSTORE
000004cc: PUSH1 0x44
000004ce: DUP4
000004cf: ADD
000004d0: MSTORE
000004d1: PUSH1 0x44
000004d3: DUP3
000004d4: MSTORE
000004d5: PUSH1 0x80
000004d7: DUP3
000004d8: ADD
000004d9: SWAP1
000004da: DUP3
000004db: DUP3
000004dc: LT
000004dd: PUSH1 0x01
000004df: PUSH1 0x01
000004e1: PUSH1 0x40
000004e3: SHL
000004e4: SUB
000004e5: DUP4
000004e6: GT
000004e7: OR
000004e8: PUSH2 0x0597
000004eb: JUMPI
000004ec: DUP6
000004ed: SWAP3
000004ee: DUP3
000004ef: PUSH1 0x40
000004f1: MSTORE
000004f2: DUP6
000004f3: EXTCODESIZE
000004f4: ISZERO
000004f5: PUSH2 0x0593
000004f8: JUMPI
000004f9: PUSH4 0x3dbb202b
000004fe: PUSH1 0xe0
00000500: SHL
00000501: DUP4
00000502: MSTORE
00000503: DUP4
00000504: SWAP2
00000505: DUP4
00000506: SWAP2
00000507: PUSH1 0x7f
00000509: NOT
0000050a: SWAP2
0000050b: PUSH2 0x0539
0000050e: SWAP1
0000050f: DUP3
00000510: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
00000531: PUSH1 0x84
00000533: DUP3
00000534: ADD
00000535: PUSH2 0x2069
00000538: JUMP
00000539: JUMPDEST
0000053a: SUB
0000053b: ADD
0000053c: DUP2
0000053d: DUP4
0000053e: DUP9
0000053f: GAS
00000540: CALL
00000541: DUP1
00000542: ISZERO
00000543: PUSH2 0x0351
00000546: JUMPI
00000547: PUSH2 0x057f
0000054a: JUMPI
0000054b: JUMPDEST
0000054c: POP
0000054d: PUSH32 0x06aeee5a19965b1536947b7571a17a681add9aad3efd41c1bec130257eaab6c9
0000056e: PUSH1 0x40
00000570: DUP5
00000571: DUP5
00000572: DUP3
00000573: MLOAD
00000574: SWAP2
00000575: DUP3
00000576: MSTORE
00000577: PUSH1 0x20
00000579: DUP3
0000057a: ADD
0000057b: MSTORE
0000057c: LOG1
0000057d: DUP1
0000057e: RETURN
0000057f: JUMPDEST
00000580: PUSH2 0x0588
00000583: SWAP1
00000584: PUSH2 0x1f31
00000587: JUMP
00000588: JUMPDEST
00000589: PUSH2 0x035c
0000058c: JUMPI
0000058d: DUP3
0000058e: CODESIZE
0000058f: PUSH2 0x054b
00000592: JUMP
00000593: JUMPDEST
00000594: DUP4
00000595: DUP1
00000596: REVERT
00000597: JUMPDEST
00000598: PUSH4 0x4e487b71
0000059d: PUSH1 0xe0
0000059f: SHL
000005a0: PUSH1 0x00
000005a2: MSTORE
000005a3: PUSH1 0x41
000005a5: PUSH1 0x04
000005a7: MSTORE
000005a8: PUSH1 0x24
000005aa: PUSH1 0x00
000005ac: REVERT
000005ad: JUMPDEST
000005ae: PUSH1 0x02
000005b0: SWAP2
000005b1: POP
000005b2: PUSH2 0x05ba
000005b5: DUP2
000005b6: PUSH2 0x2012
000005b9: JUMP
000005ba: JUMPDEST
000005bb: EQ
000005bc: ISZERO
000005bd: CODESIZE
000005be: PUSH2 0x0467
000005c1: JUMP
000005c2: JUMPDEST
000005c3: PUSH1 0x40
000005c5: MLOAD
000005c6: PUSH4 0x5432922d
000005cb: PUSH1 0xe0
000005cd: SHL
000005ce: DUP2
000005cf: MSTORE
000005d0: PUSH1 0x04
000005d2: SWAP1
000005d3: REVERT
000005d4: JUMPDEST
000005d5: POP
000005d6: DUP1
000005d7: DUP5
000005d8: AND
000005d9: ISZERO
000005da: PUSH2 0x0449
000005dd: JUMP
000005de: JUMPDEST
000005df: PUSH1 0x00
000005e1: DUP1
000005e2: REVERT
000005e3: JUMPDEST
000005e4: POP
000005e5: CALLVALUE
000005e6: PUSH2 0x0219
000005e9: JUMPI
000005ea: PUSH1 0x20
000005ec: CALLDATASIZE
000005ed: PUSH1 0x03
000005ef: NOT
000005f0: ADD
000005f1: SLT
000005f2: PUSH2 0x0219
000005f5: JUMPI
000005f6: PUSH1 0x04
000005f8: CALLDATALOAD
000005f9: PUSH1 0x01
000005fb: PUSH1 0x01
000005fd: PUSH1 0xa0
000005ff: SHL
00000600: SUB
00000601: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
00000622: DUP2
00000623: AND
00000624: CALLER
00000625: DUP2
00000626: EQ
00000627: DUP1
00000628: ISZERO
00000629: SWAP3
0000062a: SWAP2
0000062b: SWAP1
0000062c: PUSH2 0x06ac
0000062f: JUMPI
00000630: JUMPDEST
00000631: POP
00000632: POP
00000633: PUSH2 0x069a
00000636: JUMPI
00000637: DUP2
00000638: SLOAD
00000639: PUSH1 0x02
0000063b: PUSH1 0xff
0000063d: DUP3
0000063e: AND
0000063f: PUSH2 0x0647
00000642: DUP2
00000643: PUSH2 0x2012
00000646: JUMP
00000647: JUMPDEST
00000648: SUB
00000649: PUSH2 0x0688
0000064c: JUMPI
0000064d: DUP2
0000064e: PUSH1 0x03
00000650: PUSH1 0x20
00000652: SWAP3
00000653: PUSH32 0x38acaebd0e3affc51737125878fe1e25cb5fdb627b3778416219d82f81ef42f8
00000674: SWAP5
00000675: PUSH1 0x35
00000677: SSTORE
00000678: PUSH1 0xff
0000067a: NOT
0000067b: AND
0000067c: OR
0000067d: DUP5
0000067e: SSTORE
0000067f: PUSH1 0x40
00000681: MLOAD
00000682: SWAP1
00000683: DUP2
00000684: MSTORE
00000685: LOG1
00000686: DUP1
00000687: RETURN
00000688: JUMPDEST
00000689: PUSH1 0x40
0000068b: MLOAD
0000068c: PUSH4 0x14ca5c17
00000691: PUSH1 0xe2
00000693: SHL
00000694: DUP2
00000695: MSTORE
00000696: PUSH1 0x04
00000698: SWAP1
00000699: REVERT
0000069a: JUMPDEST
0000069b: PUSH1 0x40
0000069d: MLOAD
0000069e: PUSH4 0x040e613d
000006a3: PUSH1 0xe2
000006a5: SHL
000006a6: DUP2
000006a7: MSTORE
000006a8: PUSH1 0x04
000006aa: SWAP1
000006ab: REVERT
000006ac: JUMPDEST
000006ad: PUSH1 0x40
000006af: MLOAD
000006b0: PUSH4 0x6e296e45
000006b5: PUSH1 0xe0
000006b7: SHL
000006b8: DUP2
000006b9: MSTORE
000006ba: SWAP3
000006bb: POP
000006bc: PUSH1 0x20
000006be: SWAP1
000006bf: DUP4
000006c0: SWAP1
000006c1: PUSH1 0x04
000006c3: SWAP1
000006c4: DUP3
000006c5: SWAP1
000006c6: GAS
000006c7: STATICCALL
000006c8: SWAP2
000006c9: DUP3
000006ca: ISZERO
000006cb: PUSH2 0x0735
000006ce: JUMPI
000006cf: DUP5
000006d0: SWAP3
000006d1: PUSH2 0x0704
000006d4: JUMPI
000006d5: JUMPDEST
000006d6: POP
000006d7: DUP1
000006d8: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
000006f9: AND
000006fa: SWAP2
000006fb: AND
000006fc: EQ
000006fd: ISZERO
000006fe: CODESIZE
000006ff: DUP1
00000700: PUSH2 0x0630
00000703: JUMP
00000704: JUMPDEST
00000705: PUSH2 0x0727
00000708: SWAP2
00000709: SWAP3
0000070a: POP
0000070b: PUSH1 0x20
0000070d: RETURNDATASIZE
0000070e: PUSH1 0x20
00000710: GT
00000711: PUSH2 0x072e
00000714: JUMPI
00000715: JUMPDEST
00000716: PUSH2 0x071f
00000719: DUP2
0000071a: DUP4
0000071b: PUSH2 0x1f5f
0000071e: JUMP
0000071f: JUMPDEST
00000720: DUP2
00000721: ADD
00000722: SWAP1
00000723: PUSH2 0x204a
00000726: JUMP
00000727: JUMPDEST
00000728: SWAP1
00000729: CODESIZE
0000072a: PUSH2 0x06d5
0000072d: JUMP
0000072e: JUMPDEST
0000072f: POP
00000730: RETURNDATASIZE
00000731: PUSH2 0x0715
00000734: JUMP
00000735: JUMPDEST
00000736: PUSH1 0x40
00000738: MLOAD
00000739: RETURNDATASIZE
0000073a: DUP7
0000073b: DUP3
0000073c: RETURNDATACOPY
0000073d: RETURNDATASIZE
0000073e: SWAP1
0000073f: REVERT
00000740: JUMPDEST
00000741: POP
00000742: CALLVALUE
00000743: PUSH2 0x0219
00000746: JUMPI
00000747: PUSH1 0x20
00000749: CALLDATASIZE
0000074a: PUSH1 0x03
0000074c: NOT
0000074d: ADD
0000074e: SLT
0000074f: PUSH2 0x0219
00000752: JUMPI
00000753: PUSH2 0x075a
00000756: PUSH2 0x1edf
00000759: JUMP
0000075a: JUMPDEST
0000075b: SWAP1
0000075c: PUSH1 0x00
0000075e: DUP1
0000075f: MLOAD
00000760: PUSH1 0x20
00000762: PUSH2 0x27e5
00000765: DUP4
00000766: CODECOPY
00000767: DUP2
00000768: MLOAD
00000769: SWAP2
0000076a: MSTORE
0000076b: SLOAD
0000076c: SWAP2
0000076d: PUSH1 0x01
0000076f: PUSH1 0x01
00000771: PUSH1 0x40
00000773: SHL
00000774: SUB
00000775: DUP4
00000776: AND
00000777: DUP1
00000778: ISZERO
00000779: SWAP1
0000077a: DUP2
0000077b: PUSH2 0x0c27
0000077e: JUMPI
0000077f: JUMPDEST
00000780: PUSH1 0x01
00000782: EQ
00000783: SWAP1
00000784: DUP2
00000785: PUSH2 0x0c1d
00000788: JUMPI
00000789: JUMPDEST
0000078a: ISZERO
0000078b: SWAP1
0000078c: DUP2
0000078d: PUSH2 0x0c14
00000790: JUMPI
00000791: JUMPDEST
00000792: POP
00000793: PUSH2 0x0c02
00000796: JUMPI
00000797: PUSH2 0x07d5
0000079a: SWAP1
0000079b: PUSH1 0x01
0000079d: PUSH1 0x01
0000079f: PUSH1 0x01
000007a1: PUSH1 0x40
000007a3: SHL
000007a4: SUB
000007a5: NOT
000007a6: DUP6
000007a7: AND
000007a8: OR
000007a9: PUSH1 0x00
000007ab: DUP1
000007ac: MLOAD
000007ad: PUSH1 0x20
000007af: PUSH2 0x27e5
000007b2: DUP4
000007b3: CODECOPY
000007b4: DUP2
000007b5: MLOAD
000007b6: SWAP2
000007b7: MSTORE
000007b8: SSTORE
000007b9: PUSH1 0xff
000007bb: DUP5
000007bc: PUSH1 0x40
000007be: SHR
000007bf: AND
000007c0: ISZERO
000007c1: PUSH2 0x0bd5
000007c4: JUMPI
000007c5: JUMPDEST
000007c6: PUSH2 0x07cd
000007c9: PUSH2 0x2547
000007cc: JUMP
000007cd: JUMPDEST
000007ce: PUSH2 0x03ac
000007d1: PUSH2 0x2547
000007d4: JUMP
000007d5: JUMPDEST
000007d6: PUSH1 0x40
000007d8: MLOAD
000007d9: SWAP2
000007da: PUSH2 0x07e2
000007dd: DUP4
000007de: PUSH2 0x1f44
000007e1: JUMP
000007e2: JUMPDEST
000007e3: PUSH1 0x13
000007e5: DUP4
000007e6: MSTORE
000007e7: PUSH19 0x27b82aa9a221a13934b233b2a0b230b83a32b9
000007fb: PUSH1 0x69
000007fd: SHL
000007fe: PUSH1 0x20
00000800: DUP5
00000801: ADD
00000802: MSTORE
00000803: PUSH1 0x40
00000805: MLOAD
00000806: SWAP3
00000807: PUSH2 0x080f
0000080a: DUP5
0000080b: PUSH2 0x1f44
0000080e: JUMP
0000080f: JUMPDEST
00000810: PUSH1 0x05
00000812: DUP5
00000813: MSTORE
00000814: PUSH5 0x0312e302e3
0000081a: PUSH1 0xdc
0000081c: SHL
0000081d: PUSH1 0x20
0000081f: DUP6
00000820: ADD
00000821: MSTORE
00000822: PUSH2 0x0829
00000825: PUSH2 0x2547
00000828: JUMP
00000829: JUMPDEST
0000082a: PUSH2 0x0831
0000082d: PUSH2 0x2547
00000830: JUMP
00000831: JUMPDEST
00000832: DUP1
00000833: MLOAD
00000834: PUSH1 0x01
00000836: PUSH1 0x01
00000838: PUSH1 0x40
0000083a: SHL
0000083b: SUB
0000083c: DUP2
0000083d: GT
0000083e: PUSH2 0x0aaa
00000841: JUMPI
00000842: DUP1
00000843: PUSH2 0x085a
00000846: PUSH1 0x00
00000848: DUP1
00000849: MLOAD
0000084a: PUSH1 0x20
0000084c: PUSH2 0x2785
0000084f: DUP4
00000850: CODECOPY
00000851: DUP2
00000852: MLOAD
00000853: SWAP2
00000854: MSTORE
00000855: SLOAD
00000856: PUSH2 0x2316
00000859: JUMP
0000085a: JUMPDEST
0000085b: SWAP3
0000085c: PUSH1 0x1f
0000085e: SWAP4
0000085f: DUP5
00000860: DUP2
00000861: GT
00000862: PUSH2 0x0b54
00000865: JUMPI
00000866: JUMPDEST
00000867: POP
00000868: PUSH1 0x20
0000086a: SWAP1
0000086b: DUP5
0000086c: DUP4
0000086d: GT
0000086e: PUSH1 0x01
00000870: EQ
00000871: PUSH2 0x0ac9
00000874: JUMPI
00000875: DUP7
00000876: SWAP3
00000877: PUSH2 0x0abe
0000087a: JUMPI
0000087b: JUMPDEST
0000087c: POP
0000087d: POP
0000087e: DUP2
0000087f: PUSH1 0x01
00000881: SHL
00000882: SWAP2
00000883: PUSH1 0x00
00000885: NOT
00000886: SWAP1
00000887: PUSH1 0x03
00000889: SHL
0000088a: SHR
0000088b: NOT
0000088c: AND
0000088d: OR
0000088e: PUSH1 0x00
00000890: DUP1
00000891: MLOAD
00000892: PUSH1 0x20
00000894: PUSH2 0x2785
00000897: DUP4
00000898: CODECOPY
00000899: DUP2
0000089a: MLOAD
0000089b: SWAP2
0000089c: MSTORE
0000089d: SSTORE
0000089e: JUMPDEST
0000089f: DUP4
000008a0: MLOAD
000008a1: PUSH1 0x01
000008a3: PUSH1 0x01
000008a5: PUSH1 0x40
000008a7: SHL
000008a8: SUB
000008a9: DUP2
000008aa: GT
000008ab: PUSH2 0x0aaa
000008ae: JUMPI
000008af: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103
000008d0: SWAP2
000008d1: PUSH2 0x08da
000008d4: DUP4
000008d5: SLOAD
000008d6: PUSH2 0x2316
000008d9: JUMP
000008da: JUMPDEST
000008db: DUP2
000008dc: DUP2
000008dd: GT
000008de: PUSH2 0x0a4b
000008e1: JUMPI
000008e2: JUMPDEST
000008e3: POP
000008e4: PUSH1 0x20
000008e6: SWAP1
000008e7: DUP3
000008e8: GT
000008e9: PUSH1 0x01
000008eb: EQ
000008ec: PUSH2 0x09c8
000008ef: JUMPI
000008f0: DUP2
000008f1: SWAP1
000008f2: DUP6
000008f3: SWAP7
000008f4: PUSH1 0xff
000008f6: SWAP7
000008f7: SWAP3
000008f8: PUSH2 0x09bd
000008fb: JUMPI
000008fc: JUMPDEST
000008fd: POP
000008fe: POP
000008ff: DUP2
00000900: PUSH1 0x01
00000902: SHL
00000903: SWAP2
00000904: PUSH1 0x00
00000906: NOT
00000907: SWAP1
00000908: PUSH1 0x03
0000090a: SHL
0000090b: SHR
0000090c: NOT
0000090d: AND
0000090e: OR
0000090f: SWAP1
00000910: SSTORE
00000911: JUMPDEST
00000912: DUP3
00000913: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100
00000934: SSTORE
00000935: DUP3
00000936: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101
00000957: SSTORE
00000958: PUSH1 0x40
0000095a: SHR
0000095b: AND
0000095c: ISZERO
0000095d: PUSH2 0x0963
00000960: JUMPI
00000961: DUP1
00000962: RETURN
00000963: JUMPDEST
00000964: PUSH9 0xff0000000000000000
0000096e: NOT
0000096f: PUSH1 0x00
00000971: DUP1
00000972: MLOAD
00000973: PUSH1 0x20
00000975: PUSH2 0x27e5
00000978: DUP4
00000979: CODECOPY
0000097a: DUP2
0000097b: MLOAD
0000097c: SWAP2
0000097d: MSTORE
0000097e: SLOAD
0000097f: AND
00000980: PUSH1 0x00
00000982: DUP1
00000983: MLOAD
00000984: PUSH1 0x20
00000986: PUSH2 0x27e5
00000989: DUP4
0000098a: CODECOPY
0000098b: DUP2
0000098c: MLOAD
0000098d: SWAP2
0000098e: MSTORE
0000098f: SSTORE
00000990: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
000009b1: PUSH1 0x20
000009b3: PUSH1 0x40
000009b5: MLOAD
000009b6: PUSH1 0x01
000009b8: DUP2
000009b9: MSTORE
000009ba: LOG1
000009bb: DUP1
000009bc: RETURN
000009bd: JUMPDEST
000009be: ADD
000009bf: MLOAD
000009c0: SWAP1
000009c1: POP
000009c2: CODESIZE
000009c3: DUP1
000009c4: PUSH2 0x08fc
000009c7: JUMP
000009c8: JUMPDEST
000009c9: DUP3
000009ca: DUP6
000009cb: MSTORE
000009cc: PUSH32 0x5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75
000009ed: SWAP6
000009ee: PUSH1 0x1f
000009f0: NOT
000009f1: DUP4
000009f2: AND
000009f3: DUP7
000009f4: JUMPDEST
000009f5: DUP2
000009f6: DUP2
000009f7: LT
000009f8: PUSH2 0x0a33
000009fb: JUMPI
000009fc: POP
000009fd: SWAP2
000009fe: PUSH1 0xff
00000a00: SWAP7
00000a01: SWAP8
00000a02: SWAP2
00000a03: DUP5
00000a04: PUSH1 0x01
00000a06: SWAP6
00000a07: SWAP5
00000a08: LT
00000a09: PUSH2 0x0a1a
00000a0c: JUMPI
00000a0d: JUMPDEST
00000a0e: POP
00000a0f: POP
00000a10: POP
00000a11: DUP2
00000a12: SHL
00000a13: ADD
00000a14: SWAP1
00000a15: SSTORE
00000a16: PUSH2 0x0911
00000a19: JUMP
00000a1a: JUMPDEST
00000a1b: ADD
00000a1c: MLOAD
00000a1d: PUSH1 0x00
00000a1f: NOT
00000a20: PUSH1 0xf8
00000a22: DUP5
00000a23: PUSH1 0x03
00000a25: SHL
00000a26: AND
00000a27: SHR
00000a28: NOT
00000a29: AND
00000a2a: SWAP1
00000a2b: SSTORE
00000a2c: CODESIZE
00000a2d: DUP1
00000a2e: DUP1
00000a2f: PUSH2 0x0a0d
00000a32: JUMP
00000a33: JUMPDEST
00000a34: DUP4
00000a35: DUP4
00000a36: ADD
00000a37: MLOAD
00000a38: DUP10
00000a39: SSTORE
00000a3a: PUSH1 0x01
00000a3c: SWAP1
00000a3d: SWAP9
00000a3e: ADD
00000a3f: SWAP8
00000a40: PUSH1 0x20
00000a42: SWAP4
00000a43: DUP5
00000a44: ADD
00000a45: SWAP4
00000a46: ADD
00000a47: PUSH2 0x09f4
00000a4a: JUMP
00000a4b: JUMPDEST
00000a4c: DUP4
00000a4d: DUP7
00000a4e: MSTORE
00000a4f: PUSH32 0x5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75
00000a70: DUP3
00000a71: DUP1
00000a72: DUP6
00000a73: ADD
00000a74: PUSH1 0x05
00000a76: SHR
00000a77: DUP3
00000a78: ADD
00000a79: SWAP3
00000a7a: PUSH1 0x20
00000a7c: DUP7
00000a7d: LT
00000a7e: PUSH2 0x0aa1
00000a81: JUMPI
00000a82: JUMPDEST
00000a83: ADD
00000a84: PUSH1 0x05
00000a86: SHR
00000a87: ADD
00000a88: SWAP1
00000a89: JUMPDEST
00000a8a: DUP2
00000a8b: DUP2
00000a8c: LT
00000a8d: PUSH2 0x0a96
00000a90: JUMPI
00000a91: POP
00000a92: PUSH2 0x08e2
00000a95: JUMP
00000a96: JUMPDEST
00000a97: DUP7
00000a98: DUP2
00000a99: SSTORE
00000a9a: PUSH1 0x01
00000a9c: ADD
00000a9d: PUSH2 0x0a89
00000aa0: JUMP
00000aa1: JUMPDEST
00000aa2: SWAP3
00000aa3: POP
00000aa4: DUP2
00000aa5: SWAP3
00000aa6: PUSH2 0x0a82
00000aa9: JUMP
00000aaa: JUMPDEST
00000aab: PUSH4 0x4e487b71
00000ab0: PUSH1 0xe0
00000ab2: SHL
00000ab3: DUP5
00000ab4: MSTORE
00000ab5: PUSH1 0x41
00000ab7: PUSH1 0x04
00000ab9: MSTORE
00000aba: PUSH1 0x24
00000abc: DUP5
00000abd: REVERT
00000abe: JUMPDEST
00000abf: ADD
00000ac0: MLOAD
00000ac1: SWAP1
00000ac2: POP
00000ac3: CODESIZE
00000ac4: DUP1
00000ac5: PUSH2 0x087b
00000ac8: JUMP
00000ac9: JUMPDEST
00000aca: PUSH1 0x00
00000acc: DUP1
00000acd: MLOAD
00000ace: PUSH1 0x20
00000ad0: PUSH2 0x2785
00000ad3: DUP4
00000ad4: CODECOPY
00000ad5: DUP2
00000ad6: MLOAD
00000ad7: SWAP2
00000ad8: MSTORE
00000ad9: DUP8
00000ada: MSTORE
00000adb: PUSH1 0x00
00000add: DUP1
00000ade: MLOAD
00000adf: PUSH1 0x20
00000ae1: PUSH2 0x27c5
00000ae4: DUP4
00000ae5: CODECOPY
00000ae6: DUP2
00000ae7: MLOAD
00000ae8: SWAP2
00000ae9: MSTORE
00000aea: SWAP3
00000aeb: POP
00000aec: PUSH1 0x1f
00000aee: NOT
00000aef: DUP5
00000af0: AND
00000af1: DUP8
00000af2: JUMPDEST
00000af3: DUP2
00000af4: DUP2
00000af5: LT
00000af6: PUSH2 0x0b3c
00000af9: JUMPI
00000afa: POP
00000afb: SWAP1
00000afc: DUP5
00000afd: PUSH1 0x01
00000aff: SWAP6
00000b00: SWAP5
00000b01: SWAP4
00000b02: SWAP3
00000b03: LT
00000b04: PUSH2 0x0b23
00000b07: JUMPI
00000b08: JUMPDEST
00000b09: POP
00000b0a: POP
00000b0b: POP
00000b0c: DUP2
00000b0d: SHL
00000b0e: ADD
00000b0f: PUSH1 0x00
00000b11: DUP1
00000b12: MLOAD
00000b13: PUSH1 0x20
00000b15: PUSH2 0x2785
00000b18: DUP4
00000b19: CODECOPY
00000b1a: DUP2
00000b1b: MLOAD
00000b1c: SWAP2
00000b1d: MSTORE
00000b1e: SSTORE
00000b1f: PUSH2 0x089e
00000b22: JUMP
00000b23: JUMPDEST
00000b24: ADD
00000b25: MLOAD
00000b26: PUSH1 0x00
00000b28: NOT
00000b29: PUSH1 0xf8
00000b2b: DUP5
00000b2c: PUSH1 0x03
00000b2e: SHL
00000b2f: AND
00000b30: SHR
00000b31: NOT
00000b32: AND
00000b33: SWAP1
00000b34: SSTORE
00000b35: CODESIZE
00000b36: DUP1
00000b37: DUP1
00000b38: PUSH2 0x0b08
00000b3b: JUMP
00000b3c: JUMPDEST
00000b3d: SWAP3
00000b3e: SWAP4
00000b3f: PUSH1 0x20
00000b41: PUSH1 0x01
00000b43: DUP2
00000b44: SWAP3
00000b45: DUP8
00000b46: DUP7
00000b47: ADD
00000b48: MLOAD
00000b49: DUP2
00000b4a: SSTORE
00000b4b: ADD
00000b4c: SWAP6
00000b4d: ADD
00000b4e: SWAP4
00000b4f: ADD
00000b50: PUSH2 0x0af2
00000b53: JUMP
00000b54: JUMPDEST
00000b55: SWAP1
00000b56: SWAP2
00000b57: POP
00000b58: PUSH1 0x00
00000b5a: DUP1
00000b5b: MLOAD
00000b5c: PUSH1 0x20
00000b5e: PUSH2 0x2785
00000b61: DUP4
00000b62: CODECOPY
00000b63: DUP2
00000b64: MLOAD
00000b65: SWAP2
00000b66: MSTORE
00000b67: DUP7
00000b68: MSTORE
00000b69: DUP4
00000b6a: DUP1
00000b6b: DUP5
00000b6c: ADD
00000b6d: PUSH1 0x05
00000b6f: SHR
00000b70: PUSH1 0x00
00000b72: DUP1
00000b73: MLOAD
00000b74: PUSH1 0x20
00000b76: PUSH2 0x27c5
00000b79: DUP4
00000b7a: CODECOPY
00000b7b: DUP2
00000b7c: MLOAD
00000b7d: SWAP2
00000b7e: MSTORE
00000b7f: ADD
00000b80: SWAP2
00000b81: PUSH1 0x20
00000b83: DUP6
00000b84: LT
00000b85: PUSH2 0x0bbf
00000b88: JUMPI
00000b89: JUMPDEST
00000b8a: SWAP1
00000b8b: DUP5
00000b8c: SWAP4
00000b8d: SWAP3
00000b8e: SWAP2
00000b8f: ADD
00000b90: PUSH1 0x05
00000b92: SHR
00000b93: PUSH1 0x00
00000b95: DUP1
00000b96: MLOAD
00000b97: PUSH1 0x20
00000b99: PUSH2 0x27c5
00000b9c: DUP4
00000b9d: CODECOPY
00000b9e: DUP2
00000b9f: MLOAD
00000ba0: SWAP2
00000ba1: MSTORE
00000ba2: ADD
00000ba3: SWAP1
00000ba4: JUMPDEST
00000ba5: DUP2
00000ba6: DUP2
00000ba7: LT
00000ba8: PUSH2 0x0bb1
00000bab: JUMPI
00000bac: POP
00000bad: PUSH2 0x0866
00000bb0: JUMP
00000bb1: JUMPDEST
00000bb2: DUP8
00000bb3: DUP2
00000bb4: SSTORE
00000bb5: DUP5
00000bb6: SWAP4
00000bb7: POP
00000bb8: PUSH1 0x01
00000bba: ADD
00000bbb: PUSH2 0x0ba4
00000bbe: JUMP
00000bbf: JUMPDEST
00000bc0: PUSH1 0x00
00000bc2: DUP1
00000bc3: MLOAD
00000bc4: PUSH1 0x20
00000bc6: PUSH2 0x27c5
00000bc9: DUP4
00000bca: CODECOPY
00000bcb: DUP2
00000bcc: MLOAD
00000bcd: SWAP2
00000bce: MSTORE
00000bcf: SWAP3
00000bd0: POP
00000bd1: PUSH2 0x0b89
00000bd4: JUMP
00000bd5: JUMPDEST
00000bd6: PUSH9 0xffffffffffffffffff
00000be0: NOT
00000be1: DUP5
00000be2: AND
00000be3: PUSH9 0x010000000000000001
00000bed: OR
00000bee: PUSH1 0x00
00000bf0: DUP1
00000bf1: MLOAD
00000bf2: PUSH1 0x20
00000bf4: PUSH2 0x27e5
00000bf7: DUP4
00000bf8: CODECOPY
00000bf9: DUP2
00000bfa: MLOAD
00000bfb: SWAP2
00000bfc: MSTORE
00000bfd: SSTORE
00000bfe: PUSH2 0x07c5
00000c01: JUMP
00000c02: JUMPDEST
00000c03: PUSH1 0x40
00000c05: MLOAD
00000c06: PUSH4 0xf92ee8a9
00000c0b: PUSH1 0xe0
00000c0d: SHL
00000c0e: DUP2
00000c0f: MSTORE
00000c10: PUSH1 0x04
00000c12: SWAP1
00000c13: REVERT
00000c14: JUMPDEST
00000c15: SWAP1
00000c16: POP
00000c17: ISZERO
00000c18: CODESIZE
00000c19: PUSH2 0x0791
00000c1c: JUMP
00000c1d: JUMPDEST
00000c1e: ADDRESS
00000c1f: EXTCODESIZE
00000c20: ISZERO
00000c21: SWAP2
00000c22: POP
00000c23: PUSH2 0x0789
00000c26: JUMP
00000c27: JUMPDEST
00000c28: PUSH1 0x40
00000c2a: DUP6
00000c2b: SWAP1
00000c2c: SHR
00000c2d: PUSH1 0xff
00000c2f: AND
00000c30: ISZERO
00000c31: SWAP2
00000c32: POP
00000c33: PUSH2 0x077f
00000c36: JUMP
00000c37: JUMPDEST
00000c38: POP
00000c39: CALLVALUE
00000c3a: PUSH2 0x0219
00000c3d: JUMPI
00000c3e: DUP1
00000c3f: PUSH1 0x03
00000c41: NOT
00000c42: CALLDATASIZE
00000c43: ADD
00000c44: SLT
00000c45: PUSH2 0x0219
00000c48: JUMPI
00000c49: SLOAD
00000c4a: PUSH1 0x40
00000c4c: MLOAD
00000c4d: PUSH1 0x20
00000c4f: SWAP2
00000c50: PUSH1 0xff
00000c52: AND
00000c53: PUSH2 0x0c5b
00000c56: DUP2
00000c57: PUSH2 0x2012
00000c5a: JUMP
00000c5b: JUMPDEST
00000c5c: DUP2
00000c5d: MSTORE
00000c5e: RETURN
00000c5f: JUMPDEST
00000c60: POP
00000c61: CALLVALUE
00000c62: PUSH2 0x0219
00000c65: JUMPI
00000c66: PUSH1 0x40
00000c68: CALLDATASIZE
00000c69: PUSH1 0x03
00000c6b: NOT
00000c6c: ADD
00000c6d: SLT
00000c6e: PUSH2 0x0219
00000c71: JUMPI
00000c72: PUSH2 0x0c79
00000c75: PUSH2 0x1edf
00000c78: JUMP
00000c79: JUMPDEST
00000c7a: PUSH1 0x40
00000c7c: PUSH2 0x0c83
00000c7f: PUSH2 0x1ef5
00000c82: JUMP
00000c83: JUMPDEST
00000c84: SWAP3
00000c85: PUSH1 0x01
00000c87: DUP1
00000c88: PUSH1 0xa0
00000c8a: SHL
00000c8b: SUB
00000c8c: DUP1
00000c8d: SWAP4
00000c8e: AND
00000c8f: DUP2
00000c90: MSTORE
00000c91: PUSH1 0x02
00000c93: PUSH1 0x20
00000c95: MSTORE
00000c96: KECCAK256
00000c97: SWAP2
00000c98: AND
00000c99: PUSH1 0x00
00000c9b: MSTORE
00000c9c: PUSH1 0x20
00000c9e: MSTORE
00000c9f: PUSH1 0x20
00000ca1: PUSH1 0x40
00000ca3: PUSH1 0x00
00000ca5: KECCAK256
00000ca6: SLOAD
00000ca7: PUSH1 0x40
00000ca9: MLOAD
00000caa: SWAP1
00000cab: DUP2
00000cac: MSTORE
00000cad: RETURN
00000cae: JUMPDEST
00000caf: POP
00000cb0: CALLVALUE
00000cb1: PUSH2 0x0219
00000cb4: JUMPI
00000cb5: PUSH1 0x20
00000cb7: CALLDATASIZE
00000cb8: PUSH1 0x03
00000cba: NOT
00000cbb: ADD
00000cbc: SLT
00000cbd: PUSH2 0x0219
00000cc0: JUMPI
00000cc1: CALLER
00000cc2: DUP1
00000cc3: DUP3
00000cc4: MSTORE
00000cc5: PUSH1 0x01
00000cc7: PUSH1 0x20
00000cc9: DUP2
00000cca: DUP2
00000ccb: MSTORE
00000ccc: PUSH1 0x40
00000cce: DUP1
00000ccf: DUP6
00000cd0: KECCAK256
00000cd1: PUSH1 0x04
00000cd3: CALLDATALOAD
00000cd4: DUP1
00000cd5: DUP8
00000cd6: MSTORE
00000cd7: SWAP1
00000cd8: DUP4
00000cd9: MSTORE
00000cda: DUP2
00000cdb: DUP7
00000cdc: KECCAK256
00000cdd: DUP1
00000cde: SLOAD
00000cdf: PUSH1 0xff
00000ce1: NOT
00000ce2: AND
00000ce3: SWAP1
00000ce4: SWAP5
00000ce5: OR
00000ce6: SWAP1
00000ce7: SWAP4
00000ce8: SSTORE
00000ce9: DUP1
00000cea: MLOAD
00000ceb: SWAP4
00000cec: DUP5
00000ced: MSTORE
00000cee: SWAP1
00000cef: DUP4
00000cf0: ADD
00000cf1: SWAP2
00000cf2: SWAP1
00000cf3: SWAP2
00000cf4: MSTORE
00000cf5: PUSH32 0x0e6a4f4985873f666a9aa21268ce8c462bedf4231c9ed2811360ce956701cb28
00000d16: SWAP2
00000d17: LOG1
00000d18: DUP1
00000d19: RETURN
00000d1a: JUMPDEST
00000d1b: POP
00000d1c: CALLVALUE
00000d1d: PUSH2 0x0219
00000d20: JUMPI
00000d21: DUP1
00000d22: PUSH1 0x03
00000d24: NOT
00000d25: CALLDATASIZE
00000d26: ADD
00000d27: SLT
00000d28: PUSH2 0x0219
00000d2b: JUMPI
00000d2c: PUSH2 0x0d60
00000d2f: PUSH1 0x40
00000d31: MLOAD
00000d32: PUSH2 0x0d3a
00000d35: DUP2
00000d36: PUSH2 0x1f44
00000d39: JUMP
00000d3a: JUMPDEST
00000d3b: PUSH1 0x05
00000d3d: DUP2
00000d3e: MSTORE
00000d3f: PUSH5 0x0352e302e3
00000d45: PUSH1 0xdc
00000d47: SHL
00000d48: PUSH1 0x20
00000d4a: DUP3
00000d4b: ADD
00000d4c: MSTORE
00000d4d: PUSH1 0x40
00000d4f: MLOAD
00000d50: SWAP2
00000d51: DUP3
00000d52: SWAP2
00000d53: PUSH1 0x20
00000d55: DUP4
00000d56: MSTORE
00000d57: PUSH1 0x20
00000d59: DUP4
00000d5a: ADD
00000d5b: SWAP1
00000d5c: PUSH2 0x1fd2
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: SUB
00000d62: SWAP1
00000d63: RETURN
00000d64: JUMPDEST
00000d65: POP
00000d66: CALLVALUE
00000d67: PUSH2 0x0219
00000d6a: JUMPI
00000d6b: DUP1
00000d6c: PUSH1 0x03
00000d6e: NOT
00000d6f: CALLDATASIZE
00000d70: ADD
00000d71: SLT
00000d72: PUSH2 0x0219
00000d75: JUMPI
00000d76: PUSH1 0x40
00000d78: MLOAD
00000d79: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
00000d9a: PUSH1 0x01
00000d9c: PUSH1 0x01
00000d9e: PUSH1 0xa0
00000da0: SHL
00000da1: SUB
00000da2: AND
00000da3: DUP2
00000da4: MSTORE
00000da5: PUSH1 0x20
00000da7: SWAP1
00000da8: RETURN
00000da9: JUMPDEST
00000daa: POP
00000dab: CALLVALUE
00000dac: PUSH2 0x0219
00000daf: JUMPI
00000db0: DUP1
00000db1: PUSH1 0x03
00000db3: NOT
00000db4: CALLDATASIZE
00000db5: ADD
00000db6: SLT
00000db7: PUSH2 0x0219
00000dba: JUMPI
00000dbb: PUSH1 0x00
00000dbd: DUP1
00000dbe: MLOAD
00000dbf: PUSH1 0x20
00000dc1: PUSH2 0x27a5
00000dc4: DUP4
00000dc5: CODECOPY
00000dc6: DUP2
00000dc7: MLOAD
00000dc8: SWAP2
00000dc9: MSTORE
00000dca: SLOAD
00000dcb: PUSH1 0x40
00000dcd: MLOAD
00000dce: PUSH1 0x01
00000dd0: PUSH1 0x01
00000dd2: PUSH1 0xa0
00000dd4: SHL
00000dd5: SUB
00000dd6: SWAP1
00000dd7: SWAP2
00000dd8: AND
00000dd9: DUP2
00000dda: MSTORE
00000ddb: PUSH1 0x20
00000ddd: SWAP1
00000dde: RETURN
00000ddf: JUMPDEST
00000de0: POP
00000de1: CALLVALUE
00000de2: PUSH2 0x0219
00000de5: JUMPI
00000de6: DUP1
00000de7: PUSH1 0x03
00000de9: NOT
00000dea: CALLDATASIZE
00000deb: ADD
00000dec: SLT
00000ded: PUSH2 0x0219
00000df0: JUMPI
00000df1: PUSH1 0x36
00000df3: SLOAD
00000df4: PUSH1 0x01
00000df6: PUSH1 0x01
00000df8: PUSH1 0xa0
00000dfa: SHL
00000dfb: SUB
00000dfc: SWAP1
00000dfd: DUP2
00000dfe: AND
00000dff: CALLER
00000e00: SUB
00000e01: PUSH2 0x069a
00000e04: JUMPI
00000e05: PUSH1 0x03
00000e07: PUSH1 0xff
00000e09: DUP4
00000e0a: SLOAD
00000e0b: AND
00000e0c: PUSH2 0x0e14
00000e0f: DUP2
00000e10: PUSH2 0x2012
00000e13: JUMP
00000e14: JUMPDEST
00000e15: SUB
00000e16: PUSH2 0x0f4d
00000e19: JUMPI
00000e1a: PUSH1 0x35
00000e1c: SLOAD
00000e1d: PUSH1 0x40
00000e1f: MLOAD
00000e20: PUSH4 0x70a08231
00000e25: PUSH1 0xe0
00000e27: SHL
00000e28: DUP2
00000e29: MSTORE
00000e2a: ADDRESS
00000e2b: PUSH1 0x04
00000e2d: DUP3
00000e2e: ADD
00000e2f: MSTORE
00000e30: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000e51: SWAP1
00000e52: SWAP3
00000e53: AND
00000e54: SWAP2
00000e55: DUP4
00000e56: SWAP2
00000e57: PUSH1 0x20
00000e59: DUP3
00000e5a: PUSH1 0x24
00000e5c: DUP2
00000e5d: DUP8
00000e5e: GAS
00000e5f: STATICCALL
00000e60: SWAP2
00000e61: DUP3
00000e62: ISZERO
00000e63: PUSH2 0x0f42
00000e66: JUMPI
00000e67: DUP4
00000e68: SWAP3
00000e69: PUSH2 0x0f0e
00000e6c: JUMPI
00000e6d: JUMPDEST
00000e6e: POP
00000e6f: DUP2
00000e70: DUP2
00000e71: GT
00000e72: ISZERO
00000e73: PUSH2 0x0f06
00000e76: JUMPI
00000e77: POP
00000e78: SWAP2
00000e79: JUMPDEST
00000e7a: DUP3
00000e7b: PUSH2 0x0ec2
00000e7e: JUMPI
00000e7f: JUMPDEST
00000e80: POP
00000e81: PUSH1 0x35
00000e83: SSTORE
00000e84: PUSH1 0x36
00000e86: DUP1
00000e87: SLOAD
00000e88: PUSH1 0x01
00000e8a: PUSH1 0x01
00000e8c: PUSH1 0xa0
00000e8e: SHL
00000e8f: SUB
00000e90: NOT
00000e91: AND
00000e92: SWAP1
00000e93: SSTORE
00000e94: PUSH1 0x40
00000e96: MLOAD
00000e97: SWAP1
00000e98: DUP2
00000e99: MSTORE
00000e9a: PUSH32 0x82691da855159f603f5aecf930c44c33ed2b5838cbb20d7009074b3853c6a31d
00000ebb: SWAP1
00000ebc: PUSH1 0x20
00000ebe: SWAP1
00000ebf: LOG1
00000ec0: DUP1
00000ec1: RETURN
00000ec2: JUMPDEST
00000ec3: DUP1
00000ec4: EXTCODESIZE
00000ec5: ISZERO
00000ec6: PUSH2 0x034d
00000ec9: JUMPI
00000eca: DUP2
00000ecb: DUP1
00000ecc: SWAP2
00000ecd: PUSH1 0x24
00000ecf: PUSH1 0x40
00000ed1: MLOAD
00000ed2: DUP1
00000ed3: SWAP5
00000ed4: DUP2
00000ed5: SWAP4
00000ed6: PUSH4 0x0852cd8d
00000edb: PUSH1 0xe3
00000edd: SHL
00000ede: DUP4
00000edf: MSTORE
00000ee0: DUP9
00000ee1: PUSH1 0x04
00000ee3: DUP5
00000ee4: ADD
00000ee5: MSTORE
00000ee6: GAS
00000ee7: CALL
00000ee8: DUP1
00000ee9: ISZERO
00000eea: PUSH2 0x0351
00000eed: JUMPI
00000eee: ISZERO
00000eef: PUSH2 0x0e7f
00000ef2: JUMPI
00000ef3: PUSH2 0x0efb
00000ef6: SWAP1
00000ef7: PUSH2 0x1f31
00000efa: JUMP
00000efb: JUMPDEST
00000efc: PUSH2 0x034d
00000eff: JUMPI
00000f00: DUP2
00000f01: CODESIZE
00000f02: PUSH2 0x0e7f
00000f05: JUMP
00000f06: JUMPDEST
00000f07: SWAP1
00000f08: POP
00000f09: SWAP2
00000f0a: PUSH2 0x0e79
00000f0d: JUMP
00000f0e: JUMPDEST
00000f0f: SWAP1
00000f10: SWAP2
00000f11: POP
00000f12: PUSH1 0x20
00000f14: DUP2
00000f15: RETURNDATASIZE
00000f16: PUSH1 0x20
00000f18: GT
00000f19: PUSH2 0x0f3a
00000f1c: JUMPI
00000f1d: JUMPDEST
00000f1e: DUP2
00000f1f: PUSH2 0x0f2a
00000f22: PUSH1 0x20
00000f24: SWAP4
00000f25: DUP4
00000f26: PUSH2 0x1f5f
00000f29: JUMP
00000f2a: JUMPDEST
00000f2b: DUP2
00000f2c: ADD
00000f2d: SUB
00000f2e: SLT
00000f2f: PUSH2 0x035c
00000f32: JUMPI
00000f33: MLOAD
00000f34: SWAP1
00000f35: CODESIZE
00000f36: PUSH2 0x0e6d
00000f39: JUMP
00000f3a: JUMPDEST
00000f3b: RETURNDATASIZE
00000f3c: SWAP2
00000f3d: POP
00000f3e: PUSH2 0x0f1d
00000f41: JUMP
00000f42: JUMPDEST
00000f43: PUSH1 0x40
00000f45: MLOAD
00000f46: RETURNDATASIZE
00000f47: DUP6
00000f48: DUP3
00000f49: RETURNDATACOPY
00000f4a: RETURNDATASIZE
00000f4b: SWAP1
00000f4c: REVERT
00000f4d: JUMPDEST
00000f4e: PUSH1 0x40
00000f50: MLOAD
00000f51: PUSH4 0x622facd5
00000f56: PUSH1 0xe1
00000f58: SHL
00000f59: DUP2
00000f5a: MSTORE
00000f5b: PUSH1 0x04
00000f5d: SWAP1
00000f5e: REVERT
00000f5f: JUMPDEST
00000f60: POP
00000f61: CALLVALUE
00000f62: PUSH2 0x0219
00000f65: JUMPI
00000f66: DUP1
00000f67: PUSH1 0x03
00000f69: NOT
00000f6a: CALLDATASIZE
00000f6b: ADD
00000f6c: SLT
00000f6d: PUSH2 0x0219
00000f70: JUMPI
00000f71: PUSH1 0x40
00000f73: MLOAD
00000f74: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000f95: PUSH1 0x01
00000f97: PUSH1 0x01
00000f99: PUSH1 0xa0
00000f9b: SHL
00000f9c: SUB
00000f9d: AND
00000f9e: DUP2
00000f9f: MSTORE
00000fa0: PUSH1 0x20
00000fa2: SWAP1
00000fa3: RETURN
00000fa4: JUMPDEST
00000fa5: POP
00000fa6: CALLVALUE
00000fa7: PUSH2 0x0219
00000faa: JUMPI
00000fab: DUP1
00000fac: PUSH1 0x03
00000fae: NOT
00000faf: CALLDATASIZE
00000fb0: ADD
00000fb1: SLT
00000fb2: PUSH2 0x0219
00000fb5: JUMPI
00000fb6: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100
00000fd7: SLOAD
00000fd8: ISZERO
00000fd9: DUP1
00000fda: PUSH2 0x10d9
00000fdd: JUMPI
00000fde: JUMPDEST
00000fdf: ISZERO
00000fe0: PUSH2 0x109c
00000fe3: JUMPI
00000fe4: PUSH2 0x0feb
00000fe7: PUSH2 0x2350
00000fea: JUMP
00000feb: JUMPDEST
00000fec: SWAP1
00000fed: PUSH2 0x0ff4
00000ff0: PUSH2 0x2414
00000ff3: JUMP
00000ff4: JUMPDEST
00000ff5: SWAP1
00000ff6: PUSH1 0x40
00000ff8: MLOAD
00000ff9: SWAP1
00000ffa: PUSH1 0x20
00000ffc: SWAP1
00000ffd: PUSH1 0x20
00000fff: DUP4
00001000: ADD
00001001: SWAP4
00001002: DUP4
00001003: DUP6
00001004: LT
00001005: PUSH1 0x01
00001007: PUSH1 0x01
00001009: PUSH1 0x40
0000100b: SHL
0000100c: SUB
0000100d: DUP7
0000100e: GT
0000100f: OR
00001010: PUSH2 0x0597
00001013: JUMPI
00001014: SWAP3
00001015: DUP5
00001016: SWAP3
00001017: PUSH1 0x20
00001019: PUSH2 0x1052
0000101c: DUP9
0000101d: SWAP7
0000101e: PUSH2 0x1044
00001021: SWAP9
00001022: PUSH1 0x40
00001024: MSTORE
00001025: DUP6
00001026: DUP6
00001027: MSTORE
00001028: PUSH1 0x40
0000102a: MLOAD
0000102b: SWAP9
0000102c: DUP10
0000102d: SWAP9
0000102e: PUSH1 0x0f
00001030: PUSH1 0xf8
00001032: SHL
00001033: DUP11
00001034: MSTORE
00001035: PUSH1 0xe0
00001037: DUP6
00001038: DUP12
00001039: ADD
0000103a: MSTORE
0000103b: PUSH1 0xe0
0000103d: DUP11
0000103e: ADD
0000103f: SWAP1
00001040: PUSH2 0x1fd2
00001043: JUMP
00001044: JUMPDEST
00001045: SWAP1
00001046: DUP9
00001047: DUP3
00001048: SUB
00001049: PUSH1 0x40
0000104b: DUP11
0000104c: ADD
0000104d: MSTORE
0000104e: PUSH2 0x1fd2
00001051: JUMP
00001052: JUMPDEST
00001053: SWAP3
00001054: CHAINID
00001055: PUSH1 0x60
00001057: DUP9
00001058: ADD
00001059: MSTORE
0000105a: ADDRESS
0000105b: PUSH1 0x80
0000105d: DUP9
0000105e: ADD
0000105f: MSTORE
00001060: DUP5
00001061: PUSH1 0xa0
00001063: DUP9
00001064: ADD
00001065: MSTORE
00001066: DUP7
00001067: DUP5
00001068: SUB
00001069: PUSH1 0xc0
0000106b: DUP9
0000106c: ADD
0000106d: MSTORE
0000106e: MLOAD
0000106f: SWAP3
00001070: DUP4
00001071: DUP2
00001072: MSTORE
00001073: ADD
00001074: SWAP4
00001075: SWAP3
00001076: JUMPDEST
00001077: DUP3
00001078: DUP2
00001079: LT
0000107a: PUSH2 0x1085
0000107d: JUMPI
0000107e: POP
0000107f: POP
00001080: POP
00001081: POP
00001082: SUB
00001083: SWAP1
00001084: RETURN
00001085: JUMPDEST
00001086: DUP4
00001087: MLOAD
00001088: DUP6
00001089: MSTORE
0000108a: DUP7
0000108b: SWAP6
0000108c: POP
0000108d: SWAP4
0000108e: DUP2
0000108f: ADD
00001090: SWAP4
00001091: SWAP3
00001092: DUP2
00001093: ADD
00001094: SWAP3
00001095: PUSH1 0x01
00001097: ADD
00001098: PUSH2 0x1076
0000109b: JUMP
0000109c: JUMPDEST
0000109d: PUSH1 0x40
0000109f: MLOAD
000010a0: PUSH3 0x461bcd
000010a4: PUSH1 0xe5
000010a6: SHL
000010a7: DUP2
000010a8: MSTORE
000010a9: PUSH1 0x20
000010ab: PUSH1 0x04
000010ad: DUP3
000010ae: ADD
000010af: MSTORE
000010b0: PUSH1 0x15
000010b2: PUSH1 0x24
000010b4: DUP3
000010b5: ADD
000010b6: MSTORE
000010b7: PUSH21 0x1152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959
000010cd: PUSH1 0x5a
000010cf: SHL
000010d0: PUSH1 0x44
000010d2: DUP3
000010d3: ADD
000010d4: MSTORE
000010d5: PUSH1 0x64
000010d7: SWAP1
000010d8: REVERT
000010d9: JUMPDEST
000010da: POP
000010db: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101
000010fc: SLOAD
000010fd: ISZERO
000010fe: PUSH2 0x0fde
00001101: JUMP
00001102: JUMPDEST
00001103: POP
00001104: CALLVALUE
00001105: PUSH2 0x0219
00001108: JUMPI
00001109: DUP1
0000110a: PUSH1 0x03
0000110c: NOT
0000110d: CALLDATASIZE
0000110e: ADD
0000110f: SLT
00001110: PUSH2 0x0219
00001113: JUMPI
00001114: PUSH2 0x111b
00001117: PUSH2 0x22dd
0000111a: JUMP
0000111b: JUMPDEST
0000111c: PUSH1 0x00
0000111e: DUP1
0000111f: MLOAD
00001120: PUSH1 0x20
00001122: PUSH2 0x27a5
00001125: DUP4
00001126: CODECOPY
00001127: DUP2
00001128: MLOAD
00001129: SWAP2
0000112a: MSTORE
0000112b: DUP1
0000112c: SLOAD
0000112d: PUSH1 0x01
0000112f: PUSH1 0x01
00001131: PUSH1 0xa0
00001133: SHL
00001134: SUB
00001135: NOT
00001136: DUP2
00001137: AND
00001138: SWAP1
00001139: SWAP2
0000113a: SSTORE
0000113b: PUSH1 0x00
0000113d: SWAP1
0000113e: PUSH1 0x01
00001140: PUSH1 0x01
00001142: PUSH1 0xa0
00001144: SHL
00001145: SUB
00001146: AND
00001147: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001168: DUP3
00001169: DUP1
0000116a: LOG3
0000116b: DUP1
0000116c: RETURN
0000116d: JUMPDEST
0000116e: POP
0000116f: CALLVALUE
00001170: PUSH2 0x0219
00001173: JUMPI
00001174: PUSH1 0x40
00001176: CALLDATASIZE
00001177: PUSH1 0x03
00001179: NOT
0000117a: ADD
0000117b: SLT
0000117c: PUSH2 0x0219
0000117f: JUMPI
00001180: PUSH2 0x1187
00001183: PUSH2 0x1edf
00001186: JUMP
00001187: JUMPDEST
00001188: ADDRESS
00001189: CALLER
0000118a: SUB
0000118b: PUSH2 0x069a
0000118e: JUMPI
0000118f: PUSH2 0x03b1
00001192: SWAP1
00001193: PUSH1 0x24
00001195: CALLDATALOAD
00001196: SWAP1
00001197: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000011b8: PUSH1 0x01
000011ba: PUSH1 0x01
000011bc: PUSH1 0xa0
000011be: SHL
000011bf: SUB
000011c0: AND
000011c1: PUSH2 0x229a
000011c4: JUMP
000011c5: JUMPDEST
000011c6: POP
000011c7: CALLVALUE
000011c8: PUSH2 0x0219
000011cb: JUMPI
000011cc: PUSH1 0x20
000011ce: CALLDATASIZE
000011cf: PUSH1 0x03
000011d1: NOT
000011d2: ADD
000011d3: SLT
000011d4: PUSH2 0x0219
000011d7: JUMPI
000011d8: PUSH2 0x11df
000011db: PUSH2 0x1f1e
000011de: JUMP
000011df: JUMPDEST
000011e0: PUSH2 0x11e7
000011e3: PUSH2 0x22dd
000011e6: JUMP
000011e7: JUMPDEST
000011e8: DUP2
000011e9: SLOAD
000011ea: PUSH1 0xff
000011ec: DUP2
000011ed: AND
000011ee: PUSH2 0x11f6
000011f1: DUP2
000011f2: PUSH2 0x2012
000011f5: JUMP
000011f6: JUMPDEST
000011f7: PUSH1 0x01
000011f9: DUP2
000011fa: EQ
000011fb: ISZERO
000011fc: SWAP1
000011fd: DUP2
000011fe: PUSH2 0x1307
00001201: JUMPI
00001202: JUMPDEST
00001203: POP
00001204: PUSH2 0x12f5
00001207: JUMPI
00001208: PUSH1 0xff
0000120a: NOT
0000120b: AND
0000120c: DUP3
0000120d: SSTORE
0000120e: PUSH1 0x40
00001210: MLOAD
00001211: PUSH4 0xfc8b55c7
00001216: PUSH1 0xe0
00001218: SHL
00001219: PUSH1 0x20
0000121b: DUP3
0000121c: ADD
0000121d: MSTORE
0000121e: PUSH1 0x04
00001220: DUP2
00001221: MSTORE
00001222: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
00001243: PUSH1 0x01
00001245: PUSH1 0x01
00001247: PUSH1 0xa0
00001249: SHL
0000124a: SUB
0000124b: AND
0000124c: SWAP2
0000124d: DUP4
0000124e: SWAP2
0000124f: PUSH2 0x1257
00001252: DUP2
00001253: PUSH2 0x1f44
00001256: JUMP
00001257: JUMPDEST
00001258: DUP4
00001259: EXTCODESIZE
0000125a: ISZERO
0000125b: PUSH2 0x035c
0000125e: JUMPI
0000125f: PUSH1 0x40
00001261: MLOAD
00001262: PUSH4 0x3dbb202b
00001267: PUSH1 0xe0
00001269: SHL
0000126a: DUP2
0000126b: MSTORE
0000126c: SWAP2
0000126d: DUP4
0000126e: SWAP2
0000126f: DUP4
00001270: SWAP2
00001271: DUP3
00001272: SWAP2
00001273: PUSH2 0x12a1
00001276: SWAP2
00001277: SWAP1
00001278: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
00001299: PUSH1 0x04
0000129b: DUP6
0000129c: ADD
0000129d: PUSH2 0x2069
000012a0: JUMP
000012a1: JUMPDEST
000012a2: SUB
000012a3: DUP2
000012a4: DUP4
000012a5: DUP8
000012a6: GAS
000012a7: CALL
000012a8: DUP1
000012a9: ISZERO
000012aa: PUSH2 0x0351
000012ad: JUMPI
000012ae: PUSH2 0x12e1
000012b1: JUMPI
000012b2: JUMPDEST
000012b3: POP
000012b4: PUSH32 0xf1e9473f25478fe3af97fb26517a1882c3addc66e942ce3c98a2aeffaec54a58
000012d5: PUSH1 0x20
000012d7: DUP4
000012d8: PUSH1 0x40
000012da: MLOAD
000012db: SWAP1
000012dc: DUP2
000012dd: MSTORE
000012de: LOG1
000012df: DUP1
000012e0: RETURN
000012e1: JUMPDEST
000012e2: PUSH2 0x12ea
000012e5: SWAP1
000012e6: PUSH2 0x1f31
000012e9: JUMP
000012ea: JUMPDEST
000012eb: PUSH2 0x034d
000012ee: JUMPI
000012ef: DUP2
000012f0: CODESIZE
000012f1: PUSH2 0x12b2
000012f4: JUMP
000012f5: JUMPDEST
000012f6: PUSH1 0x40
000012f8: MLOAD
000012f9: PUSH4 0x7812aefb
000012fe: PUSH1 0xe1
00001300: SHL
00001301: DUP2
00001302: MSTORE
00001303: PUSH1 0x04
00001305: SWAP1
00001306: REVERT
00001307: JUMPDEST
00001308: SWAP1
00001309: POP
0000130a: PUSH2 0x1312
0000130d: DUP2
0000130e: PUSH2 0x2012
00001311: JUMP
00001312: JUMPDEST
00001313: ISZERO
00001314: ISZERO
00001315: CODESIZE
00001316: PUSH2 0x1202
00001319: JUMP
0000131a: JUMPDEST
0000131b: POP
0000131c: CALLVALUE
0000131d: PUSH2 0x0219
00001320: JUMPI
00001321: PUSH1 0x40
00001323: CALLDATASIZE
00001324: PUSH1 0x03
00001326: NOT
00001327: ADD
00001328: SLT
00001329: PUSH2 0x0219
0000132c: JUMPI
0000132d: PUSH1 0x20
0000132f: SWAP1
00001330: PUSH1 0xff
00001332: SWAP1
00001333: PUSH1 0x40
00001335: SWAP1
00001336: PUSH1 0x01
00001338: PUSH1 0x01
0000133a: PUSH1 0xa0
0000133c: SHL
0000133d: SUB
0000133e: PUSH2 0x1345
00001341: PUSH2 0x1edf
00001344: JUMP
00001345: JUMPDEST
00001346: AND
00001347: DUP2
00001348: MSTORE
00001349: PUSH1 0x01
0000134b: DUP5
0000134c: MSTORE
0000134d: DUP2
0000134e: DUP2
0000134f: KECCAK256
00001350: PUSH1 0x24
00001352: CALLDATALOAD
00001353: DUP3
00001354: MSTORE
00001355: DUP5
00001356: MSTORE
00001357: KECCAK256
00001358: SLOAD
00001359: AND
0000135a: PUSH1 0x40
0000135c: MLOAD
0000135d: SWAP1
0000135e: ISZERO
0000135f: ISZERO
00001360: DUP2
00001361: MSTORE
00001362: RETURN
00001363: JUMPDEST
00001364: POP
00001365: CALLVALUE
00001366: PUSH2 0x0219
00001369: JUMPI
0000136a: DUP1
0000136b: PUSH1 0x03
0000136d: NOT
0000136e: CALLDATASIZE
0000136f: ADD
00001370: SLT
00001371: PUSH2 0x0219
00001374: JUMPI
00001375: PUSH32 0x000000000000000000000000cff35e3c0b8d197a6ce10802cd649fbb9957da07
00001396: PUSH1 0x01
00001398: PUSH1 0x01
0000139a: PUSH1 0xa0
0000139c: SHL
0000139d: SUB
0000139e: AND
0000139f: ADDRESS
000013a0: SUB
000013a1: PUSH2 0x13ce
000013a4: JUMPI
000013a5: PUSH1 0x20
000013a7: PUSH1 0x40
000013a9: MLOAD
000013aa: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000013cb: DUP2
000013cc: MSTORE
000013cd: RETURN
000013ce: JUMPDEST
000013cf: PUSH1 0x40
000013d1: MLOAD
000013d2: PUSH4 0x703e46dd
000013d7: PUSH1 0xe1
000013d9: SHL
000013da: DUP2
000013db: MSTORE
000013dc: PUSH1 0x04
000013de: SWAP1
000013df: REVERT
000013e0: JUMPDEST
000013e1: POP
000013e2: CALLVALUE
000013e3: PUSH2 0x0219
000013e6: JUMPI
000013e7: PUSH1 0x40
000013e9: CALLDATASIZE
000013ea: PUSH1 0x03
000013ec: NOT
000013ed: ADD
000013ee: SLT
000013ef: PUSH2 0x0219
000013f2: JUMPI
000013f3: PUSH2 0x13fa
000013f6: PUSH2 0x1edf
000013f9: JUMP
000013fa: JUMPDEST
000013fb: PUSH1 0x24
000013fd: CALLDATALOAD
000013fe: SWAP1
000013ff: PUSH1 0x01
00001401: PUSH1 0x01
00001403: PUSH1 0xa0
00001405: SHL
00001406: SUB
00001407: SWAP1
00001408: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
00001429: DUP3
0000142a: AND
0000142b: CALLER
0000142c: DUP2
0000142d: EQ
0000142e: DUP1
0000142f: ISZERO
00001430: SWAP2
00001431: SWAP1
00001432: PUSH2 0x14c0
00001435: JUMPI
00001436: JUMPDEST
00001437: POP
00001438: PUSH2 0x069a
0000143b: JUMPI
0000143c: PUSH1 0x03
0000143e: PUSH1 0xff
00001440: DUP6
00001441: SLOAD
00001442: AND
00001443: PUSH2 0x144b
00001446: DUP2
00001447: PUSH2 0x2012
0000144a: JUMP
0000144b: JUMPDEST
0000144c: SUB
0000144d: PUSH2 0x14ae
00001450: JUMPI
00001451: DUP2
00001452: DUP2
00001453: PUSH2 0x14a2
00001456: DUP6
00001457: PUSH1 0x20
00001459: SWAP5
0000145a: PUSH32 0xc47b52177930ba2672bfc1f75da55cf82adb3c61c2df74e28bdfefbf52ae9e05
0000147b: SWAP7
0000147c: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000149d: AND
0000149e: PUSH2 0x229a
000014a1: JUMP
000014a2: JUMPDEST
000014a3: PUSH1 0x40
000014a5: MLOAD
000014a6: SWAP5
000014a7: DUP6
000014a8: MSTORE
000014a9: AND
000014aa: SWAP3
000014ab: LOG2
000014ac: DUP1
000014ad: RETURN
000014ae: JUMPDEST
000014af: PUSH1 0x40
000014b1: MLOAD
000014b2: PUSH4 0x9e76a5b9
000014b7: PUSH1 0xe0
000014b9: SHL
000014ba: DUP2
000014bb: MSTORE
000014bc: PUSH1 0x04
000014be: SWAP1
000014bf: REVERT
000014c0: JUMPDEST
000014c1: PUSH1 0x40
000014c3: MLOAD
000014c4: PUSH4 0x6e296e45
000014c9: PUSH1 0xe0
000014cb: SHL
000014cc: DUP2
000014cd: MSTORE
000014ce: SWAP2
000014cf: POP
000014d0: PUSH1 0x20
000014d2: SWAP1
000014d3: DUP3
000014d4: SWAP1
000014d5: PUSH1 0x04
000014d7: SWAP1
000014d8: DUP3
000014d9: SWAP1
000014da: GAS
000014db: STATICCALL
000014dc: SWAP1
000014dd: DUP2
000014de: ISZERO
000014df: PUSH2 0x1536
000014e2: JUMPI
000014e3: DUP6
000014e4: SWAP2
000014e5: PUSH2 0x1517
000014e8: JUMPI
000014e9: JUMPDEST
000014ea: POP
000014eb: DUP3
000014ec: AND
000014ed: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
0000150e: DUP4
0000150f: AND
00001510: EQ
00001511: ISZERO
00001512: CODESIZE
00001513: PUSH2 0x1436
00001516: JUMP
00001517: JUMPDEST
00001518: PUSH2 0x1530
0000151b: SWAP2
0000151c: POP
0000151d: PUSH1 0x20
0000151f: RETURNDATASIZE
00001520: PUSH1 0x20
00001522: GT
00001523: PUSH2 0x072e
00001526: JUMPI
00001527: PUSH2 0x071f
0000152a: DUP2
0000152b: DUP4
0000152c: PUSH2 0x1f5f
0000152f: JUMP
00001530: JUMPDEST
00001531: CODESIZE
00001532: PUSH2 0x14e9
00001535: JUMP
00001536: JUMPDEST
00001537: PUSH1 0x40
00001539: MLOAD
0000153a: RETURNDATASIZE
0000153b: DUP8
0000153c: DUP3
0000153d: RETURNDATACOPY
0000153e: RETURNDATASIZE
0000153f: SWAP1
00001540: REVERT
00001541: JUMPDEST
00001542: POP
00001543: PUSH1 0x40
00001545: CALLDATASIZE
00001546: PUSH1 0x03
00001548: NOT
00001549: ADD
0000154a: SLT
0000154b: PUSH2 0x0219
0000154e: JUMPI
0000154f: PUSH2 0x1556
00001552: PUSH2 0x1edf
00001555: JUMP
00001556: JUMPDEST
00001557: PUSH1 0x24
00001559: CALLDATALOAD
0000155a: PUSH1 0x01
0000155c: PUSH1 0x01
0000155e: PUSH1 0x40
00001560: SHL
00001561: SUB
00001562: DUP2
00001563: GT
00001564: PUSH2 0x035c
00001567: JUMPI
00001568: CALLDATASIZE
00001569: PUSH1 0x23
0000156b: DUP3
0000156c: ADD
0000156d: SLT
0000156e: ISZERO
0000156f: PUSH2 0x035c
00001572: JUMPI
00001573: PUSH2 0x1586
00001576: SWAP1
00001577: CALLDATASIZE
00001578: SWAP1
00001579: PUSH1 0x24
0000157b: DUP2
0000157c: PUSH1 0x04
0000157e: ADD
0000157f: CALLDATALOAD
00001580: SWAP2
00001581: ADD
00001582: PUSH2 0x1f9b
00001585: JUMP
00001586: JUMPDEST
00001587: PUSH1 0x01
00001589: PUSH1 0x01
0000158b: PUSH1 0xa0
0000158d: SHL
0000158e: SUB
0000158f: PUSH32 0x000000000000000000000000cff35e3c0b8d197a6ce10802cd649fbb9957da07
000015b0: DUP2
000015b1: AND
000015b2: ADDRESS
000015b3: DUP2
000015b4: EQ
000015b5: SWAP1
000015b6: DUP2
000015b7: ISZERO
000015b8: PUSH2 0x171e
000015bb: JUMPI
000015bc: JUMPDEST
000015bd: POP
000015be: PUSH2 0x13ce
000015c1: JUMPI
000015c2: PUSH2 0x15c9
000015c5: PUSH2 0x22dd
000015c8: JUMP
000015c9: JUMPDEST
000015ca: DUP3
000015cb: AND
000015cc: SWAP2
000015cd: PUSH1 0x40
000015cf: MLOAD
000015d0: PUSH4 0x52d1902d
000015d5: PUSH1 0xe0
000015d7: SHL
000015d8: DUP2
000015d9: MSTORE
000015da: PUSH1 0x20
000015dc: DUP2
000015dd: PUSH1 0x04
000015df: DUP2
000015e0: DUP8
000015e1: GAS
000015e2: STATICCALL
000015e3: DUP6
000015e4: SWAP2
000015e5: DUP2
000015e6: PUSH2 0x16ea
000015e9: JUMPI
000015ea: JUMPDEST
000015eb: POP
000015ec: PUSH2 0x1608
000015ef: JUMPI
000015f0: PUSH1 0x40
000015f2: MLOAD
000015f3: PUSH4 0x4c9c8ce3
000015f8: PUSH1 0xe0
000015fa: SHL
000015fb: DUP2
000015fc: MSTORE
000015fd: PUSH1 0x04
000015ff: DUP2
00001600: ADD
00001601: DUP6
00001602: SWAP1
00001603: MSTORE
00001604: PUSH1 0x24
00001606: SWAP1
00001607: REVERT
00001608: JUMPDEST
00001609: SWAP3
0000160a: DUP5
0000160b: SWAP4
0000160c: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000162d: SWAP1
0000162e: DUP2
0000162f: DUP2
00001630: SUB
00001631: PUSH2 0x16d2
00001634: JUMPI
00001635: POP
00001636: DUP3
00001637: EXTCODESIZE
00001638: ISZERO
00001639: PUSH2 0x16b9
0000163c: JUMPI
0000163d: DUP1
0000163e: SLOAD
0000163f: PUSH1 0x01
00001641: PUSH1 0x01
00001643: PUSH1 0xa0
00001645: SHL
00001646: SUB
00001647: NOT
00001648: AND
00001649: DUP3
0000164a: OR
0000164b: SWAP1
0000164c: SSTORE
0000164d: PUSH1 0x40
0000164f: MLOAD
00001650: DUP5
00001651: SWAP2
00001652: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00001673: DUP4
00001674: DUP1
00001675: LOG2
00001676: DUP4
00001677: MLOAD
00001678: ISZERO
00001679: PUSH2 0x169d
0000167c: JUMPI
0000167d: POP
0000167e: DUP1
0000167f: DUP4
00001680: PUSH1 0x20
00001682: PUSH2 0x1699
00001685: SWAP6
00001686: MLOAD
00001687: SWAP2
00001688: ADD
00001689: DUP5
0000168a: GAS
0000168b: DELEGATECALL
0000168c: PUSH2 0x1693
0000168f: PUSH2 0x25b2
00001692: JUMP
00001693: JUMPDEST
00001694: SWAP2
00001695: PUSH2 0x2672
00001698: JUMP
00001699: JUMPDEST
0000169a: POP
0000169b: DUP1
0000169c: RETURN
0000169d: JUMPDEST
0000169e: SWAP3
0000169f: POP
000016a0: POP
000016a1: POP
000016a2: CALLVALUE
000016a3: PUSH2 0x16aa
000016a6: JUMPI
000016a7: POP
000016a8: DUP1
000016a9: RETURN
000016aa: JUMPDEST
000016ab: PUSH4 0xb398979f
000016b0: PUSH1 0xe0
000016b2: SHL
000016b3: DUP2
000016b4: MSTORE
000016b5: PUSH1 0x04
000016b7: SWAP1
000016b8: REVERT
000016b9: JUMPDEST
000016ba: PUSH1 0x40
000016bc: MLOAD
000016bd: PUSH4 0x4c9c8ce3
000016c2: PUSH1 0xe0
000016c4: SHL
000016c5: DUP2
000016c6: MSTORE
000016c7: PUSH1 0x04
000016c9: DUP2
000016ca: ADD
000016cb: DUP4
000016cc: SWAP1
000016cd: MSTORE
000016ce: PUSH1 0x24
000016d0: SWAP1
000016d1: REVERT
000016d2: JUMPDEST
000016d3: PUSH1 0x24
000016d5: SWAP1
000016d6: PUSH1 0x40
000016d8: MLOAD
000016d9: SWAP1
000016da: PUSH4 0x2a875269
000016df: PUSH1 0xe2
000016e1: SHL
000016e2: DUP3
000016e3: MSTORE
000016e4: PUSH1 0x04
000016e6: DUP3
000016e7: ADD
000016e8: MSTORE
000016e9: REVERT
000016ea: JUMPDEST
000016eb: SWAP1
000016ec: SWAP2
000016ed: POP
000016ee: PUSH1 0x20
000016f0: DUP2
000016f1: RETURNDATASIZE
000016f2: PUSH1 0x20
000016f4: GT
000016f5: PUSH2 0x1716
000016f8: JUMPI
000016f9: JUMPDEST
000016fa: DUP2
000016fb: PUSH2 0x1706
000016fe: PUSH1 0x20
00001700: SWAP4
00001701: DUP4
00001702: PUSH2 0x1f5f
00001705: JUMP
00001706: JUMPDEST
00001707: DUP2
00001708: ADD
00001709: SUB
0000170a: SLT
0000170b: PUSH2 0x05de
0000170e: JUMPI
0000170f: MLOAD
00001710: SWAP1
00001711: CODESIZE
00001712: PUSH2 0x15ea
00001715: JUMP
00001716: JUMPDEST
00001717: RETURNDATASIZE
00001718: SWAP2
00001719: POP
0000171a: PUSH2 0x16f9
0000171d: JUMP
0000171e: JUMPDEST
0000171f: SWAP1
00001720: POP
00001721: DUP2
00001722: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00001743: SLOAD
00001744: AND
00001745: EQ
00001746: ISZERO
00001747: CODESIZE
00001748: PUSH2 0x15bc
0000174b: JUMP
0000174c: JUMPDEST
0000174d: POP
0000174e: CALLVALUE
0000174f: PUSH2 0x0219
00001752: JUMPI
00001753: PUSH1 0x60
00001755: CALLDATASIZE
00001756: PUSH1 0x03
00001758: NOT
00001759: ADD
0000175a: SLT
0000175b: PUSH2 0x0219
0000175e: JUMPI
0000175f: PUSH2 0x1766
00001762: PUSH2 0x1edf
00001765: JUMP
00001766: JUMPDEST
00001767: PUSH2 0x176e
0000176a: PUSH2 0x1f0b
0000176d: JUMP
0000176e: JUMPDEST
0000176f: PUSH1 0x01
00001771: PUSH1 0x01
00001773: PUSH1 0xa0
00001775: SHL
00001776: SUB
00001777: DUP3
00001778: DUP2
00001779: AND
0000177a: DUP1
0000177b: ISZERO
0000177c: PUSH2 0x05c2
0000177f: JUMPI
00001780: PUSH1 0x20
00001782: SWAP1
00001783: PUSH1 0x24
00001785: PUSH1 0x40
00001787: MLOAD
00001788: DUP1
00001789: SWAP5
0000178a: DUP2
0000178b: SWAP4
0000178c: PUSH4 0xfe575a87
00001791: PUSH1 0xe0
00001793: SHL
00001794: DUP4
00001795: MSTORE
00001796: PUSH1 0x04
00001798: DUP4
00001799: ADD
0000179a: MSTORE
0000179b: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000017bc: AND
000017bd: GAS
000017be: STATICCALL
000017bf: SWAP1
000017c0: DUP2
000017c1: ISZERO
000017c2: PUSH2 0x0735
000017c5: JUMPI
000017c6: DUP5
000017c7: SWAP2
000017c8: PUSH2 0x1803
000017cb: JUMPI
000017cc: JUMPDEST
000017cd: POP
000017ce: PUSH2 0x17f1
000017d1: JUMPI
000017d2: PUSH1 0xff
000017d4: DUP4
000017d5: SLOAD
000017d6: AND
000017d7: PUSH2 0x17df
000017da: DUP2
000017db: PUSH2 0x2012
000017de: JUMP
000017df: JUMPDEST
000017e0: PUSH2 0x0360
000017e3: JUMPI
000017e4: PUSH2 0x03b1
000017e7: SWAP2
000017e8: PUSH1 0x24
000017ea: CALLDATALOAD
000017eb: SWAP1
000017ec: CALLER
000017ed: PUSH2 0x210f
000017f0: JUMP
000017f1: JUMPDEST
000017f2: PUSH1 0x40
000017f4: MLOAD
000017f5: PUSH4 0x6e7fdaf7
000017fa: PUSH1 0xe1
000017fc: SHL
000017fd: DUP2
000017fe: MSTORE
000017ff: PUSH1 0x04
00001801: SWAP1
00001802: REVERT
00001803: JUMPDEST
00001804: PUSH2 0x1825
00001807: SWAP2
00001808: POP
00001809: PUSH1 0x20
0000180b: RETURNDATASIZE
0000180c: PUSH1 0x20
0000180e: GT
0000180f: PUSH2 0x182b
00001812: JUMPI
00001813: JUMPDEST
00001814: PUSH2 0x181d
00001817: DUP2
00001818: DUP4
00001819: PUSH2 0x1f5f
0000181c: JUMP
0000181d: JUMPDEST
0000181e: DUP2
0000181f: ADD
00001820: SWAP1
00001821: PUSH2 0x2032
00001824: JUMP
00001825: JUMPDEST
00001826: CODESIZE
00001827: PUSH2 0x17cc
0000182a: JUMP
0000182b: JUMPDEST
0000182c: POP
0000182d: RETURNDATASIZE
0000182e: PUSH2 0x1813
00001831: JUMP
00001832: JUMPDEST
00001833: POP
00001834: CALLVALUE
00001835: PUSH2 0x0219
00001838: JUMPI
00001839: DUP1
0000183a: PUSH1 0x03
0000183c: NOT
0000183d: CALLDATASIZE
0000183e: ADD
0000183f: SLT
00001840: PUSH2 0x0219
00001843: JUMPI
00001844: PUSH1 0x20
00001846: PUSH1 0x35
00001848: SLOAD
00001849: PUSH1 0x40
0000184b: MLOAD
0000184c: SWAP1
0000184d: DUP2
0000184e: MSTORE
0000184f: RETURN
00001850: JUMPDEST
00001851: POP
00001852: CALLVALUE
00001853: PUSH2 0x0219
00001856: JUMPI
00001857: DUP1
00001858: PUSH1 0x03
0000185a: NOT
0000185b: CALLDATASIZE
0000185c: ADD
0000185d: SLT
0000185e: PUSH2 0x0219
00001861: JUMPI
00001862: PUSH1 0x36
00001864: SLOAD
00001865: PUSH1 0x40
00001867: MLOAD
00001868: PUSH1 0x01
0000186a: PUSH1 0x01
0000186c: PUSH1 0xa0
0000186e: SHL
0000186f: SUB
00001870: SWAP1
00001871: SWAP2
00001872: AND
00001873: DUP2
00001874: MSTORE
00001875: PUSH1 0x20
00001877: SWAP1
00001878: RETURN
00001879: JUMPDEST
0000187a: POP
0000187b: CALLVALUE
0000187c: PUSH2 0x0219
0000187f: JUMPI
00001880: PUSH1 0x60
00001882: CALLDATASIZE
00001883: PUSH1 0x03
00001885: NOT
00001886: ADD
00001887: SLT
00001888: PUSH2 0x0219
0000188b: JUMPI
0000188c: PUSH2 0x1893
0000188f: PUSH2 0x1edf
00001892: JUMP
00001893: JUMPDEST
00001894: PUSH2 0x189b
00001897: PUSH2 0x1ef5
0000189a: JUMP
0000189b: JUMPDEST
0000189c: PUSH1 0x01
0000189e: PUSH1 0x01
000018a0: PUSH1 0xa0
000018a2: SHL
000018a3: SUB
000018a4: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
000018c5: DUP2
000018c6: AND
000018c7: SWAP3
000018c8: SWAP2
000018c9: PUSH1 0x44
000018cb: CALLDATALOAD
000018cc: SWAP1
000018cd: CALLER
000018ce: DUP6
000018cf: EQ
000018d0: DUP1
000018d1: ISZERO
000018d2: SWAP1
000018d3: PUSH2 0x19d6
000018d6: JUMPI
000018d7: JUMPDEST
000018d8: PUSH2 0x069a
000018db: JUMPI
000018dc: ADDRESS
000018dd: EXTCODESIZE
000018de: ISZERO
000018df: PUSH2 0x19d2
000018e2: JUMPI
000018e3: PUSH1 0x40
000018e5: MLOAD
000018e6: PUSH4 0x67bd044d
000018eb: PUSH1 0xe0
000018ed: SHL
000018ee: DUP2
000018ef: MSTORE
000018f0: PUSH1 0x01
000018f2: PUSH1 0x01
000018f4: PUSH1 0xa0
000018f6: SHL
000018f7: SUB
000018f8: DUP6
000018f9: AND
000018fa: PUSH1 0x04
000018fc: DUP3
000018fd: ADD
000018fe: MSTORE
000018ff: PUSH1 0x24
00001901: DUP2
00001902: ADD
00001903: DUP4
00001904: SWAP1
00001905: MSTORE
00001906: DUP7
00001907: DUP2
00001908: PUSH1 0x44
0000190a: DUP2
0000190b: DUP4
0000190c: ADDRESS
0000190d: GAS
0000190e: CALL
0000190f: SWAP1
00001910: DUP2
00001911: PUSH2 0x19bf
00001914: JUMPI
00001915: JUMPDEST
00001916: POP
00001917: PUSH2 0x1989
0000191a: JUMPI
0000191b: DUP3
0000191c: AND
0000191d: SWAP2
0000191e: DUP3
0000191f: DUP7
00001920: MSTORE
00001921: PUSH1 0x02
00001923: PUSH1 0x20
00001925: MSTORE
00001926: PUSH1 0x40
00001928: DUP7
00001929: KECCAK256
0000192a: SWAP4
0000192b: AND
0000192c: SWAP3
0000192d: DUP4
0000192e: PUSH1 0x00
00001930: MSTORE
00001931: PUSH1 0x20
00001933: MSTORE
00001934: PUSH1 0x40
00001936: PUSH1 0x00
00001938: KECCAK256
00001939: DUP1
0000193a: SLOAD
0000193b: SWAP1
0000193c: DUP3
0000193d: DUP3
0000193e: ADD
0000193f: DUP1
00001940: SWAP3
00001941: GT
00001942: PUSH2 0x1975
00001945: JUMPI
00001946: SSTORE
00001947: PUSH1 0x40
00001949: MLOAD
0000194a: SWAP1
0000194b: DUP2
0000194c: MSTORE
0000194d: PUSH32 0x57b0fa6deabbc9b92da071a794e0ee49fda25fca31a9e5a0336632a6731bda84
0000196e: SWAP1
0000196f: PUSH1 0x20
00001971: SWAP1
00001972: LOG4
00001973: DUP1
00001974: RETURN
00001975: JUMPDEST
00001976: PUSH4 0x4e487b71
0000197b: PUSH1 0xe0
0000197d: SHL
0000197e: DUP8
0000197f: MSTORE
00001980: PUSH1 0x11
00001982: PUSH1 0x04
00001984: MSTORE
00001985: PUSH1 0x24
00001987: DUP8
00001988: REVERT
00001989: JUMPDEST
0000198a: SWAP3
0000198b: DUP3
0000198c: PUSH32 0x6bf7034bf4a66e25fc097062a5aad392485138a48987ad77209e332e25359156
000019ad: SWAP3
000019ae: SWAP4
000019af: PUSH1 0x20
000019b1: SWAP3
000019b2: PUSH1 0x40
000019b4: MLOAD
000019b5: SWAP6
000019b6: DUP7
000019b7: MSTORE
000019b8: AND
000019b9: SWAP5
000019ba: AND
000019bb: SWAP3
000019bc: LOG4
000019bd: DUP1
000019be: RETURN
000019bf: JUMPDEST
000019c0: PUSH2 0x19cb
000019c3: SWAP1
000019c4: SWAP8
000019c5: SWAP2
000019c6: SWAP8
000019c7: PUSH2 0x1f31
000019ca: JUMP
000019cb: JUMPDEST
000019cc: SWAP6
000019cd: CODESIZE
000019ce: PUSH2 0x1915
000019d1: JUMP
000019d2: JUMPDEST
000019d3: DUP6
000019d4: DUP1
000019d5: REVERT
000019d6: JUMPDEST
000019d7: POP
000019d8: PUSH1 0x40
000019da: MLOAD
000019db: PUSH4 0x6e296e45
000019e0: PUSH1 0xe0
000019e2: SHL
000019e3: DUP2
000019e4: MSTORE
000019e5: PUSH1 0x20
000019e7: DUP2
000019e8: PUSH1 0x04
000019ea: DUP2
000019eb: DUP10
000019ec: GAS
000019ed: STATICCALL
000019ee: SWAP1
000019ef: DUP2
000019f0: ISZERO
000019f1: PUSH2 0x1a47
000019f4: JUMPI
000019f5: DUP8
000019f6: SWAP2
000019f7: PUSH2 0x1a28
000019fa: JUMPI
000019fb: JUMPDEST
000019fc: POP
000019fd: DUP4
000019fe: AND
000019ff: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
00001a20: DUP5
00001a21: AND
00001a22: EQ
00001a23: ISZERO
00001a24: PUSH2 0x18d7
00001a27: JUMP
00001a28: JUMPDEST
00001a29: PUSH2 0x1a41
00001a2c: SWAP2
00001a2d: POP
00001a2e: PUSH1 0x20
00001a30: RETURNDATASIZE
00001a31: PUSH1 0x20
00001a33: GT
00001a34: PUSH2 0x072e
00001a37: JUMPI
00001a38: PUSH2 0x071f
00001a3b: DUP2
00001a3c: DUP4
00001a3d: PUSH2 0x1f5f
00001a40: JUMP
00001a41: JUMPDEST
00001a42: CODESIZE
00001a43: PUSH2 0x19fb
00001a46: JUMP
00001a47: JUMPDEST
00001a48: PUSH1 0x40
00001a4a: MLOAD
00001a4b: RETURNDATASIZE
00001a4c: DUP10
00001a4d: DUP3
00001a4e: RETURNDATACOPY
00001a4f: RETURNDATASIZE
00001a50: SWAP1
00001a51: REVERT
00001a52: JUMPDEST
00001a53: POP
00001a54: CALLVALUE
00001a55: PUSH2 0x0219
00001a58: JUMPI
00001a59: DUP1
00001a5a: PUSH1 0x03
00001a5c: NOT
00001a5d: CALLDATASIZE
00001a5e: ADD
00001a5f: SLT
00001a60: PUSH2 0x0219
00001a63: JUMPI
00001a64: PUSH1 0x40
00001a66: MLOAD
00001a67: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
00001a88: PUSH1 0x01
00001a8a: PUSH1 0x01
00001a8c: PUSH1 0xa0
00001a8e: SHL
00001a8f: SUB
00001a90: AND
00001a91: DUP2
00001a92: MSTORE
00001a93: PUSH1 0x20
00001a95: SWAP1
00001a96: RETURN
00001a97: JUMPDEST
00001a98: SWAP1
00001a99: POP
00001a9a: CALLVALUE
00001a9b: PUSH2 0x034d
00001a9e: JUMPI
00001a9f: PUSH1 0xe0
00001aa1: CALLDATASIZE
00001aa2: PUSH1 0x03
00001aa4: NOT
00001aa5: ADD
00001aa6: SLT
00001aa7: PUSH2 0x034d
00001aaa: JUMPI
00001aab: PUSH2 0x1ab2
00001aae: PUSH2 0x1edf
00001ab1: JUMP
00001ab2: JUMPDEST
00001ab3: SWAP1
00001ab4: PUSH2 0x1abb
00001ab7: PUSH2 0x1ef5
00001aba: JUMP
00001abb: JUMPDEST
00001abc: SWAP1
00001abd: PUSH1 0x01
00001abf: PUSH1 0x01
00001ac1: PUSH1 0x40
00001ac3: SHL
00001ac4: SUB
00001ac5: PUSH1 0x64
00001ac7: CALLDATALOAD
00001ac8: GT
00001ac9: PUSH2 0x0593
00001acc: JUMPI
00001acd: CALLDATASIZE
00001ace: PUSH1 0x23
00001ad0: PUSH1 0x64
00001ad2: CALLDATALOAD
00001ad3: ADD
00001ad4: SLT
00001ad5: ISZERO
00001ad6: PUSH2 0x0593
00001ad9: JUMPI
00001ada: PUSH1 0x01
00001adc: PUSH1 0x01
00001ade: PUSH1 0x40
00001ae0: SHL
00001ae1: SUB
00001ae2: PUSH1 0x64
00001ae4: CALLDATALOAD
00001ae5: PUSH1 0x04
00001ae7: ADD
00001ae8: CALLDATALOAD
00001ae9: GT
00001aea: PUSH2 0x0593
00001aed: JUMPI
00001aee: CALLDATASIZE
00001aef: PUSH1 0x24
00001af1: PUSH1 0x64
00001af3: CALLDATALOAD
00001af4: PUSH1 0x04
00001af6: ADD
00001af7: CALLDATALOAD
00001af8: PUSH1 0x64
00001afa: CALLDATALOAD
00001afb: ADD
00001afc: ADD
00001afd: GT
00001afe: PUSH2 0x0593
00001b01: JUMPI
00001b02: PUSH4 0xffffffff
00001b07: PUSH1 0xc4
00001b09: CALLDATALOAD
00001b0a: AND
00001b0b: PUSH1 0xc4
00001b0d: CALLDATALOAD
00001b0e: SUB
00001b0f: PUSH2 0x0593
00001b12: JUMPI
00001b13: PUSH1 0x01
00001b15: PUSH1 0x01
00001b17: PUSH1 0xa0
00001b19: SHL
00001b1a: SUB
00001b1b: DUP3
00001b1c: AND
00001b1d: ISZERO
00001b1e: PUSH2 0x1ed0
00001b21: JUMPI
00001b22: POP
00001b23: PUSH1 0x40
00001b25: MLOAD
00001b26: PUSH4 0xfe575a87
00001b2b: PUSH1 0xe0
00001b2d: SHL
00001b2e: DUP2
00001b2f: MSTORE
00001b30: PUSH1 0x01
00001b32: PUSH1 0x01
00001b34: PUSH1 0xa0
00001b36: SHL
00001b37: SUB
00001b38: DUP3
00001b39: DUP2
00001b3a: AND
00001b3b: PUSH1 0x04
00001b3d: DUP4
00001b3e: ADD
00001b3f: MSTORE
00001b40: PUSH1 0x20
00001b42: SWAP1
00001b43: DUP3
00001b44: SWAP1
00001b45: PUSH1 0x24
00001b47: SWAP1
00001b48: DUP3
00001b49: SWAP1
00001b4a: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001b6b: AND
00001b6c: GAS
00001b6d: STATICCALL
00001b6e: SWAP1
00001b6f: DUP2
00001b70: ISZERO
00001b71: PUSH2 0x0735
00001b74: JUMPI
00001b75: DUP5
00001b76: SWAP2
00001b77: PUSH2 0x1eb1
00001b7a: JUMPI
00001b7b: JUMPDEST
00001b7c: POP
00001b7d: PUSH2 0x17f1
00001b80: JUMPI
00001b81: PUSH1 0xff
00001b83: DUP4
00001b84: SLOAD
00001b85: AND
00001b86: PUSH2 0x1b8e
00001b89: DUP2
00001b8a: PUSH2 0x2012
00001b8d: JUMP
00001b8e: JUMPDEST
00001b8f: PUSH2 0x0360
00001b92: JUMPI
00001b93: PUSH1 0x01
00001b95: PUSH1 0x01
00001b97: PUSH1 0xa0
00001b99: SHL
00001b9a: SUB
00001b9b: DUP3
00001b9c: AND
00001b9d: DUP4
00001b9e: MSTORE
00001b9f: PUSH1 0x01
00001ba1: PUSH1 0x20
00001ba3: SWAP1
00001ba4: DUP2
00001ba5: MSTORE
00001ba6: PUSH1 0x40
00001ba8: DUP1
00001ba9: DUP6
00001baa: KECCAK256
00001bab: PUSH1 0x84
00001bad: CALLDATALOAD
00001bae: DUP7
00001baf: MSTORE
00001bb0: SWAP1
00001bb1: SWAP2
00001bb2: MSTORE
00001bb3: DUP4
00001bb4: KECCAK256
00001bb5: SLOAD
00001bb6: PUSH1 0xff
00001bb8: AND
00001bb9: PUSH2 0x1e9f
00001bbc: JUMPI
00001bbd: PUSH1 0xa4
00001bbf: CALLDATALOAD
00001bc0: TIMESTAMP
00001bc1: GT
00001bc2: PUSH2 0x1e8d
00001bc5: JUMPI
00001bc6: PUSH1 0x40
00001bc8: MLOAD
00001bc9: DUP1
00001bca: PUSH1 0xa0
00001bcc: DUP2
00001bcd: ADD
00001bce: LT
00001bcf: PUSH1 0x01
00001bd1: PUSH1 0x01
00001bd3: PUSH1 0x40
00001bd5: SHL
00001bd6: SUB
00001bd7: PUSH1 0xa0
00001bd9: DUP4
00001bda: ADD
00001bdb: GT
00001bdc: OR
00001bdd: PUSH2 0x0aaa
00001be0: JUMPI
00001be1: PUSH1 0xa0
00001be3: DUP2
00001be4: ADD
00001be5: PUSH1 0x40
00001be7: MSTORE
00001be8: PUSH1 0x01
00001bea: DUP1
00001beb: PUSH1 0xa0
00001bed: SHL
00001bee: SUB
00001bef: DUP3
00001bf0: AND
00001bf1: DUP2
00001bf2: MSTORE
00001bf3: PUSH1 0x44
00001bf5: CALLDATALOAD
00001bf6: PUSH1 0x20
00001bf8: DUP3
00001bf9: ADD
00001bfa: MSTORE
00001bfb: PUSH1 0xa4
00001bfd: CALLDATALOAD
00001bfe: PUSH1 0x40
00001c00: DUP3
00001c01: ADD
00001c02: MSTORE
00001c03: PUSH1 0x84
00001c05: CALLDATALOAD
00001c06: PUSH1 0x60
00001c08: DUP3
00001c09: ADD
00001c0a: MSTORE
00001c0b: PUSH1 0x80
00001c0d: PUSH4 0xffffffff
00001c12: PUSH1 0xc4
00001c14: CALLDATALOAD
00001c15: AND
00001c16: SWAP2
00001c17: ADD
00001c18: MSTORE
00001c19: PUSH1 0x40
00001c1b: MLOAD
00001c1c: PUSH1 0x20
00001c1e: DUP2
00001c1f: ADD
00001c20: SWAP1
00001c21: PUSH32 0x87e4683aad14f1869b43140e06b846bd1b00c2e08e9825f6719d163b4cfef2a6
00001c42: DUP3
00001c43: MSTORE
00001c44: PUSH1 0x01
00001c46: DUP1
00001c47: PUSH1 0xa0
00001c49: SHL
00001c4a: SUB
00001c4b: DUP4
00001c4c: AND
00001c4d: PUSH1 0x40
00001c4f: DUP3
00001c50: ADD
00001c51: MSTORE
00001c52: PUSH1 0x44
00001c54: CALLDATALOAD
00001c55: PUSH1 0x60
00001c57: DUP3
00001c58: ADD
00001c59: MSTORE
00001c5a: PUSH1 0xa4
00001c5c: CALLDATALOAD
00001c5d: PUSH1 0x80
00001c5f: DUP3
00001c60: ADD
00001c61: MSTORE
00001c62: PUSH1 0x84
00001c64: CALLDATALOAD
00001c65: PUSH1 0xa0
00001c67: DUP3
00001c68: ADD
00001c69: MSTORE
00001c6a: PUSH4 0xffffffff
00001c6f: PUSH1 0xc4
00001c71: CALLDATALOAD
00001c72: AND
00001c73: PUSH1 0xc0
00001c75: DUP3
00001c76: ADD
00001c77: MSTORE
00001c78: PUSH1 0xc0
00001c7a: DUP2
00001c7b: MSTORE
00001c7c: PUSH1 0xe0
00001c7e: DUP2
00001c7f: ADD
00001c80: DUP2
00001c81: DUP2
00001c82: LT
00001c83: PUSH1 0x01
00001c85: PUSH1 0x01
00001c87: PUSH1 0x40
00001c89: SHL
00001c8a: SUB
00001c8b: DUP3
00001c8c: GT
00001c8d: OR
00001c8e: PUSH2 0x1e79
00001c91: JUMPI
00001c92: PUSH1 0x40
00001c94: MSTORE
00001c95: MLOAD
00001c96: SWAP1
00001c97: KECCAK256
00001c98: PUSH2 0x1cad
00001c9b: CALLDATASIZE
00001c9c: PUSH1 0x64
00001c9e: CALLDATALOAD
00001c9f: PUSH1 0x04
00001ca1: ADD
00001ca2: CALLDATALOAD
00001ca3: PUSH1 0x24
00001ca5: PUSH1 0x64
00001ca7: CALLDATALOAD
00001ca8: ADD
00001ca9: PUSH2 0x1f9b
00001cac: JUMP
00001cad: JUMPDEST
00001cae: SWAP1
00001caf: PUSH2 0x1cb6
00001cb2: PUSH2 0x26d5
00001cb5: JUMP
00001cb6: JUMPDEST
00001cb7: SWAP1
00001cb8: PUSH2 0x1cbf
00001cbb: PUSH2 0x273f
00001cbe: JUMP
00001cbf: JUMPDEST
00001cc0: PUSH1 0x40
00001cc2: MLOAD
00001cc3: SWAP1
00001cc4: PUSH1 0x20
00001cc6: DUP3
00001cc7: ADD
00001cc8: SWAP4
00001cc9: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
00001cea: DUP6
00001ceb: MSTORE
00001cec: PUSH1 0x40
00001cee: DUP4
00001cef: ADD
00001cf0: MSTORE
00001cf1: PUSH1 0x60
00001cf3: DUP3
00001cf4: ADD
00001cf5: MSTORE
00001cf6: CHAINID
00001cf7: PUSH1 0x80
00001cf9: DUP3
00001cfa: ADD
00001cfb: MSTORE
00001cfc: ADDRESS
00001cfd: PUSH1 0xa0
00001cff: DUP3
00001d00: ADD
00001d01: MSTORE
00001d02: PUSH1 0xa0
00001d04: DUP2
00001d05: MSTORE
00001d06: PUSH1 0xc0
00001d08: DUP2
00001d09: ADD
00001d0a: SWAP3
00001d0b: DUP2
00001d0c: DUP5
00001d0d: LT
00001d0e: PUSH1 0x01
00001d10: PUSH1 0x01
00001d12: PUSH1 0x40
00001d14: SHL
00001d15: SUB
00001d16: DUP6
00001d17: GT
00001d18: OR
00001d19: PUSH2 0x1e65
00001d1c: JUMPI
00001d1d: PUSH1 0x40
00001d1f: DUP5
00001d20: SWAP1
00001d21: MSTORE
00001d22: DUP2
00001d23: MLOAD
00001d24: SWAP1
00001d25: KECCAK256
00001d26: PUSH2 0x1901
00001d29: PUSH1 0xf0
00001d2b: SHL
00001d2c: DUP5
00001d2d: MSTORE
00001d2e: PUSH1 0xc2
00001d30: DUP3
00001d31: ADD
00001d32: MSTORE
00001d33: PUSH1 0xe2
00001d35: ADD
00001d36: MSTORE
00001d37: PUSH1 0x42
00001d39: SWAP1
00001d3a: KECCAK256
00001d3b: DUP5
00001d3c: PUSH2 0x1d45
00001d3f: DUP4
00001d40: DUP4
00001d41: PUSH2 0x2576
00001d44: JUMP
00001d45: JUMPDEST
00001d46: POP
00001d47: PUSH2 0x1d52
00001d4a: DUP2
00001d4b: SWAP6
00001d4c: SWAP3
00001d4d: SWAP6
00001d4e: PUSH2 0x2012
00001d51: JUMP
00001d52: JUMPDEST
00001d53: ISZERO
00001d54: SWAP4
00001d55: DUP5
00001d56: PUSH2 0x1e4f
00001d59: JUMPI
00001d5a: JUMPDEST
00001d5b: POP
00001d5c: DUP4
00001d5d: ISZERO
00001d5e: PUSH2 0x1dba
00001d61: JUMPI
00001d62: JUMPDEST
00001d63: POP
00001d64: POP
00001d65: POP
00001d66: ISZERO
00001d67: PUSH2 0x1da8
00001d6a: JUMPI
00001d6b: PUSH1 0x01
00001d6d: PUSH1 0x01
00001d6f: PUSH1 0xa0
00001d71: SHL
00001d72: SUB
00001d73: DUP3
00001d74: AND
00001d75: DUP4
00001d76: MSTORE
00001d77: PUSH1 0x01
00001d79: PUSH1 0x20
00001d7b: DUP2
00001d7c: DUP2
00001d7d: MSTORE
00001d7e: PUSH1 0x40
00001d80: DUP1
00001d81: DUP7
00001d82: KECCAK256
00001d83: PUSH1 0x84
00001d85: CALLDATALOAD
00001d86: DUP8
00001d87: MSTORE
00001d88: SWAP1
00001d89: SWAP2
00001d8a: MSTORE
00001d8b: DUP5
00001d8c: KECCAK256
00001d8d: DUP1
00001d8e: SLOAD
00001d8f: PUSH1 0xff
00001d91: NOT
00001d92: AND
00001d93: SWAP1
00001d94: SWAP2
00001d95: OR
00001d96: SWAP1
00001d97: SSTORE
00001d98: PUSH2 0x03b1
00001d9b: SWAP2
00001d9c: PUSH1 0xc4
00001d9e: CALLDATALOAD
00001d9f: SWAP2
00001da0: PUSH1 0x44
00001da2: CALLDATALOAD
00001da3: SWAP2
00001da4: PUSH2 0x210f
00001da7: JUMP
00001da8: JUMPDEST
00001da9: PUSH1 0x40
00001dab: MLOAD
00001dac: PUSH4 0x98ceb44f
00001db1: PUSH1 0xe0
00001db3: SHL
00001db4: DUP2
00001db5: MSTORE
00001db6: PUSH1 0x04
00001db8: SWAP1
00001db9: REVERT
00001dba: JUMPDEST
00001dbb: DUP2
00001dbc: SWAP3
00001dbd: SWAP4
00001dbe: POP
00001dbf: PUSH1 0x40
00001dc1: MLOAD
00001dc2: PUSH2 0x1dfd
00001dc5: DUP2
00001dc6: PUSH2 0x1def
00001dc9: PUSH1 0x20
00001dcb: DUP3
00001dcc: ADD
00001dcd: SWAP5
00001dce: PUSH4 0x0b135d3f
00001dd3: PUSH1 0xe1
00001dd5: SHL
00001dd6: SWAP9
00001dd7: DUP10
00001dd8: DUP8
00001dd9: MSTORE
00001dda: PUSH1 0x24
00001ddc: DUP5
00001ddd: ADD
00001dde: MSTORE
00001ddf: PUSH1 0x40
00001de1: PUSH1 0x44
00001de3: DUP5
00001de4: ADD
00001de5: MSTORE
00001de6: PUSH1 0x64
00001de8: DUP4
00001de9: ADD
00001dea: SWAP1
00001deb: PUSH2 0x1fd2
00001dee: JUMP
00001def: JUMPDEST
00001df0: SUB
00001df1: PUSH1 0x1f
00001df3: NOT
00001df4: DUP2
00001df5: ADD
00001df6: DUP4
00001df7: MSTORE
00001df8: DUP3
00001df9: PUSH2 0x1f5f
00001dfc: JUMP
00001dfd: JUMPDEST
00001dfe: MLOAD
00001dff: SWAP1
00001e00: DUP7
00001e01: GAS
00001e02: STATICCALL
00001e03: SWAP1
00001e04: PUSH2 0x1e0b
00001e07: PUSH2 0x25b2
00001e0a: JUMP
00001e0b: JUMPDEST
00001e0c: DUP3
00001e0d: PUSH2 0x1e41
00001e10: JUMPI
00001e11: JUMPDEST
00001e12: DUP3
00001e13: PUSH2 0x1e21
00001e16: JUMPI
00001e17: JUMPDEST
00001e18: POP
00001e19: POP
00001e1a: CODESIZE
00001e1b: DUP5
00001e1c: DUP2
00001e1d: PUSH2 0x1d62
00001e20: JUMP
00001e21: JUMPDEST
00001e22: SWAP1
00001e23: SWAP2
00001e24: POP
00001e25: PUSH1 0x20
00001e27: DUP2
00001e28: DUP1
00001e29: MLOAD
00001e2a: DUP2
00001e2b: ADD
00001e2c: SUB
00001e2d: SLT
00001e2e: PUSH2 0x1e3d
00001e31: JUMPI
00001e32: PUSH1 0x20
00001e34: ADD
00001e35: MLOAD
00001e36: EQ
00001e37: CODESIZE
00001e38: DUP1
00001e39: PUSH2 0x1e17
00001e3c: JUMP
00001e3d: JUMPDEST
00001e3e: DUP5
00001e3f: DUP1
00001e40: REVERT
00001e41: JUMPDEST
00001e42: SWAP2
00001e43: POP
00001e44: PUSH1 0x20
00001e46: DUP3
00001e47: MLOAD
00001e48: LT
00001e49: ISZERO
00001e4a: SWAP2
00001e4b: PUSH2 0x1e11
00001e4e: JUMP
00001e4f: JUMPDEST
00001e50: PUSH1 0x01
00001e52: PUSH1 0x01
00001e54: PUSH1 0xa0
00001e56: SHL
00001e57: SUB
00001e58: DUP8
00001e59: DUP2
00001e5a: AND
00001e5b: SWAP2
00001e5c: AND
00001e5d: EQ
00001e5e: SWAP4
00001e5f: POP
00001e60: CODESIZE
00001e61: PUSH2 0x1d5a
00001e64: JUMP
00001e65: JUMPDEST
00001e66: PUSH4 0x4e487b71
00001e6b: PUSH1 0xe0
00001e6d: SHL
00001e6e: DUP9
00001e6f: MSTORE
00001e70: PUSH1 0x41
00001e72: PUSH1 0x04
00001e74: MSTORE
00001e75: PUSH1 0x24
00001e77: DUP9
00001e78: REVERT
00001e79: JUMPDEST
00001e7a: PUSH4 0x4e487b71
00001e7f: PUSH1 0xe0
00001e81: SHL
00001e82: DUP7
00001e83: MSTORE
00001e84: PUSH1 0x41
00001e86: PUSH1 0x04
00001e88: MSTORE
00001e89: PUSH1 0x24
00001e8b: DUP7
00001e8c: REVERT
00001e8d: JUMPDEST
00001e8e: PUSH1 0x40
00001e90: MLOAD
00001e91: PUSH4 0x3c3c6677
00001e96: PUSH1 0xe0
00001e98: SHL
00001e99: DUP2
00001e9a: MSTORE
00001e9b: PUSH1 0x04
00001e9d: SWAP1
00001e9e: REVERT
00001e9f: JUMPDEST
00001ea0: PUSH1 0x40
00001ea2: MLOAD
00001ea3: PUSH4 0x08be5f9d
00001ea8: PUSH1 0xe3
00001eaa: SHL
00001eab: DUP2
00001eac: MSTORE
00001ead: PUSH1 0x04
00001eaf: SWAP1
00001eb0: REVERT
00001eb1: JUMPDEST
00001eb2: PUSH2 0x1eca
00001eb5: SWAP2
00001eb6: POP
00001eb7: PUSH1 0x20
00001eb9: RETURNDATASIZE
00001eba: PUSH1 0x20
00001ebc: GT
00001ebd: PUSH2 0x182b
00001ec0: JUMPI
00001ec1: PUSH2 0x181d
00001ec4: DUP2
00001ec5: DUP4
00001ec6: PUSH2 0x1f5f
00001ec9: JUMP
00001eca: JUMPDEST
00001ecb: CODESIZE
00001ecc: PUSH2 0x1b7b
00001ecf: JUMP
00001ed0: JUMPDEST
00001ed1: PUSH4 0x5432922d
00001ed6: PUSH1 0xe0
00001ed8: SHL
00001ed9: DUP2
00001eda: MSTORE
00001edb: PUSH1 0x04
00001edd: SWAP1
00001ede: REVERT
00001edf: JUMPDEST
00001ee0: PUSH1 0x04
00001ee2: CALLDATALOAD
00001ee3: SWAP1
00001ee4: PUSH1 0x01
00001ee6: PUSH1 0x01
00001ee8: PUSH1 0xa0
00001eea: SHL
00001eeb: SUB
00001eec: DUP3
00001eed: AND
00001eee: DUP3
00001eef: SUB
00001ef0: PUSH2 0x05de
00001ef3: JUMPI
00001ef4: JUMP
00001ef5: JUMPDEST
00001ef6: PUSH1 0x24
00001ef8: CALLDATALOAD
00001ef9: SWAP1
00001efa: PUSH1 0x01
00001efc: PUSH1 0x01
00001efe: PUSH1 0xa0
00001f00: SHL
00001f01: SUB
00001f02: DUP3
00001f03: AND
00001f04: DUP3
00001f05: SUB
00001f06: PUSH2 0x05de
00001f09: JUMPI
00001f0a: JUMP
00001f0b: JUMPDEST
00001f0c: PUSH1 0x44
00001f0e: CALLDATALOAD
00001f0f: SWAP1
00001f10: PUSH4 0xffffffff
00001f15: DUP3
00001f16: AND
00001f17: DUP3
00001f18: SUB
00001f19: PUSH2 0x05de
00001f1c: JUMPI
00001f1d: JUMP
00001f1e: JUMPDEST
00001f1f: PUSH1 0x04
00001f21: CALLDATALOAD
00001f22: SWAP1
00001f23: PUSH4 0xffffffff
00001f28: DUP3
00001f29: AND
00001f2a: DUP3
00001f2b: SUB
00001f2c: PUSH2 0x05de
00001f2f: JUMPI
00001f30: JUMP
00001f31: JUMPDEST
00001f32: PUSH1 0x01
00001f34: PUSH1 0x01
00001f36: PUSH1 0x40
00001f38: SHL
00001f39: SUB
00001f3a: DUP2
00001f3b: GT
00001f3c: PUSH2 0x0597
00001f3f: JUMPI
00001f40: PUSH1 0x40
00001f42: MSTORE
00001f43: JUMP
00001f44: JUMPDEST
00001f45: PUSH1 0x40
00001f47: DUP2
00001f48: ADD
00001f49: SWAP1
00001f4a: DUP2
00001f4b: LT
00001f4c: PUSH1 0x01
00001f4e: PUSH1 0x01
00001f50: PUSH1 0x40
00001f52: SHL
00001f53: SUB
00001f54: DUP3
00001f55: GT
00001f56: OR
00001f57: PUSH2 0x0597
00001f5a: JUMPI
00001f5b: PUSH1 0x40
00001f5d: MSTORE
00001f5e: JUMP
00001f5f: JUMPDEST
00001f60: SWAP1
00001f61: PUSH1 0x1f
00001f63: DUP1
00001f64: NOT
00001f65: SWAP2
00001f66: ADD
00001f67: AND
00001f68: DUP2
00001f69: ADD
00001f6a: SWAP1
00001f6b: DUP2
00001f6c: LT
00001f6d: PUSH1 0x01
00001f6f: PUSH1 0x01
00001f71: PUSH1 0x40
00001f73: SHL
00001f74: SUB
00001f75: DUP3
00001f76: GT
00001f77: OR
00001f78: PUSH2 0x0597
00001f7b: JUMPI
00001f7c: PUSH1 0x40
00001f7e: MSTORE
00001f7f: JUMP
00001f80: JUMPDEST
00001f81: PUSH1 0x01
00001f83: PUSH1 0x01
00001f85: PUSH1 0x40
00001f87: SHL
00001f88: SUB
00001f89: DUP2
00001f8a: GT
00001f8b: PUSH2 0x0597
00001f8e: JUMPI
00001f8f: PUSH1 0x1f
00001f91: ADD
00001f92: PUSH1 0x1f
00001f94: NOT
00001f95: AND
00001f96: PUSH1 0x20
00001f98: ADD
00001f99: SWAP1
00001f9a: JUMP
00001f9b: JUMPDEST
00001f9c: SWAP3
00001f9d: SWAP2
00001f9e: SWAP3
00001f9f: PUSH2 0x1fa7
00001fa2: DUP3
00001fa3: PUSH2 0x1f80
00001fa6: JUMP
00001fa7: JUMPDEST
00001fa8: SWAP2
00001fa9: PUSH2 0x1fb5
00001fac: PUSH1 0x40
00001fae: MLOAD
00001faf: SWAP4
00001fb0: DUP5
00001fb1: PUSH2 0x1f5f
00001fb4: JUMP
00001fb5: JUMPDEST
00001fb6: DUP3
00001fb7: SWAP5
00001fb8: DUP2
00001fb9: DUP5
00001fba: MSTORE
00001fbb: DUP2
00001fbc: DUP4
00001fbd: ADD
00001fbe: GT
00001fbf: PUSH2 0x05de
00001fc2: JUMPI
00001fc3: DUP3
00001fc4: DUP2
00001fc5: PUSH1 0x20
00001fc7: SWAP4
00001fc8: DUP5
00001fc9: PUSH1 0x00
00001fcb: SWAP7
00001fcc: ADD
00001fcd: CALLDATACOPY
00001fce: ADD
00001fcf: ADD
00001fd0: MSTORE
00001fd1: JUMP
00001fd2: JUMPDEST
00001fd3: SWAP2
00001fd4: SWAP1
00001fd5: DUP3
00001fd6: MLOAD
00001fd7: SWAP3
00001fd8: DUP4
00001fd9: DUP3
00001fda: MSTORE
00001fdb: PUSH1 0x00
00001fdd: JUMPDEST
00001fde: DUP5
00001fdf: DUP2
00001fe0: LT
00001fe1: PUSH2 0x1ffe
00001fe4: JUMPI
00001fe5: POP
00001fe6: POP
00001fe7: DUP3
00001fe8: PUSH1 0x00
00001fea: PUSH1 0x20
00001fec: DUP1
00001fed: SWAP5
00001fee: SWAP6
00001fef: DUP5
00001ff0: ADD
00001ff1: ADD
00001ff2: MSTORE
00001ff3: PUSH1 0x1f
00001ff5: DUP1
00001ff6: NOT
00001ff7: SWAP2
00001ff8: ADD
00001ff9: AND
00001ffa: ADD
00001ffb: ADD
00001ffc: SWAP1
00001ffd: JUMP
00001ffe: JUMPDEST
00001fff: PUSH1 0x20
00002001: DUP2
00002002: DUP4
00002003: ADD
00002004: DUP2
00002005: ADD
00002006: MLOAD
00002007: DUP5
00002008: DUP4
00002009: ADD
0000200a: DUP3
0000200b: ADD
0000200c: MSTORE
0000200d: ADD
0000200e: PUSH2 0x1fdd
00002011: JUMP
00002012: JUMPDEST
00002013: PUSH1 0x04
00002015: GT
00002016: ISZERO
00002017: PUSH2 0x201c
0000201a: JUMPI
0000201b: JUMP
0000201c: JUMPDEST
0000201d: PUSH4 0x4e487b71
00002022: PUSH1 0xe0
00002024: SHL
00002025: PUSH1 0x00
00002027: MSTORE
00002028: PUSH1 0x21
0000202a: PUSH1 0x04
0000202c: MSTORE
0000202d: PUSH1 0x24
0000202f: PUSH1 0x00
00002031: REVERT
00002032: JUMPDEST
00002033: SWAP1
00002034: DUP2
00002035: PUSH1 0x20
00002037: SWAP2
00002038: SUB
00002039: SLT
0000203a: PUSH2 0x05de
0000203d: JUMPI
0000203e: MLOAD
0000203f: DUP1
00002040: ISZERO
00002041: ISZERO
00002042: DUP2
00002043: SUB
00002044: PUSH2 0x05de
00002047: JUMPI
00002048: SWAP1
00002049: JUMP
0000204a: JUMPDEST
0000204b: SWAP1
0000204c: DUP2
0000204d: PUSH1 0x20
0000204f: SWAP2
00002050: SUB
00002051: SLT
00002052: PUSH2 0x05de
00002055: JUMPI
00002056: MLOAD
00002057: PUSH1 0x01
00002059: PUSH1 0x01
0000205b: PUSH1 0xa0
0000205d: SHL
0000205e: SUB
0000205f: DUP2
00002060: AND
00002061: DUP2
00002062: SUB
00002063: PUSH2 0x05de
00002066: JUMPI
00002067: SWAP1
00002068: JUMP
00002069: JUMPDEST
0000206a: SWAP2
0000206b: PUSH2 0x2094
0000206e: PUSH4 0xffffffff
00002073: SWAP2
00002074: PUSH1 0x40
00002076: SWAP4
00002077: SWAP7
00002078: SWAP6
00002079: SWAP7
0000207a: PUSH1 0x01
0000207c: DUP1
0000207d: PUSH1 0xa0
0000207f: SHL
00002080: SUB
00002081: AND
00002082: DUP6
00002083: MSTORE
00002084: PUSH1 0x60
00002086: PUSH1 0x20
00002088: DUP7
00002089: ADD
0000208a: MSTORE
0000208b: PUSH1 0x60
0000208d: DUP6
0000208e: ADD
0000208f: SWAP1
00002090: PUSH2 0x1fd2
00002093: JUMP
00002094: JUMPDEST
00002095: SWAP5
00002096: AND
00002097: SWAP2
00002098: ADD
00002099: MSTORE
0000209a: JUMP
0000209b: JUMPDEST
0000209c: PUSH1 0x01
0000209e: PUSH1 0x01
000020a0: PUSH1 0xa0
000020a2: SHL
000020a3: SUB
000020a4: SWAP1
000020a5: DUP2
000020a6: AND
000020a7: SWAP1
000020a8: DUP2
000020a9: ISZERO
000020aa: PUSH2 0x20f6
000020ad: JUMPI
000020ae: PUSH1 0x00
000020b0: DUP1
000020b1: MLOAD
000020b2: PUSH1 0x20
000020b4: PUSH2 0x27a5
000020b7: DUP4
000020b8: CODECOPY
000020b9: DUP2
000020ba: MLOAD
000020bb: SWAP2
000020bc: MSTORE
000020bd: DUP1
000020be: SLOAD
000020bf: PUSH1 0x01
000020c1: PUSH1 0x01
000020c3: PUSH1 0xa0
000020c5: SHL
000020c6: SUB
000020c7: NOT
000020c8: DUP2
000020c9: AND
000020ca: DUP5
000020cb: OR
000020cc: SWAP1
000020cd: SWAP2
000020ce: SSTORE
000020cf: AND
000020d0: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000020f1: PUSH1 0x00
000020f3: DUP1
000020f4: LOG3
000020f5: JUMP
000020f6: JUMPDEST
000020f7: PUSH1 0x40
000020f9: MLOAD
000020fa: PUSH4 0x1e4fbdf7
000020ff: PUSH1 0xe0
00002101: SHL
00002102: DUP2
00002103: MSTORE
00002104: PUSH1 0x00
00002106: PUSH1 0x04
00002108: DUP3
00002109: ADD
0000210a: MSTORE
0000210b: PUSH1 0x24
0000210d: SWAP1
0000210e: REVERT
0000210f: JUMPDEST
00002110: PUSH1 0x40
00002112: DUP1
00002113: MLOAD
00002114: PUSH4 0x23b872dd
00002119: PUSH1 0xe0
0000211b: SHL
0000211c: PUSH1 0x20
0000211e: DUP3
0000211f: ADD
00002120: MSTORE
00002121: PUSH1 0x01
00002123: PUSH1 0x01
00002125: PUSH1 0xa0
00002127: SHL
00002128: SUB
00002129: DUP4
0000212a: DUP2
0000212b: AND
0000212c: PUSH1 0x24
0000212e: DUP4
0000212f: ADD
00002130: MSTORE
00002131: ADDRESS
00002132: PUSH1 0x44
00002134: DUP4
00002135: ADD
00002136: MSTORE
00002137: PUSH1 0x64
00002139: DUP1
0000213a: DUP4
0000213b: ADD
0000213c: DUP8
0000213d: SWAP1
0000213e: MSTORE
0000213f: DUP3
00002140: MSTORE
00002141: PUSH1 0x1f
00002143: NOT
00002144: SWAP7
00002145: SWAP4
00002146: SWAP6
00002147: SWAP5
00002148: SWAP3
00002149: SWAP4
0000214a: SWAP1
0000214b: SWAP3
0000214c: SWAP2
0000214d: PUSH2 0x2183
00002150: SWAP1
00002151: PUSH2 0x215b
00002154: PUSH1 0x84
00002156: DUP3
00002157: PUSH2 0x1f5f
0000215a: JUMP
0000215b: JUMPDEST
0000215c: DUP5
0000215d: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000217e: AND
0000217f: PUSH2 0x24d5
00002182: JUMP
00002183: JUMPDEST
00002184: DUP4
00002185: MLOAD
00002186: PUSH4 0x32b3a987
0000218b: PUSH1 0xe0
0000218d: SHL
0000218e: PUSH1 0x20
00002190: DUP3
00002191: ADD
00002192: MSTORE
00002193: PUSH1 0x01
00002195: PUSH1 0x01
00002197: PUSH1 0xa0
00002199: SHL
0000219a: SUB
0000219b: DUP4
0000219c: DUP2
0000219d: AND
0000219e: PUSH1 0x24
000021a0: DUP4
000021a1: ADD
000021a2: MSTORE
000021a3: DUP8
000021a4: AND
000021a5: PUSH1 0x44
000021a7: DUP3
000021a8: ADD
000021a9: MSTORE
000021aa: PUSH1 0x64
000021ac: DUP2
000021ad: ADD
000021ae: DUP7
000021af: SWAP1
000021b0: MSTORE
000021b1: PUSH1 0x84
000021b3: SWAP8
000021b4: DUP9
000021b5: ADD
000021b6: DUP2
000021b7: MSTORE
000021b8: PUSH32 0x0000000000000000000000009cf951e3f74b644e621b36ca9cea147a78d4c39f
000021d9: DUP5
000021da: AND
000021db: SWAP8
000021dc: PUSH2 0x21e5
000021df: SWAP1
000021e0: DUP3
000021e1: PUSH2 0x1f5f
000021e4: JUMP
000021e5: JUMPDEST
000021e6: DUP8
000021e7: EXTCODESIZE
000021e8: ISZERO
000021e9: PUSH2 0x05de
000021ec: JUMPI
000021ed: PUSH1 0x00
000021ef: DUP3
000021f0: PUSH2 0x222e
000021f3: SWAP3
000021f4: DUP8
000021f5: MLOAD
000021f6: SWAP4
000021f7: DUP5
000021f8: SWAP3
000021f9: DUP4
000021fa: SWAP3
000021fb: PUSH4 0x3dbb202b
00002200: PUSH1 0xe0
00002202: SHL
00002203: DUP5
00002204: MSTORE
00002205: PUSH32 0x0000000000000000000000008be79275fcfd08a931087ecf70ba8a99aee3ac59
00002226: PUSH1 0x04
00002228: DUP6
00002229: ADD
0000222a: PUSH2 0x2069
0000222d: JUMP
0000222e: JUMPDEST
0000222f: SUB
00002230: DUP2
00002231: DUP4
00002232: DUP13
00002233: GAS
00002234: CALL
00002235: DUP1
00002236: ISZERO
00002237: PUSH2 0x228f
0000223a: JUMPI
0000223b: DUP5
0000223c: SWAP4
0000223d: SWAP2
0000223e: SWAP3
0000223f: PUSH32 0xb8fa5fd165287d2cb897cb3ee53488b768ead242c87070b349394d2639824d4c
00002260: SWAP7
00002261: SWAP6
00002262: SWAP4
00002263: PUSH4 0xffffffff
00002268: SWAP3
00002269: PUSH2 0x2280
0000226c: JUMPI
0000226d: JUMPDEST
0000226e: POP
0000226f: DUP6
00002270: MLOAD
00002271: SWAP8
00002272: DUP9
00002273: MSTORE
00002274: AND
00002275: PUSH1 0x20
00002277: DUP8
00002278: ADD
00002279: MSTORE
0000227a: AND
0000227b: SWAP5
0000227c: AND
0000227d: SWAP3
0000227e: LOG4
0000227f: JUMP
00002280: JUMPDEST
00002281: PUSH2 0x2289
00002284: SWAP1
00002285: PUSH2 0x1f31
00002288: JUMP
00002289: JUMPDEST
0000228a: CODESIZE
0000228b: PUSH2 0x226d
0000228e: JUMP
0000228f: JUMPDEST
00002290: DUP6
00002291: MLOAD
00002292: RETURNDATASIZE
00002293: PUSH1 0x00
00002295: DUP3
00002296: RETURNDATACOPY
00002297: RETURNDATASIZE
00002298: SWAP1
00002299: REVERT
0000229a: JUMPDEST
0000229b: PUSH1 0x40
0000229d: MLOAD
0000229e: PUSH4 0xa9059cbb
000022a3: PUSH1 0xe0
000022a5: SHL
000022a6: PUSH1 0x20
000022a8: DUP3
000022a9: ADD
000022aa: MSTORE
000022ab: PUSH1 0x01
000022ad: PUSH1 0x01
000022af: PUSH1 0xa0
000022b1: SHL
000022b2: SUB
000022b3: SWAP3
000022b4: SWAP1
000022b5: SWAP3
000022b6: AND
000022b7: PUSH1 0x24
000022b9: DUP4
000022ba: ADD
000022bb: MSTORE
000022bc: PUSH1 0x44
000022be: DUP1
000022bf: DUP4
000022c0: ADD
000022c1: SWAP4
000022c2: SWAP1
000022c3: SWAP4
000022c4: MSTORE
000022c5: SWAP2
000022c6: DUP2
000022c7: MSTORE
000022c8: PUSH2 0x22db
000022cb: SWAP2
000022cc: PUSH2 0x22d6
000022cf: PUSH1 0x64
000022d1: DUP4
000022d2: PUSH2 0x1f5f
000022d5: JUMP
000022d6: JUMPDEST
000022d7: PUSH2 0x24d5
000022da: JUMP
000022db: JUMPDEST
000022dc: JUMP
000022dd: JUMPDEST
000022de: PUSH1 0x00
000022e0: DUP1
000022e1: MLOAD
000022e2: PUSH1 0x20
000022e4: PUSH2 0x27a5
000022e7: DUP4
000022e8: CODECOPY
000022e9: DUP2
000022ea: MLOAD
000022eb: SWAP2
000022ec: MSTORE
000022ed: SLOAD
000022ee: PUSH1 0x01
000022f0: PUSH1 0x01
000022f2: PUSH1 0xa0
000022f4: SHL
000022f5: SUB
000022f6: AND
000022f7: CALLER
000022f8: SUB
000022f9: PUSH2 0x22fe
000022fc: JUMPI
000022fd: JUMP
000022fe: JUMPDEST
000022ff: PUSH1 0x40
00002301: MLOAD
00002302: PUSH4 0x118cdaa7
00002307: PUSH1 0xe0
00002309: SHL
0000230a: DUP2
0000230b: MSTORE
0000230c: CALLER
0000230d: PUSH1 0x04
0000230f: DUP3
00002310: ADD
00002311: MSTORE
00002312: PUSH1 0x24
00002314: SWAP1
00002315: REVERT
00002316: JUMPDEST
00002317: SWAP1
00002318: PUSH1 0x01
0000231a: DUP3
0000231b: DUP2
0000231c: SHR
0000231d: SWAP3
0000231e: AND
0000231f: DUP1
00002320: ISZERO
00002321: PUSH2 0x2346
00002324: JUMPI
00002325: JUMPDEST
00002326: PUSH1 0x20
00002328: DUP4
00002329: LT
0000232a: EQ
0000232b: PUSH2 0x2330
0000232e: JUMPI
0000232f: JUMP
00002330: JUMPDEST
00002331: PUSH4 0x4e487b71
00002336: PUSH1 0xe0
00002338: SHL
00002339: PUSH1 0x00
0000233b: MSTORE
0000233c: PUSH1 0x22
0000233e: PUSH1 0x04
00002340: MSTORE
00002341: PUSH1 0x24
00002343: PUSH1 0x00
00002345: REVERT
00002346: JUMPDEST
00002347: SWAP2
00002348: PUSH1 0x7f
0000234a: AND
0000234b: SWAP2
0000234c: PUSH2 0x2325
0000234f: JUMP
00002350: JUMPDEST
00002351: PUSH1 0x40
00002353: MLOAD
00002354: SWAP1
00002355: PUSH1 0x00
00002357: DUP3
00002358: PUSH1 0x00
0000235a: DUP1
0000235b: MLOAD
0000235c: PUSH1 0x20
0000235e: PUSH2 0x2785
00002361: DUP4
00002362: CODECOPY
00002363: DUP2
00002364: MLOAD
00002365: SWAP2
00002366: MSTORE
00002367: SWAP2
00002368: DUP3
00002369: SLOAD
0000236a: SWAP3
0000236b: PUSH2 0x2373
0000236e: DUP5
0000236f: PUSH2 0x2316
00002372: JUMP
00002373: JUMPDEST
00002374: DUP1
00002375: DUP5
00002376: MSTORE
00002377: SWAP4
00002378: PUSH1 0x20
0000237a: SWAP2
0000237b: PUSH1 0x01
0000237d: SWAP2
0000237e: DUP3
0000237f: DUP2
00002380: AND
00002381: SWAP1
00002382: DUP2
00002383: ISZERO
00002384: PUSH2 0x23ee
00002387: JUMPI
00002388: POP
00002389: PUSH1 0x01
0000238b: EQ
0000238c: PUSH2 0x239f
0000238f: JUMPI
00002390: JUMPDEST
00002391: POP
00002392: POP
00002393: POP
00002394: PUSH2 0x22db
00002397: SWAP3
00002398: POP
00002399: SUB
0000239a: DUP4
0000239b: PUSH2 0x1f5f
0000239e: JUMP
0000239f: JUMPDEST
000023a0: PUSH1 0x00
000023a2: SWAP1
000023a3: DUP2
000023a4: MSTORE
000023a5: PUSH1 0x00
000023a7: DUP1
000023a8: MLOAD
000023a9: PUSH1 0x20
000023ab: PUSH2 0x27c5
000023ae: DUP4
000023af: CODECOPY
000023b0: DUP2
000023b1: MLOAD
000023b2: SWAP2
000023b3: MSTORE
000023b4: SWAP6
000023b5: SWAP1
000023b6: SWAP4
000023b7: POP
000023b8: SWAP2
000023b9: SWAP1
000023ba: JUMPDEST
000023bb: DUP3
000023bc: DUP5
000023bd: LT
000023be: PUSH2 0x23d6
000023c1: JUMPI
000023c2: POP
000023c3: PUSH2 0x22db
000023c6: SWAP5
000023c7: POP
000023c8: POP
000023c9: POP
000023ca: DUP2
000023cb: ADD
000023cc: PUSH1 0x20
000023ce: ADD
000023cf: CODESIZE
000023d0: DUP1
000023d1: DUP1
000023d2: PUSH2 0x2390
000023d5: JUMP
000023d6: JUMPDEST
000023d7: DUP6
000023d8: SLOAD
000023d9: DUP9
000023da: DUP6
000023db: ADD
000023dc: DUP4
000023dd: ADD
000023de: MSTORE
000023df: SWAP5
000023e0: DUP6
000023e1: ADD
000023e2: SWAP5
000023e3: DUP8
000023e4: SWAP5
000023e5: POP
000023e6: SWAP3
000023e7: DUP2
000023e8: ADD
000023e9: SWAP3
000023ea: PUSH2 0x23ba
000023ed: JUMP
000023ee: JUMPDEST
000023ef: SWAP3
000023f0: POP
000023f1: POP
000023f2: POP
000023f3: PUSH1 0x20
000023f5: SWAP3
000023f6: POP
000023f7: PUSH2 0x22db
000023fa: SWAP5
000023fb: SWAP2
000023fc: POP
000023fd: PUSH1 0xff
000023ff: NOT
00002400: AND
00002401: DUP3
00002402: DUP5
00002403: ADD
00002404: MSTORE
00002405: ISZERO
00002406: ISZERO
00002407: PUSH1 0x05
00002409: SHL
0000240a: DUP3
0000240b: ADD
0000240c: ADD
0000240d: CODESIZE
0000240e: DUP1
0000240f: DUP1
00002410: PUSH2 0x2390
00002413: JUMP
00002414: JUMPDEST
00002415: PUSH1 0x40
00002417: MLOAD
00002418: SWAP1
00002419: PUSH1 0x00
0000241b: DUP3
0000241c: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103
0000243d: SWAP2
0000243e: DUP3
0000243f: SLOAD
00002440: SWAP3
00002441: PUSH2 0x2449
00002444: DUP5
00002445: PUSH2 0x2316
00002448: JUMP
00002449: JUMPDEST
0000244a: DUP1
0000244b: DUP5
0000244c: MSTORE
0000244d: SWAP4
0000244e: PUSH1 0x20
00002450: SWAP2
00002451: PUSH1 0x01
00002453: SWAP2
00002454: DUP3
00002455: DUP2
00002456: AND
00002457: SWAP1
00002458: DUP2
00002459: ISZERO
0000245a: PUSH2 0x23ee
0000245d: JUMPI
0000245e: POP
0000245f: PUSH1 0x01
00002461: EQ
00002462: PUSH2 0x2474
00002465: JUMPI
00002466: POP
00002467: POP
00002468: POP
00002469: PUSH2 0x22db
0000246c: SWAP3
0000246d: POP
0000246e: SUB
0000246f: DUP4
00002470: PUSH2 0x1f5f
00002473: JUMP
00002474: JUMPDEST
00002475: PUSH1 0x00
00002477: SWAP1
00002478: DUP2
00002479: MSTORE
0000247a: PUSH32 0x5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75
0000249b: SWAP6
0000249c: SWAP1
0000249d: SWAP4
0000249e: POP
0000249f: SWAP2
000024a0: SWAP1
000024a1: JUMPDEST
000024a2: DUP3
000024a3: DUP5
000024a4: LT
000024a5: PUSH2 0x24bd
000024a8: JUMPI
000024a9: POP
000024aa: PUSH2 0x22db
000024ad: SWAP5
000024ae: POP
000024af: POP
000024b0: POP
000024b1: DUP2
000024b2: ADD
000024b3: PUSH1 0x20
000024b5: ADD
000024b6: CODESIZE
000024b7: DUP1
000024b8: DUP1
000024b9: PUSH2 0x2390
000024bc: JUMP
000024bd: JUMPDEST
000024be: DUP6
000024bf: SLOAD
000024c0: DUP9
000024c1: DUP6
000024c2: ADD
000024c3: DUP4
000024c4: ADD
000024c5: MSTORE
000024c6: SWAP5
000024c7: DUP6
000024c8: ADD
000024c9: SWAP5
000024ca: DUP8
000024cb: SWAP5
000024cc: POP
000024cd: SWAP3
000024ce: DUP2
000024cf: ADD
000024d0: SWAP3
000024d1: PUSH2 0x24a1
000024d4: JUMP
000024d5: JUMPDEST
000024d6: PUSH1 0x00
000024d8: DUP1
000024d9: PUSH2 0x24fe
000024dc: SWAP3
000024dd: PUSH1 0x01
000024df: DUP1
000024e0: PUSH1 0xa0
000024e2: SHL
000024e3: SUB
000024e4: AND
000024e5: SWAP4
000024e6: PUSH1 0x20
000024e8: DUP2
000024e9: MLOAD
000024ea: SWAP2
000024eb: ADD
000024ec: DUP3
000024ed: DUP7
000024ee: GAS
000024ef: CALL
000024f0: PUSH2 0x24f7
000024f3: PUSH2 0x25b2
000024f6: JUMP
000024f7: JUMPDEST
000024f8: SWAP1
000024f9: DUP4
000024fa: PUSH2 0x2672
000024fd: JUMP
000024fe: JUMPDEST
000024ff: DUP1
00002500: MLOAD
00002501: SWAP1
00002502: DUP2
00002503: ISZERO
00002504: ISZERO
00002505: SWAP2
00002506: DUP3
00002507: PUSH2 0x252c
0000250a: JUMPI
0000250b: JUMPDEST
0000250c: POP
0000250d: POP
0000250e: PUSH2 0x2514
00002511: JUMPI
00002512: POP
00002513: JUMP
00002514: JUMPDEST
00002515: PUSH1 0x24
00002517: SWAP1
00002518: PUSH1 0x40
0000251a: MLOAD
0000251b: SWAP1
0000251c: PUSH4 0x5274afe7
00002521: PUSH1 0xe0
00002523: SHL
00002524: DUP3
00002525: MSTORE
00002526: PUSH1 0x04
00002528: DUP3
00002529: ADD
0000252a: MSTORE
0000252b: REVERT
0000252c: JUMPDEST
0000252d: PUSH2 0x253f
00002530: SWAP3
00002531: POP
00002532: PUSH1 0x20
00002534: DUP1
00002535: SWAP2
00002536: DUP4
00002537: ADD
00002538: ADD
00002539: SWAP2
0000253a: ADD
0000253b: PUSH2 0x2032
0000253e: JUMP
0000253f: JUMPDEST
00002540: ISZERO
00002541: CODESIZE
00002542: DUP1
00002543: PUSH2 0x250b
00002546: JUMP
00002547: JUMPDEST
00002548: PUSH1 0xff
0000254a: PUSH1 0x00
0000254c: DUP1
0000254d: MLOAD
0000254e: PUSH1 0x20
00002550: PUSH2 0x27e5
00002553: DUP4
00002554: CODECOPY
00002555: DUP2
00002556: MLOAD
00002557: SWAP2
00002558: MSTORE
00002559: SLOAD
0000255a: PUSH1 0x40
0000255c: SHR
0000255d: AND
0000255e: ISZERO
0000255f: PUSH2 0x2564
00002562: JUMPI
00002563: JUMP
00002564: JUMPDEST
00002565: PUSH1 0x40
00002567: MLOAD
00002568: PUSH4 0x1afcd79f
0000256d: PUSH1 0xe3
0000256f: SHL
00002570: DUP2
00002571: MSTORE
00002572: PUSH1 0x04
00002574: SWAP1
00002575: REVERT
00002576: JUMPDEST
00002577: DUP2
00002578: MLOAD
00002579: SWAP2
0000257a: SWAP1
0000257b: PUSH1 0x41
0000257d: DUP4
0000257e: SUB
0000257f: PUSH2 0x25a7
00002582: JUMPI
00002583: PUSH2 0x25a0
00002586: SWAP3
00002587: POP
00002588: PUSH1 0x20
0000258a: DUP3
0000258b: ADD
0000258c: MLOAD
0000258d: SWAP1
0000258e: PUSH1 0x60
00002590: PUSH1 0x40
00002592: DUP5
00002593: ADD
00002594: MLOAD
00002595: SWAP4
00002596: ADD
00002597: MLOAD
00002598: PUSH1 0x00
0000259a: BYTE
0000259b: SWAP1
0000259c: PUSH2 0x25e2
0000259f: JUMP
000025a0: JUMPDEST
000025a1: SWAP2
000025a2: SWAP3
000025a3: SWAP1
000025a4: SWAP2
000025a5: SWAP1
000025a6: JUMP
000025a7: JUMPDEST
000025a8: POP
000025a9: POP
000025aa: PUSH1 0x00
000025ac: SWAP2
000025ad: PUSH1 0x02
000025af: SWAP2
000025b0: SWAP1
000025b1: JUMP
000025b2: JUMPDEST
000025b3: RETURNDATASIZE
000025b4: ISZERO
000025b5: PUSH2 0x25dd
000025b8: JUMPI
000025b9: RETURNDATASIZE
000025ba: SWAP1
000025bb: PUSH2 0x25c3
000025be: DUP3
000025bf: PUSH2 0x1f80
000025c2: JUMP
000025c3: JUMPDEST
000025c4: SWAP2
000025c5: PUSH2 0x25d1
000025c8: PUSH1 0x40
000025ca: MLOAD
000025cb: SWAP4
000025cc: DUP5
000025cd: PUSH2 0x1f5f
000025d0: JUMP
000025d1: JUMPDEST
000025d2: DUP3
000025d3: MSTORE
000025d4: RETURNDATASIZE
000025d5: PUSH1 0x00
000025d7: PUSH1 0x20
000025d9: DUP5
000025da: ADD
000025db: RETURNDATACOPY
000025dc: JUMP
000025dd: JUMPDEST
000025de: PUSH1 0x60
000025e0: SWAP1
000025e1: JUMP
000025e2: JUMPDEST
000025e3: SWAP2
000025e4: SWAP1
000025e5: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00002606: DUP5
00002607: GT
00002608: PUSH2 0x2666
0000260b: JUMPI
0000260c: SWAP3
0000260d: PUSH1 0x20
0000260f: SWAP3
00002610: SWAP2
00002611: PUSH1 0xff
00002613: PUSH1 0x80
00002615: SWAP6
00002616: PUSH1 0x40
00002618: MLOAD
00002619: SWAP5
0000261a: DUP6
0000261b: MSTORE
0000261c: AND
0000261d: DUP5
0000261e: DUP5
0000261f: ADD
00002620: MSTORE
00002621: PUSH1 0x40
00002623: DUP4
00002624: ADD
00002625: MSTORE
00002626: PUSH1 0x60
00002628: DUP3
00002629: ADD
0000262a: MSTORE
0000262b: PUSH1 0x00
0000262d: SWAP3
0000262e: DUP4
0000262f: SWAP2
00002630: DUP3
00002631: DUP1
00002632: MSTORE
00002633: PUSH1 0x01
00002635: GAS
00002636: STATICCALL
00002637: ISZERO
00002638: PUSH2 0x265a
0000263b: JUMPI
0000263c: DUP1
0000263d: MLOAD
0000263e: PUSH1 0x01
00002640: PUSH1 0x01
00002642: PUSH1 0xa0
00002644: SHL
00002645: SUB
00002646: DUP2
00002647: AND
00002648: ISZERO
00002649: PUSH2 0x2651
0000264c: JUMPI
0000264d: SWAP2
0000264e: DUP2
0000264f: SWAP1
00002650: JUMP
00002651: JUMPDEST
00002652: POP
00002653: DUP1
00002654: SWAP2
00002655: PUSH1 0x01
00002657: SWAP2
00002658: SWAP1
00002659: JUMP
0000265a: JUMPDEST
0000265b: PUSH1 0x40
0000265d: MLOAD
0000265e: SWAP1
0000265f: RETURNDATASIZE
00002660: SWAP1
00002661: DUP3
00002662: RETURNDATACOPY
00002663: RETURNDATASIZE
00002664: SWAP1
00002665: REVERT
00002666: JUMPDEST
00002667: POP
00002668: POP
00002669: POP
0000266a: PUSH1 0x00
0000266c: SWAP2
0000266d: PUSH1 0x03
0000266f: SWAP2
00002670: SWAP1
00002671: JUMP
00002672: JUMPDEST
00002673: SWAP1
00002674: PUSH2 0x2699
00002677: JUMPI
00002678: POP
00002679: DUP1
0000267a: MLOAD
0000267b: ISZERO
0000267c: PUSH2 0x2687
0000267f: JUMPI
00002680: DUP1
00002681: MLOAD
00002682: SWAP1
00002683: PUSH1 0x20
00002685: ADD
00002686: REVERT
00002687: JUMPDEST
00002688: PUSH1 0x40
0000268a: MLOAD
0000268b: PUSH4 0x0a12f521
00002690: PUSH1 0xe1
00002692: SHL
00002693: DUP2
00002694: MSTORE
00002695: PUSH1 0x04
00002697: SWAP1
00002698: REVERT
00002699: JUMPDEST
0000269a: DUP2
0000269b: MLOAD
0000269c: ISZERO
0000269d: DUP1
0000269e: PUSH2 0x26cc
000026a1: JUMPI
000026a2: JUMPDEST
000026a3: PUSH2 0x26aa
000026a6: JUMPI
000026a7: POP
000026a8: SWAP1
000026a9: JUMP
000026aa: JUMPDEST
000026ab: PUSH1 0x40
000026ad: MLOAD
000026ae: PUSH4 0x9996b315
000026b3: PUSH1 0xe0
000026b5: SHL
000026b6: DUP2
000026b7: MSTORE
000026b8: PUSH1 0x01
000026ba: PUSH1 0x01
000026bc: PUSH1 0xa0
000026be: SHL
000026bf: SUB
000026c0: SWAP1
000026c1: SWAP2
000026c2: AND
000026c3: PUSH1 0x04
000026c5: DUP3
000026c6: ADD
000026c7: MSTORE
000026c8: PUSH1 0x24
000026ca: SWAP1
000026cb: REVERT
000026cc: JUMPDEST
000026cd: POP
000026ce: DUP1
000026cf: EXTCODESIZE
000026d0: ISZERO
000026d1: PUSH2 0x26a2
000026d4: JUMP
000026d5: JUMPDEST
000026d6: PUSH2 0x26dd
000026d9: PUSH2 0x2350
000026dc: JUMP
000026dd: JUMPDEST
000026de: DUP1
000026df: MLOAD
000026e0: SWAP1
000026e1: DUP2
000026e2: ISZERO
000026e3: PUSH2 0x26ed
000026e6: JUMPI
000026e7: PUSH1 0x20
000026e9: ADD
000026ea: KECCAK256
000026eb: SWAP1
000026ec: JUMP
000026ed: JUMPDEST
000026ee: POP
000026ef: POP
000026f0: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100
00002711: SLOAD
00002712: DUP1
00002713: ISZERO
00002714: PUSH2 0x271a
00002717: JUMPI
00002718: SWAP1
00002719: JUMP
0000271a: JUMPDEST
0000271b: POP
0000271c: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
0000273d: SWAP1
0000273e: JUMP
0000273f: JUMPDEST
00002740: PUSH2 0x2747
00002743: PUSH2 0x2414
00002746: JUMP
00002747: JUMPDEST
00002748: DUP1
00002749: MLOAD
0000274a: SWAP1
0000274b: DUP2
0000274c: ISZERO
0000274d: PUSH2 0x2757
00002750: JUMPI
00002751: PUSH1 0x20
00002753: ADD
00002754: KECCAK256
00002755: SWAP1
00002756: JUMP
00002757: JUMPDEST
00002758: POP
00002759: POP
0000275a: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101
0000277b: SLOAD
0000277c: DUP1
0000277d: ISZERO
0000277e: PUSH2 0x271a
00002781: JUMPI
00002782: SWAP1
00002783: JUMP
00002784: INVALID
00002785: LOG1
00002786: PUSH11 0x46d94261c7517cc8ff89f6
00002792: SHR
00002793: UNKNOWN(0x0C)
00002794: UNKNOWN(0xE9)
00002795: CALLDATALOAD
00002796: SWAP9
00002797: UNKNOWN(0xE3)
00002798: UNKNOWN(0xC8)
00002799: BLOBHASH
0000279a: DUP1
0000279b: LT
0000279c: GT
0000279d: UNKNOWN(0xDE)
0000279e: UNKNOWN(0xE6)
0000279f: BLOBHASH
000027a0: UNKNOWN(0xA6)
000027a1: UNKNOWN(0xA5)
000027a2: JUMPI
000027a3: UNKNOWN(0xD1)
000027a4: MUL
000027a5: SWAP1
000027a6: AND
000027a7: UNKNOWN(0xD0)
000027a8: SWAP14
000027a9: PUSH19 0xd40fdae2fd8ceac6b6234c7706214fd39c1cd1
000027bd: UNKNOWN(0xE6)
000027be: MULMOD
000027bf: LOG0
000027c0: MSTORE
000027c1: DUP13
000027c2: NOT
000027c3: SWAP4
000027c4: STOP
000027c5: TIMESTAMP
000027c6: UNKNOWN(0xAD)
000027c7: TSTORE
000027c8: RETURNDATACOPY
000027c9: UNKNOWN(0x1F)
000027ca: UNKNOWN(0x2E)
000027cb: PUSH15 0x70edcf6d991b8a3023d3fca8047a13
000027db: ISZERO
000027dc: SWAP3
000027dd: UNKNOWN(0xF9)
000027de: UNKNOWN(0xED)
000027df: UNKNOWN(0xB9)
000027e0: REVERT
000027e1: SWAP12
000027e2: DUP10
000027e3: UNKNOWN(0xD5)
000027e4: PUSH30 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c
00002803: PUSH11 0x00a2646970667358221220
0000280f: UNKNOWN(0x0E)
00002810: CALLDATACOPY
00002811: UNKNOWN(0xDF)
00002812: MCOPY
00002813: UNKNOWN(0xEA)
00002814: DUP9
00002815: UNKNOWN(0xD5)
00002816: PUSH29 0x32006e2252777f176a3809f74f9c1296a299673340c836f464736f6c63
00002834: NUMBER
00002835: STOP
00002836: ADDMOD
00002837: NOT
00002838: STOP
00002839: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 yes yes
view
trace_id: 0x4c1dbd929287de04149f8f972afba4eb33436931425d3be4189dd782b54f5ca1
call_targets: 0x43506849d7c04f9138d1a2050bbf3a0c054402dd, 0x97cebbf8959e2a5476fbe9b98a21806ec234609b, 0xb686f13aff1e427a1f993f29ab0f2e7383729fe0, 0xd392c27b84b1ca776528f2704bc67b82a62132d2
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 63,
    "trace_id": "0x4c1dbd929287de04149f8f972afba4eb33436931425d3be4189dd782b54f5ca1",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
        "0x97cebbf8959e2a5476fbe9b98a21806ec234609b",
        "0xb686f13aff1e427a1f993f29ab0f2e7383729fe0",
        "0xd392c27b84b1ca776528f2704bc67b82a62132d2"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x1902f068",
            "selector": "0x1902f068",
            "calldata_variants": [
                "0x1902f068",
                "0x1902f0680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c8a6ae1",
            "selector": "0x2c8a6ae1",
            "calldata_variants": [
                "0x2c8a6ae1",
                "0x2c8a6ae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x32b3a987",
            "selector": "0x32b3a987",
            "calldata_variants": [
                "0x32b3a987",
                "0x32b3a9870000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3bbcb44b",
            "selector": "0x3bbcb44b",
            "calldata_variants": [
                "0x3bbcb44b",
                "0x3bbcb44b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x486a7e6b",
            "selector": "0x486a7e6b",
            "calldata_variants": [
                "0x486a7e6b",
                "0x486a7e6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4c598b56",
            "selector": "0x4c598b56",
            "calldata_variants": [
                "0x4c598b56",
                "0x4c598b560000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f872ec3",
            "selector": "0x4f872ec3",
            "calldata_variants": [
                "0x4f872ec3",
                "0x4f872ec30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5771,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x873e0805a67881f35a5b498565c56b2c717526d2d8ab031a8e9f4a5b35f59e3b
call_targets: 0xcff35e3c0b8d197a6ce10802cd649fbb9957da07
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x873e0805a67881f35a5b498565c56b2c717526d2d8ab031a8e9f4a5b35f59e3b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xcff35e3c0b8d197a6ce10802cd649fbb9957da07"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x1902f068",
            "selector": "0x1902f068",
            "calldata_variants": [
                "0x1902f068",
                "0x1902f0680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c8a6ae1",
            "selector": "0x2c8a6ae1",
            "calldata_variants": [
                "0x2c8a6ae1",
                "0x2c8a6ae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x32b3a987",
            "selector": "0x32b3a987",
            "calldata_variants": [
                "0x32b3a987",
                "0x32b3a9870000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3bbcb44b",
            "selector": "0x3bbcb44b",
            "calldata_variants": [
                "0x3bbcb44b",
                "0x3bbcb44b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x486a7e6b",
            "selector": "0x486a7e6b",
            "calldata_variants": [
                "0x486a7e6b",
                "0x486a7e6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4c598b56",
            "selector": "0x4c598b56",
            "calldata_variants": [
                "0x4c598b56",
                "0x4c598b560000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f872ec3",
            "selector": "0x4f872ec3",
            "calldata_variants": [
                "0x4f872ec3",
                "0x4f872ec30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 767,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1344,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3815,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x873e0805a67881f35a5b498565c56b2c717526d2d8ab031a8e9f4a5b35f59e3b
call_targets: 0xcff35e3c0b8d197a6ce10802cd649fbb9957da07
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x873e0805a67881f35a5b498565c56b2c717526d2d8ab031a8e9f4a5b35f59e3b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xcff35e3c0b8d197a6ce10802cd649fbb9957da07"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x1902f068",
            "selector": "0x1902f068",
            "calldata_variants": [
                "0x1902f068",
                "0x1902f0680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c8a6ae1",
            "selector": "0x2c8a6ae1",
            "calldata_variants": [
                "0x2c8a6ae1",
                "0x2c8a6ae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x32b3a987",
            "selector": "0x32b3a987",
            "calldata_variants": [
                "0x32b3a987",
                "0x32b3a9870000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3bbcb44b",
            "selector": "0x3bbcb44b",
            "calldata_variants": [
                "0x3bbcb44b",
                "0x3bbcb44b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x486a7e6b",
            "selector": "0x486a7e6b",
            "calldata_variants": [
                "0x486a7e6b",
                "0x486a7e6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4c598b56",
            "selector": "0x4c598b56",
            "calldata_variants": [
                "0x4c598b56",
                "0x4c598b560000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f872ec3",
            "selector": "0x4f872ec3",
            "calldata_variants": [
                "0x4f872ec3",
                "0x4f872ec30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 767,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1344,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3815,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium reentrancy slither Reentrancy in L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137): 75 no
view
evidence_json
{
    "impact": "Medium",
    "detector": "reentrancy-no-eth",
    "elements": [
        {
            "name": "burnLockedUSDC",
            "type": "function",
            "source_mapping": {
                "lines": [
                    113,
                    114,
                    115,
                    116,
                    117,
                    118,
                    119,
                    120,
                    121,
                    122,
                    123,
                    124,
                    125,
                    126,
                    127,
                    128,
                    129,
                    130,
                    131,
                    132,
                    133,
                    134,
                    135,
                    136,
                    137
                ],
                "start": 4694,
                "length": 1141,
                "ending_column": 4,
                "is_dependency": false,
                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                "starting_column": 3,
                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "L1OpUSDCBridgeAdapter",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335
                        ],
                        "start": 920,
                        "length": 13162,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                    }
                },
                "signature": "burnLockedUSDC()"
            }
        },
        {
            "name": "IUSDC(USDC).burn(_burnAmount)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    130
                ],
                "start": 5672,
                "length": 29,
                "ending_column": 36,
                "is_dependency": false,
                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                "starting_column": 7,
                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "burnLockedUSDC",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137
                        ],
                        "start": 4694,
                        "length": 1141,
                        "ending_column": 4,
                        "is_dependency": false,
                        "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "starting_column": 3,
                        "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "L1OpUSDCBridgeAdapter",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335
                                ],
                                "start": 920,
                                "length": 13162,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                            }
                        },
                        "signature": "burnLockedUSDC()"
                    }
                }
            }
        },
        {
            "name": "burnAmount = 0",
            "type": "node",
            "source_mapping": {
                "lines": [
                    134
                ],
                "start": 5746,
                "length": 14,
                "ending_column": 19,
                "is_dependency": false,
                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
            },
            "additional_fields": {
                "variable_name": "burnAmount",
                "underlying_type": "variables_written"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "burnLockedUSDC",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137
                        ],
                        "start": 4694,
                        "length": 1141,
                        "ending_column": 4,
                        "is_dependency": false,
                        "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "starting_column": 3,
                        "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "L1OpUSDCBridgeAdapter",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335
                                ],
                                "start": 920,
                                "length": 13162,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                            }
                        },
                        "signature": "burnLockedUSDC()"
                    }
                }
            }
        },
        {
            "name": "burnCaller = address(0)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    135
                ],
                "start": 5766,
                "length": 23,
                "ending_column": 28,
                "is_dependency": false,
                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
            },
            "additional_fields": {
                "variable_name": "burnCaller",
                "underlying_type": "variables_written"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "burnLockedUSDC",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137
                        ],
                        "start": 4694,
                        "length": 1141,
                        "ending_column": 4,
                        "is_dependency": false,
                        "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "starting_column": 3,
                        "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                        "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "L1OpUSDCBridgeAdapter",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335
                                ],
                                "start": 920,
                                "length": 13162,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "src/contracts/L1OpUSDCBridgeAdapter.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-76o3ocxw/src/contracts/L1OpUSDCBridgeAdapter.sol",
                                "filename_relative": "src/contracts/L1OpUSDCBridgeAdapter.sol"
                            }
                        },
                        "signature": "burnLockedUSDC()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "src/contracts/L1OpUSDCBridgeAdapter.sol",
            "name": "burnLockedUSDC",
            "type": "function",
            "lines": [
                113,
                114,
                115,
                116,
                117,
                118,
                119,
                120,
                121,
                122,
                123,
                124,
                125,
                126,
                127,
                128,
                129,
                130,
                131,
                132,
                133,
                134,
                135,
                136,
                137
            ]
        },
        {
            "file": "src/contracts/L1OpUSDCBridgeAdapter.sol",
            "name": "IUSDC(USDC).burn(_burnAmount)",
            "type": "node",
            "lines": [
                130
            ]
        },
        {
            "file": "src/contracts/L1OpUSDCBridgeAdapter.sol",
            "name": "burnAmount = 0",
            "type": "node",
            "lines": [
                134
            ]
        },
        {
            "file": "src/contracts/L1OpUSDCBridgeAdapter.sol",
            "name": "burnCaller = address(0)",
            "type": "node",
            "lines": [
                135
            ]
        }
    ],
    "description": "Reentrancy in L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137):\n\tExternal calls:\n\t- IUSDC(USDC).burn(_burnAmount) (src/contracts/L1OpUSDCBridgeAdapter.sol#130)\n\tState variables written after the call(s):\n\t- burnAmount = 0 (src/contracts/L1OpUSDCBridgeAdapter.sol#134)\n\tL1OpUSDCBridgeAdapter.burnAmount (src/contracts/L1OpUSDCBridgeAdapter.sol#22) can be used in cross function reentrancies:\n\t- L1OpUSDCBridgeAdapter.burnAmount (src/contracts/L1OpUSDCBridgeAdapter.sol#22)\n\t- L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137)\n\t- L1OpUSDCBridgeAdapter.setBurnAmount(uint256) (src/contracts/L1OpUSDCBridgeAdapter.sol#100-107)\n\t- burnCaller = address(0) (src/contracts/L1OpUSDCBridgeAdapter.sol#135)\n\tL1OpUSDCBridgeAdapter.burnCaller (src/contracts/L1OpUSDCBridgeAdapter.sol#25) can be used in cross function reentrancies:\n\t- L1OpUSDCBridgeAdapter.burnCaller (src/contracts/L1OpUSDCBridgeAdapter.sol#25)\n\t- L1OpUSDCBridgeAdapter.burnLockedUSDC() (src/contracts/L1OpUSDCBridgeAdapter.sol#113-137)\n\t- L1OpUSDCBridgeAdapter.migrateToNative(address,address,uint32,uint32) (src/contracts/L1OpUSDCBridgeAdapter.sol#68-93)"
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 16
}