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

Analysis Run

019bb491-3d27-7127-9860-f89577df5ac6

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 11:36 PM
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
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
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
40197 artifact.fetch complete 1 / 3 3 months ago
40198 proxy.resolve complete 1 / 3 3 months ago
40199 tool.cast_disasm complete 1 / 3 3 months ago
40200 analysis.bundle complete 1 / 3 3 months ago
40201 capability.graph complete 1 / 3 3 months ago
40202 detector.run complete 1 / 3 3 months ago
40203 validation.fork complete 1 / 3 3 months ago
40267 report.consolidate complete 1 / 6 3 months ago
40268 tool.slither complete 1 / 2 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

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

Reentrancy in CollateralManagement.withdrawFunds(address,uint256) (contracts/mixins/CollateralManagement.sol#31-38):
	External calls:
	- to.sendValue(amount) (contracts/mixins/CollateralManagement.sol#35)
	Event emitted after the call(s):
	- FundsWithdrawn(to,amount) (contracts/mixins/CollateralManagement.sol#37)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3

AddressUpgradeable.isContract(address) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#26-35) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#33)
AddressUpgradeable._verifyCallResult(bool,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#147-164) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#156-159)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

3 different versions of Solidity are used:
	- Version constraint ^0.7.0 is used by:
		-^0.7.0 (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#3)
		-^0.7.0 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#3)
		-^0.7.0 (@openzeppelin/contracts-upgradeable/utils/EnumerableSetUpgradeable.sol#3)
		-^0.7.0 (contracts/FoundationTreasury.sol#48)
		-^0.7.0 (contracts/interfaces/ISendValueWithFallbackWithdraw.sol#3)
		-^0.7.0 (contracts/mixins/CollateralManagement.sol#3)
		-^0.7.0 (contracts/mixins/WithdrawFromEscrow.sol#3)
		-^0.7.0 (contracts/mixins/roles/AdminRole.sol#3)
		-^0.7.0 (contracts/mixins/roles/OperatorRole.sol#3)
	- Version constraint >=0.4.24<0.8.0 is used by:
		->=0.4.24<0.8.0 (@openzeppelin/contracts-upgradeable/proxy/Initializable.sol#4)
	- Version constraint >=0.6.0<0.8.0 is used by:
		->=0.6.0<0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#3)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

AccessControlUpgradeable._setRoleAdmin(bytes32,bytes32) (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#209-212) is never used and should be removed
ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#17-19) is never used and should be removed
ContextUpgradeable._msgData() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-30) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code

Version constraint ^0.7.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup.
It is used by:
	- ^0.7.0 (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#3)
	- ^0.7.0 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#3)
	- ^0.7.0 (@openzeppelin/contracts-upgradeable/utils/EnumerableSetUpgradeable.sol#3)
	- ^0.7.0 (contracts/FoundationTreasury.sol#48)
	- ^0.7.0 (contracts/interfaces/ISendValueWithFallbackWithdraw.sol#3)
	- ^0.7.0 (contracts/mixins/CollateralManagement.sol#3)
	- ^0.7.0 (contracts/mixins/WithdrawFromEscrow.sol#3)
	- ^0.7.0 (contracts/mixins/roles/AdminRole.sol#3)
	- ^0.7.0 (contracts/mixins/roles/OperatorRole.sol#3)
Version constraint >=0.4.24<0.8.0 is too complex.
It is used by:
	- >=0.4.24<0.8.0 (@openzeppelin/contracts-upgradeable/proxy/Initializable.sol#4)
Version constraint >=0.6.0<0.8.0 is too complex.
It is used by:
	- >=0.6.0<0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#3)
solc-0.7.0 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#53-59):
	- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#57)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#114-121):
	- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#119)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#139-145):
	- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#143)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Function AccessControlUpgradeable.__AccessControl_init() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#46-49) is not in mixedCase
Function AccessControlUpgradeable.__AccessControl_init_unchained() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#51-52) is not in mixedCase
Variable AccessControlUpgradeable.__gap (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#225) is not in mixedCase
Function ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#17-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#31) is not in mixedCase
Variable CollateralManagement.__gap (contracts/mixins/CollateralManagement.sol#40) is not in mixedCase
Variable AdminRole.__gap (contracts/mixins/roles/AdminRole.sol#41) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

Redundant expression "this (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#28)" inContextUpgradeable (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#16-32)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
. analyzed (11 contracts with 100 detectors), 23 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.7.0",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.7.0",
        "install_stderr": null,
        "install_stdout": "Installing solc '0.7.0'...\nVersion '0.7.0' installed."
    },
    "solc_args": "--base-path /tmp/slither-_v3kfwtt --include-path /tmp/slither-_v3kfwtt/lib --include-path /tmp/slither-_v3kfwtt/lib/openzeppelin-contracts --allow-paths /tmp/slither-_v3kfwtt,/tmp/slither-_v3kfwtt/lib,/tmp/slither-_v3kfwtt/lib/openzeppelin-contracts,/tmp/slither-_v3kfwtt/src",
    "remappings": [
        "openzeppelin-contracts/=lib/openzeppelin-contracts/"
    ],
    "source_files": [
        "contracts/FoundationTreasury.sol",
        "@openzeppelin/contracts-upgradeable/proxy/Initializable.sol",
        "contracts/mixins/roles/AdminRole.sol",
        "contracts/mixins/roles/OperatorRole.sol",
        "contracts/mixins/CollateralManagement.sol",
        "contracts/mixins/WithdrawFromEscrow.sol",
        "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/EnumerableSetUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
        "contracts/interfaces/ISendValueWithFallbackWithdraw.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 23,
    "workspace_hash": "b77b62c42fc5e7218808df8063d3f59488f8c32b982ced73d94fb3df0b36a0f8",
    "duration_seconds": 1.176844596862793,
    "solc_version_requested": "0.7.6"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first-party contracts within scope.
View stdout
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within scope.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-j5jhmpvp
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb4c8-873d-7230-806a-93cd533ca273
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reviewing AUDIT_BUNDLE.txt contents**
exec
/bin/bash -lc ls in /tmp/codex-j5jhmpvp succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-j5jhmpvp succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/FoundationTreasury.sol
================================================================================
/*                                                                               
  ・
   * ★ 
      ・ 。
         ・ ゚☆ 。
      * ★ ゚・。 *  。
            * ☆ 。・゚*.。
         ゚ *.。☆。★ ・
    *  ゚。·*・。 ゚*
     ☆゚・。°*. ゚
  ・ ゚*。・゚★。
  ・ *゚。   *
 ・゚*。★・
 ☆∴。 * 

thinking
**Analyzing upgradeable contract initialization**
exec
/bin/bash -lc 'rg "modifier initializer" -n @openzeppelin/contracts-upgradeable/proxy/Initializable.sol' in /tmp/codex-j5jhmpvp succeeded in 8ms:
35:    modifier initializer() {
exec
/bin/bash -lc "sed -n '1,120p' @openzeppelin/contracts-upgradeable/proxy/Initializable.sol" in /tmp/codex-j5jhmpvp succeeded in 5ms:
// SPDX-License-Identifier: MIT

// solhint-disable-next-line compiler-version
pragma solidity >=0.4.24 <0.8.0;

import "../utils/AddressUpgradeable.sol";

/**
 * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed
 * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an
 * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer
 * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.
 *
 * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as
 * possible by providing the encoded function call as the `_data` argument to {UpgradeableProxy-constructor}.
 *
 * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure
 * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.
 */
abstract contract Initializable {

thinking
**Analyzing role-based access control logic**
exec
/bin/bash -lc 'rg "__AccessControl_init" -n @openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol' in /tmp/codex-j5jhmpvp succeeded in 9ms:
46:    function __AccessControl_init() internal initializer {
48:        __AccessControl_init_unchained();
51:    function __AccessControl_init_unchained() internal initializer {
exec
/bin/bash -lc "sed -n '1,120p' @openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol" in /tmp/codex-j5jhmpvp succeeded in 6ms:
// SPDX-License-Identifier: MIT

pragma solidity ^0.7.0;

import "../utils/EnumerableSetUpgradeable.sol";
import "../utils/AddressUpgradeable.sol";
import "../utils/ContextUpgradeable.sol";
import "../proxy/Initializable.sol";

/**
 * @dev Contract module that allows children to implement role-based access
 * control mechanisms.
 *
 * Roles are referred to by their `bytes32` identifier. These should be exposed
 * in the external API and be unique. The best way to achieve this is by
 * using `public constant` hash digests:
 *
 * ```
 * bytes32 public constant MY_ROLE = keccak256("MY_ROLE");
 * ```

thinking
**Summarizing security findings in JSON**

I'm preparing a JSON summary that states no exploitable issues were found in the first-party contracts, confirms admin roles are set up safely without risky delegatecalls or oracle usage, and includes fields for no_findings, summary, and findings per the required schema. I’ll keep it concise and accurate.
codex
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within scope.","findings":[]}
tokens used
13,858
Metadata
{
    "codex": {
        "ran_at": "2026-01-13T00:38:07.954434+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 11,
        "import_count": 13,
        "first_party_contracts_count": 6
    },
    "summary": "No exploitable vulnerabilities found in the first-party contracts within scope.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party contracts within scope.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
2
Total opcodes
2512
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x012d
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x924ab158
00000019: GT
0000001a: PUSH2 0x00a5
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xca15c873
00000024: GT
00000025: PUSH2 0x0074
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe348da13
0000002f: GT
00000030: PUSH2 0x0059
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe348da13
0000003a: EQ
0000003b: PUSH2 0x0465
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf5b541a6
00000045: EQ
00000046: PUSH2 0x0498
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfad8b32a
00000050: EQ
00000051: PUSH2 0x04ad
00000054: JUMPI
00000055: PUSH2 0x0134
00000058: JUMP
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0xca15c873
00000060: EQ
00000061: PUSH2 0x0402
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xd547741f
0000006b: EQ
0000006c: PUSH2 0x042c
0000006f: JUMPI
00000070: PUSH2 0x0134
00000073: JUMP
00000074: JUMPDEST
00000075: DUP1
00000076: PUSH4 0x924ab158
0000007b: EQ
0000007c: PUSH2 0x034e
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0xa217fddf
00000086: EQ
00000087: PUSH2 0x0381
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0xc1075329
00000091: EQ
00000092: PUSH2 0x0396
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xc4d66de8
0000009c: EQ
0000009d: PUSH2 0x03cf
000000a0: JUMPI
000000a1: PUSH2 0x0134
000000a4: JUMP
000000a5: JUMPDEST
000000a6: DUP1
000000a7: PUSH4 0x35bb3e16
000000ac: GT
000000ad: PUSH2 0x00fc
000000b0: JUMPI
000000b1: DUP1
000000b2: PUSH4 0x6d70f7ae
000000b7: GT
000000b8: PUSH2 0x00e1
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x6d70f7ae
000000c2: EQ
000000c3: PUSH2 0x0296
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x9010d07c
000000cd: EQ
000000ce: PUSH2 0x02c9
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x91d14854
000000d8: EQ
000000d9: PUSH2 0x0315
000000dc: JUMPI
000000dd: PUSH2 0x0134
000000e0: JUMP
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x35bb3e16
000000e8: EQ
000000e9: PUSH2 0x022a
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x36568abe
000000f3: EQ
000000f4: PUSH2 0x025d
000000f7: JUMPI
000000f8: PUSH2 0x0134
000000fb: JUMP
000000fc: JUMPDEST
000000fd: DUP1
000000fe: PUSH4 0x248a9ca3
00000103: EQ
00000104: PUSH2 0x0139
00000107: JUMPI
00000108: DUP1
00000109: PUSH4 0x24d7806c
0000010e: EQ
0000010f: PUSH2 0x0175
00000112: JUMPI
00000113: DUP1
00000114: PUSH4 0x2d345670
00000119: EQ
0000011a: PUSH2 0x01bc
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x2f2ff15d
00000124: EQ
00000125: PUSH2 0x01f1
00000128: JUMPI
00000129: PUSH2 0x0134
0000012c: JUMP
0000012d: JUMPDEST
0000012e: CALLDATASIZE
0000012f: PUSH2 0x0134
00000132: JUMPI
00000133: STOP
00000134: JUMPDEST
00000135: PUSH1 0x00
00000137: DUP1
00000138: REVERT
00000139: JUMPDEST
0000013a: CALLVALUE
0000013b: DUP1
0000013c: ISZERO
0000013d: PUSH2 0x0145
00000140: JUMPI
00000141: PUSH1 0x00
00000143: DUP1
00000144: REVERT
00000145: JUMPDEST
00000146: POP
00000147: PUSH2 0x0163
0000014a: PUSH1 0x04
0000014c: DUP1
0000014d: CALLDATASIZE
0000014e: SUB
0000014f: PUSH1 0x20
00000151: DUP2
00000152: LT
00000153: ISZERO
00000154: PUSH2 0x015c
00000157: JUMPI
00000158: PUSH1 0x00
0000015a: DUP1
0000015b: REVERT
0000015c: JUMPDEST
0000015d: POP
0000015e: CALLDATALOAD
0000015f: PUSH2 0x04e0
00000162: JUMP
00000163: JUMPDEST
00000164: PUSH1 0x40
00000166: DUP1
00000167: MLOAD
00000168: SWAP2
00000169: DUP3
0000016a: MSTORE
0000016b: MLOAD
0000016c: SWAP1
0000016d: DUP2
0000016e: SWAP1
0000016f: SUB
00000170: PUSH1 0x20
00000172: ADD
00000173: SWAP1
00000174: RETURN
00000175: JUMPDEST
00000176: CALLVALUE
00000177: DUP1
00000178: ISZERO
00000179: PUSH2 0x0181
0000017c: JUMPI
0000017d: PUSH1 0x00
0000017f: DUP1
00000180: REVERT
00000181: JUMPDEST
00000182: POP
00000183: PUSH2 0x01a8
00000186: PUSH1 0x04
00000188: DUP1
00000189: CALLDATASIZE
0000018a: SUB
0000018b: PUSH1 0x20
0000018d: DUP2
0000018e: LT
0000018f: ISZERO
00000190: PUSH2 0x0198
00000193: JUMPI
00000194: PUSH1 0x00
00000196: DUP1
00000197: REVERT
00000198: JUMPDEST
00000199: POP
0000019a: CALLDATALOAD
0000019b: PUSH1 0x01
0000019d: PUSH1 0x01
0000019f: PUSH1 0xa0
000001a1: SHL
000001a2: SUB
000001a3: AND
000001a4: PUSH2 0x04f5
000001a7: JUMP
000001a8: JUMPDEST
000001a9: PUSH1 0x40
000001ab: DUP1
000001ac: MLOAD
000001ad: SWAP2
000001ae: ISZERO
000001af: ISZERO
000001b0: DUP3
000001b1: MSTORE
000001b2: MLOAD
000001b3: SWAP1
000001b4: DUP2
000001b5: SWAP1
000001b6: SUB
000001b7: PUSH1 0x20
000001b9: ADD
000001ba: SWAP1
000001bb: RETURN
000001bc: JUMPDEST
000001bd: CALLVALUE
000001be: DUP1
000001bf: ISZERO
000001c0: PUSH2 0x01c8
000001c3: JUMPI
000001c4: PUSH1 0x00
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: POP
000001ca: PUSH2 0x01ef
000001cd: PUSH1 0x04
000001cf: DUP1
000001d0: CALLDATASIZE
000001d1: SUB
000001d2: PUSH1 0x20
000001d4: DUP2
000001d5: LT
000001d6: ISZERO
000001d7: PUSH2 0x01df
000001da: JUMPI
000001db: PUSH1 0x00
000001dd: DUP1
000001de: REVERT
000001df: JUMPDEST
000001e0: POP
000001e1: CALLDATALOAD
000001e2: PUSH1 0x01
000001e4: PUSH1 0x01
000001e6: PUSH1 0xa0
000001e8: SHL
000001e9: SUB
000001ea: AND
000001eb: PUSH2 0x0507
000001ee: JUMP
000001ef: JUMPDEST
000001f0: STOP
000001f1: JUMPDEST
000001f2: CALLVALUE
000001f3: DUP1
000001f4: ISZERO
000001f5: PUSH2 0x01fd
000001f8: JUMPI
000001f9: PUSH1 0x00
000001fb: DUP1
000001fc: REVERT
000001fd: JUMPDEST
000001fe: POP
000001ff: PUSH2 0x01ef
00000202: PUSH1 0x04
00000204: DUP1
00000205: CALLDATASIZE
00000206: SUB
00000207: PUSH1 0x40
00000209: DUP2
0000020a: LT
0000020b: ISZERO
0000020c: PUSH2 0x0214
0000020f: JUMPI
00000210: PUSH1 0x00
00000212: DUP1
00000213: REVERT
00000214: JUMPDEST
00000215: POP
00000216: DUP1
00000217: CALLDATALOAD
00000218: SWAP1
00000219: PUSH1 0x20
0000021b: ADD
0000021c: CALLDATALOAD
0000021d: PUSH1 0x01
0000021f: PUSH1 0x01
00000221: PUSH1 0xa0
00000223: SHL
00000224: SUB
00000225: AND
00000226: PUSH2 0x0515
00000229: JUMP
0000022a: JUMPDEST
0000022b: CALLVALUE
0000022c: DUP1
0000022d: ISZERO
0000022e: PUSH2 0x0236
00000231: JUMPI
00000232: PUSH1 0x00
00000234: DUP1
00000235: REVERT
00000236: JUMPDEST
00000237: POP
00000238: PUSH2 0x01ef
0000023b: PUSH1 0x04
0000023d: DUP1
0000023e: CALLDATASIZE
0000023f: SUB
00000240: PUSH1 0x20
00000242: DUP2
00000243: LT
00000244: ISZERO
00000245: PUSH2 0x024d
00000248: JUMPI
00000249: PUSH1 0x00
0000024b: DUP1
0000024c: REVERT
0000024d: JUMPDEST
0000024e: POP
0000024f: CALLDATALOAD
00000250: PUSH1 0x01
00000252: PUSH1 0x01
00000254: PUSH1 0xa0
00000256: SHL
00000257: SUB
00000258: AND
00000259: PUSH2 0x0581
0000025c: JUMP
0000025d: JUMPDEST
0000025e: CALLVALUE
0000025f: DUP1
00000260: ISZERO
00000261: PUSH2 0x0269
00000264: JUMPI
00000265: PUSH1 0x00
00000267: DUP1
00000268: REVERT
00000269: JUMPDEST
0000026a: POP
0000026b: PUSH2 0x01ef
0000026e: PUSH1 0x04
00000270: DUP1
00000271: CALLDATASIZE
00000272: SUB
00000273: PUSH1 0x40
00000275: DUP2
00000276: LT
00000277: ISZERO
00000278: PUSH2 0x0280
0000027b: JUMPI
0000027c: PUSH1 0x00
0000027e: DUP1
0000027f: REVERT
00000280: JUMPDEST
00000281: POP
00000282: DUP1
00000283: CALLDATALOAD
00000284: SWAP1
00000285: PUSH1 0x20
00000287: ADD
00000288: CALLDATALOAD
00000289: PUSH1 0x01
0000028b: PUSH1 0x01
0000028d: PUSH1 0xa0
0000028f: SHL
00000290: SUB
00000291: AND
00000292: PUSH2 0x058c
00000295: JUMP
00000296: JUMPDEST
00000297: CALLVALUE
00000298: DUP1
00000299: ISZERO
0000029a: PUSH2 0x02a2
0000029d: JUMPI
0000029e: PUSH1 0x00
000002a0: DUP1
000002a1: REVERT
000002a2: JUMPDEST
000002a3: POP
000002a4: PUSH2 0x01a8
000002a7: PUSH1 0x04
000002a9: DUP1
000002aa: CALLDATASIZE
000002ab: SUB
000002ac: PUSH1 0x20
000002ae: DUP2
000002af: LT
000002b0: ISZERO
000002b1: PUSH2 0x02b9
000002b4: JUMPI
000002b5: PUSH1 0x00
000002b7: DUP1
000002b8: REVERT
000002b9: JUMPDEST
000002ba: POP
000002bb: CALLDATALOAD
000002bc: PUSH1 0x01
000002be: PUSH1 0x01
000002c0: PUSH1 0xa0
000002c2: SHL
000002c3: SUB
000002c4: AND
000002c5: PUSH2 0x05ed
000002c8: JUMP
000002c9: JUMPDEST
000002ca: CALLVALUE
000002cb: DUP1
000002cc: ISZERO
000002cd: PUSH2 0x02d5
000002d0: JUMPI
000002d1: PUSH1 0x00
000002d3: DUP1
000002d4: REVERT
000002d5: JUMPDEST
000002d6: POP
000002d7: PUSH2 0x02f9
000002da: PUSH1 0x04
000002dc: DUP1
000002dd: CALLDATASIZE
000002de: SUB
000002df: PUSH1 0x40
000002e1: DUP2
000002e2: LT
000002e3: ISZERO
000002e4: PUSH2 0x02ec
000002e7: JUMPI
000002e8: PUSH1 0x00
000002ea: DUP1
000002eb: REVERT
000002ec: JUMPDEST
000002ed: POP
000002ee: DUP1
000002ef: CALLDATALOAD
000002f0: SWAP1
000002f1: PUSH1 0x20
000002f3: ADD
000002f4: CALLDATALOAD
000002f5: PUSH2 0x0619
000002f8: JUMP
000002f9: JUMPDEST
000002fa: PUSH1 0x40
000002fc: DUP1
000002fd: MLOAD
000002fe: PUSH1 0x01
00000300: PUSH1 0x01
00000302: PUSH1 0xa0
00000304: SHL
00000305: SUB
00000306: SWAP1
00000307: SWAP3
00000308: AND
00000309: DUP3
0000030a: MSTORE
0000030b: MLOAD
0000030c: SWAP1
0000030d: DUP2
0000030e: SWAP1
0000030f: SUB
00000310: PUSH1 0x20
00000312: ADD
00000313: SWAP1
00000314: RETURN
00000315: JUMPDEST
00000316: CALLVALUE
00000317: DUP1
00000318: ISZERO
00000319: PUSH2 0x0321
0000031c: JUMPI
0000031d: PUSH1 0x00
0000031f: DUP1
00000320: REVERT
00000321: JUMPDEST
00000322: POP
00000323: PUSH2 0x01a8
00000326: PUSH1 0x04
00000328: DUP1
00000329: CALLDATASIZE
0000032a: SUB
0000032b: PUSH1 0x40
0000032d: DUP2
0000032e: LT
0000032f: ISZERO
00000330: PUSH2 0x0338
00000333: JUMPI
00000334: PUSH1 0x00
00000336: DUP1
00000337: REVERT
00000338: JUMPDEST
00000339: POP
0000033a: DUP1
0000033b: CALLDATALOAD
0000033c: SWAP1
0000033d: PUSH1 0x20
0000033f: ADD
00000340: CALLDATALOAD
00000341: PUSH1 0x01
00000343: PUSH1 0x01
00000345: PUSH1 0xa0
00000347: SHL
00000348: SUB
00000349: AND
0000034a: PUSH2 0x0638
0000034d: JUMP
0000034e: JUMPDEST
0000034f: CALLVALUE
00000350: DUP1
00000351: ISZERO
00000352: PUSH2 0x035a
00000355: JUMPI
00000356: PUSH1 0x00
00000358: DUP1
00000359: REVERT
0000035a: JUMPDEST
0000035b: POP
0000035c: PUSH2 0x01ef
0000035f: PUSH1 0x04
00000361: DUP1
00000362: CALLDATASIZE
00000363: SUB
00000364: PUSH1 0x20
00000366: DUP2
00000367: LT
00000368: ISZERO
00000369: PUSH2 0x0371
0000036c: JUMPI
0000036d: PUSH1 0x00
0000036f: DUP1
00000370: REVERT
00000371: JUMPDEST
00000372: POP
00000373: CALLDATALOAD
00000374: PUSH1 0x01
00000376: PUSH1 0x01
00000378: PUSH1 0xa0
0000037a: SHL
0000037b: SUB
0000037c: AND
0000037d: PUSH2 0x0650
00000380: JUMP
00000381: JUMPDEST
00000382: CALLVALUE
00000383: DUP1
00000384: ISZERO
00000385: PUSH2 0x038d
00000388: JUMPI
00000389: PUSH1 0x00
0000038b: DUP1
0000038c: REVERT
0000038d: JUMPDEST
0000038e: POP
0000038f: PUSH2 0x0163
00000392: PUSH2 0x06ec
00000395: JUMP
00000396: JUMPDEST
00000397: CALLVALUE
00000398: DUP1
00000399: ISZERO
0000039a: PUSH2 0x03a2
0000039d: JUMPI
0000039e: PUSH1 0x00
000003a0: DUP1
000003a1: REVERT
000003a2: JUMPDEST
000003a3: POP
000003a4: PUSH2 0x01ef
000003a7: PUSH1 0x04
000003a9: DUP1
000003aa: CALLDATASIZE
000003ab: SUB
000003ac: PUSH1 0x40
000003ae: DUP2
000003af: LT
000003b0: ISZERO
000003b1: PUSH2 0x03b9
000003b4: JUMPI
000003b5: PUSH1 0x00
000003b7: DUP1
000003b8: REVERT
000003b9: JUMPDEST
000003ba: POP
000003bb: PUSH1 0x01
000003bd: PUSH1 0x01
000003bf: PUSH1 0xa0
000003c1: SHL
000003c2: SUB
000003c3: DUP2
000003c4: CALLDATALOAD
000003c5: AND
000003c6: SWAP1
000003c7: PUSH1 0x20
000003c9: ADD
000003ca: CALLDATALOAD
000003cb: PUSH2 0x06f1
000003ce: JUMP
000003cf: JUMPDEST
000003d0: CALLVALUE
000003d1: DUP1
000003d2: ISZERO
000003d3: PUSH2 0x03db
000003d6: JUMPI
000003d7: PUSH1 0x00
000003d9: DUP1
000003da: REVERT
000003db: JUMPDEST
000003dc: POP
000003dd: PUSH2 0x01ef
000003e0: PUSH1 0x04
000003e2: DUP1
000003e3: CALLDATASIZE
000003e4: SUB
000003e5: PUSH1 0x20
000003e7: DUP2
000003e8: LT
000003e9: ISZERO
000003ea: PUSH2 0x03f2
000003ed: JUMPI
000003ee: PUSH1 0x00
000003f0: DUP1
000003f1: REVERT
000003f2: JUMPDEST
000003f3: POP
000003f4: CALLDATALOAD
000003f5: PUSH1 0x01
000003f7: PUSH1 0x01
000003f9: PUSH1 0xa0
000003fb: SHL
000003fc: SUB
000003fd: AND
000003fe: PUSH2 0x0795
00000401: JUMP
00000402: JUMPDEST
00000403: CALLVALUE
00000404: DUP1
00000405: ISZERO
00000406: PUSH2 0x040e
00000409: JUMPI
0000040a: PUSH1 0x00
0000040c: DUP1
0000040d: REVERT
0000040e: JUMPDEST
0000040f: POP
00000410: PUSH2 0x0163
00000413: PUSH1 0x04
00000415: DUP1
00000416: CALLDATASIZE
00000417: SUB
00000418: PUSH1 0x20
0000041a: DUP2
0000041b: LT
0000041c: ISZERO
0000041d: PUSH2 0x0425
00000420: JUMPI
00000421: PUSH1 0x00
00000423: DUP1
00000424: REVERT
00000425: JUMPDEST
00000426: POP
00000427: CALLDATALOAD
00000428: PUSH2 0x0840
0000042b: JUMP
0000042c: JUMPDEST
0000042d: CALLVALUE
0000042e: DUP1
0000042f: ISZERO
00000430: PUSH2 0x0438
00000433: JUMPI
00000434: PUSH1 0x00
00000436: DUP1
00000437: REVERT
00000438: JUMPDEST
00000439: POP
0000043a: PUSH2 0x01ef
0000043d: PUSH1 0x04
0000043f: DUP1
00000440: CALLDATASIZE
00000441: SUB
00000442: PUSH1 0x40
00000444: DUP2
00000445: LT
00000446: ISZERO
00000447: PUSH2 0x044f
0000044a: JUMPI
0000044b: PUSH1 0x00
0000044d: DUP1
0000044e: REVERT
0000044f: JUMPDEST
00000450: POP
00000451: DUP1
00000452: CALLDATALOAD
00000453: SWAP1
00000454: PUSH1 0x20
00000456: ADD
00000457: CALLDATALOAD
00000458: PUSH1 0x01
0000045a: PUSH1 0x01
0000045c: PUSH1 0xa0
0000045e: SHL
0000045f: SUB
00000460: AND
00000461: PUSH2 0x0857
00000464: JUMP
00000465: JUMPDEST
00000466: CALLVALUE
00000467: DUP1
00000468: ISZERO
00000469: PUSH2 0x0471
0000046c: JUMPI
0000046d: PUSH1 0x00
0000046f: DUP1
00000470: REVERT
00000471: JUMPDEST
00000472: POP
00000473: PUSH2 0x01ef
00000476: PUSH1 0x04
00000478: DUP1
00000479: CALLDATASIZE
0000047a: SUB
0000047b: PUSH1 0x20
0000047d: DUP2
0000047e: LT
0000047f: ISZERO
00000480: PUSH2 0x0488
00000483: JUMPI
00000484: PUSH1 0x00
00000486: DUP1
00000487: REVERT
00000488: JUMPDEST
00000489: POP
0000048a: CALLDATALOAD
0000048b: PUSH1 0x01
0000048d: PUSH1 0x01
0000048f: PUSH1 0xa0
00000491: SHL
00000492: SUB
00000493: AND
00000494: PUSH2 0x08b0
00000497: JUMP
00000498: JUMPDEST
00000499: CALLVALUE
0000049a: DUP1
0000049b: ISZERO
0000049c: PUSH2 0x04a4
0000049f: JUMPI
000004a0: PUSH1 0x00
000004a2: DUP1
000004a3: REVERT
000004a4: JUMPDEST
000004a5: POP
000004a6: PUSH2 0x0163
000004a9: PUSH2 0x08da
000004ac: JUMP
000004ad: JUMPDEST
000004ae: CALLVALUE
000004af: DUP1
000004b0: ISZERO
000004b1: PUSH2 0x04b9
000004b4: JUMPI
000004b5: PUSH1 0x00
000004b7: DUP1
000004b8: REVERT
000004b9: JUMPDEST
000004ba: POP
000004bb: PUSH2 0x01ef
000004be: PUSH1 0x04
000004c0: DUP1
000004c1: CALLDATASIZE
000004c2: SUB
000004c3: PUSH1 0x20
000004c5: DUP2
000004c6: LT
000004c7: ISZERO
000004c8: PUSH2 0x04d0
000004cb: JUMPI
000004cc: PUSH1 0x00
000004ce: DUP1
000004cf: REVERT
000004d0: JUMPDEST
000004d1: POP
000004d2: CALLDATALOAD
000004d3: PUSH1 0x01
000004d5: PUSH1 0x01
000004d7: PUSH1 0xa0
000004d9: SHL
000004da: SUB
000004db: AND
000004dc: PUSH2 0x08fe
000004df: JUMP
000004e0: JUMPDEST
000004e1: PUSH1 0x00
000004e3: SWAP1
000004e4: DUP2
000004e5: MSTORE
000004e6: PUSH1 0x33
000004e8: PUSH1 0x20
000004ea: MSTORE
000004eb: PUSH1 0x40
000004ed: SWAP1
000004ee: KECCAK256
000004ef: PUSH1 0x02
000004f1: ADD
000004f2: SLOAD
000004f3: SWAP1
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH1 0x00
000004f8: PUSH2 0x0501
000004fb: DUP2
000004fc: DUP4
000004fd: PUSH2 0x0638
00000500: JUMP
00000501: JUMPDEST
00000502: SWAP3
00000503: SWAP2
00000504: POP
00000505: POP
00000506: JUMP
00000507: JUMPDEST
00000508: PUSH2 0x0512
0000050b: PUSH1 0x00
0000050d: DUP3
0000050e: PUSH2 0x0857
00000511: JUMP
00000512: JUMPDEST
00000513: POP
00000514: JUMP
00000515: JUMPDEST
00000516: PUSH1 0x00
00000518: DUP3
00000519: DUP2
0000051a: MSTORE
0000051b: PUSH1 0x33
0000051d: PUSH1 0x20
0000051f: MSTORE
00000520: PUSH1 0x40
00000522: SWAP1
00000523: KECCAK256
00000524: PUSH1 0x02
00000526: ADD
00000527: SLOAD
00000528: PUSH2 0x0538
0000052b: SWAP1
0000052c: PUSH2 0x0533
0000052f: PUSH2 0x0928
00000532: JUMP
00000533: JUMPDEST
00000534: PUSH2 0x0638
00000537: JUMP
00000538: JUMPDEST
00000539: PUSH2 0x0573
0000053c: JUMPI
0000053d: PUSH1 0x40
0000053f: MLOAD
00000540: PUSH3 0x461bcd
00000544: PUSH1 0xe5
00000546: SHL
00000547: DUP2
00000548: MSTORE
00000549: PUSH1 0x04
0000054b: ADD
0000054c: DUP1
0000054d: DUP1
0000054e: PUSH1 0x20
00000550: ADD
00000551: DUP3
00000552: DUP2
00000553: SUB
00000554: DUP3
00000555: MSTORE
00000556: PUSH1 0x2f
00000558: DUP2
00000559: MSTORE
0000055a: PUSH1 0x20
0000055c: ADD
0000055d: DUP1
0000055e: PUSH2 0x0ef9
00000561: PUSH1 0x2f
00000563: SWAP2
00000564: CODECOPY
00000565: PUSH1 0x40
00000567: ADD
00000568: SWAP2
00000569: POP
0000056a: POP
0000056b: PUSH1 0x40
0000056d: MLOAD
0000056e: DUP1
0000056f: SWAP2
00000570: SUB
00000571: SWAP1
00000572: REVERT
00000573: JUMPDEST
00000574: PUSH2 0x057d
00000577: DUP3
00000578: DUP3
00000579: PUSH2 0x092c
0000057c: JUMP
0000057d: JUMPDEST
0000057e: POP
0000057f: POP
00000580: JUMP
00000581: JUMPDEST
00000582: PUSH2 0x0512
00000585: PUSH1 0x00
00000587: DUP3
00000588: PUSH2 0x0515
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH2 0x0594
00000590: PUSH2 0x0928
00000593: JUMP
00000594: JUMPDEST
00000595: PUSH1 0x01
00000597: PUSH1 0x01
00000599: PUSH1 0xa0
0000059b: SHL
0000059c: SUB
0000059d: AND
0000059e: DUP2
0000059f: PUSH1 0x01
000005a1: PUSH1 0x01
000005a3: PUSH1 0xa0
000005a5: SHL
000005a6: SUB
000005a7: AND
000005a8: EQ
000005a9: PUSH2 0x05e3
000005ac: JUMPI
000005ad: PUSH1 0x40
000005af: MLOAD
000005b0: PUSH3 0x461bcd
000005b4: PUSH1 0xe5
000005b6: SHL
000005b7: DUP2
000005b8: MSTORE
000005b9: PUSH1 0x04
000005bb: ADD
000005bc: DUP1
000005bd: DUP1
000005be: PUSH1 0x20
000005c0: ADD
000005c1: DUP3
000005c2: DUP2
000005c3: SUB
000005c4: DUP3
000005c5: MSTORE
000005c6: PUSH1 0x2f
000005c8: DUP2
000005c9: MSTORE
000005ca: PUSH1 0x20
000005cc: ADD
000005cd: DUP1
000005ce: PUSH2 0x0fee
000005d1: PUSH1 0x2f
000005d3: SWAP2
000005d4: CODECOPY
000005d5: PUSH1 0x40
000005d7: ADD
000005d8: SWAP2
000005d9: POP
000005da: POP
000005db: PUSH1 0x40
000005dd: MLOAD
000005de: DUP1
000005df: SWAP2
000005e0: SUB
000005e1: SWAP1
000005e2: REVERT
000005e3: JUMPDEST
000005e4: PUSH2 0x057d
000005e7: DUP3
000005e8: DUP3
000005e9: PUSH2 0x0995
000005ec: JUMP
000005ed: JUMPDEST
000005ee: PUSH1 0x00
000005f0: PUSH2 0x0501
000005f3: PUSH32 0x97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929
00000614: DUP4
00000615: PUSH2 0x0638
00000618: JUMP
00000619: JUMPDEST
0000061a: PUSH1 0x00
0000061c: DUP3
0000061d: DUP2
0000061e: MSTORE
0000061f: PUSH1 0x33
00000621: PUSH1 0x20
00000623: MSTORE
00000624: PUSH1 0x40
00000626: DUP2
00000627: KECCAK256
00000628: PUSH2 0x0631
0000062b: SWAP1
0000062c: DUP4
0000062d: PUSH2 0x09fe
00000630: JUMP
00000631: JUMPDEST
00000632: SWAP4
00000633: SWAP3
00000634: POP
00000635: POP
00000636: POP
00000637: JUMP
00000638: JUMPDEST
00000639: PUSH1 0x00
0000063b: DUP3
0000063c: DUP2
0000063d: MSTORE
0000063e: PUSH1 0x33
00000640: PUSH1 0x20
00000642: MSTORE
00000643: PUSH1 0x40
00000645: DUP2
00000646: KECCAK256
00000647: PUSH2 0x0631
0000064a: SWAP1
0000064b: DUP4
0000064c: PUSH2 0x0a0a
0000064f: JUMP
00000650: JUMPDEST
00000651: PUSH2 0x065b
00000654: PUSH1 0x00
00000656: CALLER
00000657: PUSH2 0x0638
0000065a: JUMP
0000065b: JUMPDEST
0000065c: PUSH2 0x0696
0000065f: JUMPI
00000660: PUSH1 0x40
00000662: MLOAD
00000663: PUSH3 0x461bcd
00000667: PUSH1 0xe5
00000669: SHL
0000066a: DUP2
0000066b: MSTORE
0000066c: PUSH1 0x04
0000066e: ADD
0000066f: DUP1
00000670: DUP1
00000671: PUSH1 0x20
00000673: ADD
00000674: DUP3
00000675: DUP2
00000676: SUB
00000677: DUP3
00000678: MSTORE
00000679: PUSH1 0x2e
0000067b: DUP2
0000067c: MSTORE
0000067d: PUSH1 0x20
0000067f: ADD
00000680: DUP1
00000681: PUSH2 0x0fc0
00000684: PUSH1 0x2e
00000686: SWAP2
00000687: CODECOPY
00000688: PUSH1 0x40
0000068a: ADD
0000068b: SWAP2
0000068c: POP
0000068d: POP
0000068e: PUSH1 0x40
00000690: MLOAD
00000691: DUP1
00000692: SWAP2
00000693: SUB
00000694: SWAP1
00000695: REVERT
00000696: JUMPDEST
00000697: DUP1
00000698: PUSH1 0x01
0000069a: PUSH1 0x01
0000069c: PUSH1 0xa0
0000069e: SHL
0000069f: SUB
000006a0: AND
000006a1: PUSH4 0x3ccfd60b
000006a6: PUSH1 0x40
000006a8: MLOAD
000006a9: DUP2
000006aa: PUSH4 0xffffffff
000006af: AND
000006b0: PUSH1 0xe0
000006b2: SHL
000006b3: DUP2
000006b4: MSTORE
000006b5: PUSH1 0x04
000006b7: ADD
000006b8: PUSH1 0x00
000006ba: PUSH1 0x40
000006bc: MLOAD
000006bd: DUP1
000006be: DUP4
000006bf: SUB
000006c0: DUP2
000006c1: PUSH1 0x00
000006c3: DUP8
000006c4: DUP1
000006c5: EXTCODESIZE
000006c6: ISZERO
000006c7: DUP1
000006c8: ISZERO
000006c9: PUSH2 0x06d1
000006cc: JUMPI
000006cd: PUSH1 0x00
000006cf: DUP1
000006d0: REVERT
000006d1: JUMPDEST
000006d2: POP
000006d3: GAS
000006d4: CALL
000006d5: ISZERO
000006d6: DUP1
000006d7: ISZERO
000006d8: PUSH2 0x06e5
000006db: JUMPI
000006dc: RETURNDATASIZE
000006dd: PUSH1 0x00
000006df: DUP1
000006e0: RETURNDATACOPY
000006e1: RETURNDATASIZE
000006e2: PUSH1 0x00
000006e4: REVERT
000006e5: JUMPDEST
000006e6: POP
000006e7: POP
000006e8: POP
000006e9: POP
000006ea: POP
000006eb: JUMP
000006ec: JUMPDEST
000006ed: PUSH1 0x00
000006ef: DUP2
000006f0: JUMP
000006f1: JUMPDEST
000006f2: PUSH2 0x06fc
000006f5: PUSH1 0x00
000006f7: CALLER
000006f8: PUSH2 0x0638
000006fb: JUMP
000006fc: JUMPDEST
000006fd: PUSH2 0x0737
00000700: JUMPI
00000701: PUSH1 0x40
00000703: MLOAD
00000704: PUSH3 0x461bcd
00000708: PUSH1 0xe5
0000070a: SHL
0000070b: DUP2
0000070c: MSTORE
0000070d: PUSH1 0x04
0000070f: ADD
00000710: DUP1
00000711: DUP1
00000712: PUSH1 0x20
00000714: ADD
00000715: DUP3
00000716: DUP2
00000717: SUB
00000718: DUP3
00000719: MSTORE
0000071a: PUSH1 0x2e
0000071c: DUP2
0000071d: MSTORE
0000071e: PUSH1 0x20
00000720: ADD
00000721: DUP1
00000722: PUSH2 0x0fc0
00000725: PUSH1 0x2e
00000727: SWAP2
00000728: CODECOPY
00000729: PUSH1 0x40
0000072b: ADD
0000072c: SWAP2
0000072d: POP
0000072e: POP
0000072f: PUSH1 0x40
00000731: MLOAD
00000732: DUP1
00000733: SWAP2
00000734: SUB
00000735: SWAP1
00000736: REVERT
00000737: JUMPDEST
00000738: DUP1
00000739: PUSH2 0x073f
0000073c: JUMPI
0000073d: POP
0000073e: SELFBALANCE
0000073f: JUMPDEST
00000740: PUSH2 0x0752
00000743: PUSH1 0x01
00000745: PUSH1 0x01
00000747: PUSH1 0xa0
00000749: SHL
0000074a: SUB
0000074b: DUP4
0000074c: AND
0000074d: DUP3
0000074e: PUSH2 0x0a1f
00000751: JUMP
00000752: JUMPDEST
00000753: PUSH1 0x40
00000755: DUP1
00000756: MLOAD
00000757: DUP3
00000758: DUP2
00000759: MSTORE
0000075a: SWAP1
0000075b: MLOAD
0000075c: PUSH1 0x01
0000075e: PUSH1 0x01
00000760: PUSH1 0xa0
00000762: SHL
00000763: SUB
00000764: DUP5
00000765: AND
00000766: SWAP2
00000767: PUSH32 0xeaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d
00000788: SWAP2
00000789: SWAP1
0000078a: DUP2
0000078b: SWAP1
0000078c: SUB
0000078d: PUSH1 0x20
0000078f: ADD
00000790: SWAP1
00000791: LOG2
00000792: POP
00000793: POP
00000794: JUMP
00000795: JUMPDEST
00000796: PUSH1 0x00
00000798: SLOAD
00000799: PUSH2 0x0100
0000079c: SWAP1
0000079d: DIV
0000079e: PUSH1 0xff
000007a0: AND
000007a1: DUP1
000007a2: PUSH2 0x07ae
000007a5: JUMPI
000007a6: POP
000007a7: PUSH2 0x07ae
000007aa: PUSH2 0x0b09
000007ad: JUMP
000007ae: JUMPDEST
000007af: DUP1
000007b0: PUSH2 0x07bc
000007b3: JUMPI
000007b4: POP
000007b5: PUSH1 0x00
000007b7: SLOAD
000007b8: PUSH1 0xff
000007ba: AND
000007bb: ISZERO
000007bc: JUMPDEST
000007bd: PUSH2 0x07f7
000007c0: JUMPI
000007c1: PUSH1 0x40
000007c3: MLOAD
000007c4: PUSH3 0x461bcd
000007c8: PUSH1 0xe5
000007ca: SHL
000007cb: DUP2
000007cc: MSTORE
000007cd: PUSH1 0x04
000007cf: ADD
000007d0: DUP1
000007d1: DUP1
000007d2: PUSH1 0x20
000007d4: ADD
000007d5: DUP3
000007d6: DUP2
000007d7: SUB
000007d8: DUP3
000007d9: MSTORE
000007da: PUSH1 0x2e
000007dc: DUP2
000007dd: MSTORE
000007de: PUSH1 0x20
000007e0: ADD
000007e1: DUP1
000007e2: PUSH2 0x0f92
000007e5: PUSH1 0x2e
000007e7: SWAP2
000007e8: CODECOPY
000007e9: PUSH1 0x40
000007eb: ADD
000007ec: SWAP2
000007ed: POP
000007ee: POP
000007ef: PUSH1 0x40
000007f1: MLOAD
000007f2: DUP1
000007f3: SWAP2
000007f4: SUB
000007f5: SWAP1
000007f6: REVERT
000007f7: JUMPDEST
000007f8: PUSH1 0x00
000007fa: SLOAD
000007fb: PUSH2 0x0100
000007fe: SWAP1
000007ff: DIV
00000800: PUSH1 0xff
00000802: AND
00000803: ISZERO
00000804: DUP1
00000805: ISZERO
00000806: PUSH2 0x0822
00000809: JUMPI
0000080a: PUSH1 0x00
0000080c: DUP1
0000080d: SLOAD
0000080e: PUSH1 0xff
00000810: NOT
00000811: PUSH2 0xff00
00000814: NOT
00000815: SWAP1
00000816: SWAP2
00000817: AND
00000818: PUSH2 0x0100
0000081b: OR
0000081c: AND
0000081d: PUSH1 0x01
0000081f: OR
00000820: SWAP1
00000821: SSTORE
00000822: JUMPDEST
00000823: PUSH2 0x082b
00000826: DUP3
00000827: PUSH2 0x0b1a
0000082a: JUMP
0000082b: JUMPDEST
0000082c: DUP1
0000082d: ISZERO
0000082e: PUSH2 0x057d
00000831: JUMPI
00000832: PUSH1 0x00
00000834: DUP1
00000835: SLOAD
00000836: PUSH2 0xff00
00000839: NOT
0000083a: AND
0000083b: SWAP1
0000083c: SSTORE
0000083d: POP
0000083e: POP
0000083f: JUMP
00000840: JUMPDEST
00000841: PUSH1 0x00
00000843: DUP2
00000844: DUP2
00000845: MSTORE
00000846: PUSH1 0x33
00000848: PUSH1 0x20
0000084a: MSTORE
0000084b: PUSH1 0x40
0000084d: DUP2
0000084e: KECCAK256
0000084f: PUSH2 0x0501
00000852: SWAP1
00000853: PUSH2 0x0bba
00000856: JUMP
00000857: JUMPDEST
00000858: PUSH1 0x00
0000085a: DUP3
0000085b: DUP2
0000085c: MSTORE
0000085d: PUSH1 0x33
0000085f: PUSH1 0x20
00000861: MSTORE
00000862: PUSH1 0x40
00000864: SWAP1
00000865: KECCAK256
00000866: PUSH1 0x02
00000868: ADD
00000869: SLOAD
0000086a: PUSH2 0x0875
0000086d: SWAP1
0000086e: PUSH2 0x0533
00000871: PUSH2 0x0928
00000874: JUMP
00000875: JUMPDEST
00000876: PUSH2 0x05e3
00000879: JUMPI
0000087a: PUSH1 0x40
0000087c: MLOAD
0000087d: PUSH3 0x461bcd
00000881: PUSH1 0xe5
00000883: SHL
00000884: DUP2
00000885: MSTORE
00000886: PUSH1 0x04
00000888: ADD
00000889: DUP1
0000088a: DUP1
0000088b: PUSH1 0x20
0000088d: ADD
0000088e: DUP3
0000088f: DUP2
00000890: SUB
00000891: DUP3
00000892: MSTORE
00000893: PUSH1 0x30
00000895: DUP2
00000896: MSTORE
00000897: PUSH1 0x20
00000899: ADD
0000089a: DUP1
0000089b: PUSH2 0x0f62
0000089e: PUSH1 0x30
000008a0: SWAP2
000008a1: CODECOPY
000008a2: PUSH1 0x40
000008a4: ADD
000008a5: SWAP2
000008a6: POP
000008a7: POP
000008a8: PUSH1 0x40
000008aa: MLOAD
000008ab: DUP1
000008ac: SWAP2
000008ad: SUB
000008ae: SWAP1
000008af: REVERT
000008b0: JUMPDEST
000008b1: PUSH2 0x0512
000008b4: PUSH32 0x97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929
000008d5: DUP3
000008d6: PUSH2 0x0515
000008d9: JUMP
000008da: JUMPDEST
000008db: PUSH32 0x97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929
000008fc: DUP2
000008fd: JUMP
000008fe: JUMPDEST
000008ff: PUSH2 0x0512
00000902: PUSH32 0x97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929
00000923: DUP3
00000924: PUSH2 0x0857
00000927: JUMP
00000928: JUMPDEST
00000929: CALLER
0000092a: SWAP1
0000092b: JUMP
0000092c: JUMPDEST
0000092d: PUSH1 0x00
0000092f: DUP3
00000930: DUP2
00000931: MSTORE
00000932: PUSH1 0x33
00000934: PUSH1 0x20
00000936: MSTORE
00000937: PUSH1 0x40
00000939: SWAP1
0000093a: KECCAK256
0000093b: PUSH2 0x0944
0000093e: SWAP1
0000093f: DUP3
00000940: PUSH2 0x0bc5
00000943: JUMP
00000944: JUMPDEST
00000945: ISZERO
00000946: PUSH2 0x057d
00000949: JUMPI
0000094a: PUSH2 0x0951
0000094d: PUSH2 0x0928
00000950: JUMP
00000951: JUMPDEST
00000952: PUSH1 0x01
00000954: PUSH1 0x01
00000956: PUSH1 0xa0
00000958: SHL
00000959: SUB
0000095a: AND
0000095b: DUP2
0000095c: PUSH1 0x01
0000095e: PUSH1 0x01
00000960: PUSH1 0xa0
00000962: SHL
00000963: SUB
00000964: AND
00000965: DUP4
00000966: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00000987: PUSH1 0x40
00000989: MLOAD
0000098a: PUSH1 0x40
0000098c: MLOAD
0000098d: DUP1
0000098e: SWAP2
0000098f: SUB
00000990: SWAP1
00000991: LOG4
00000992: POP
00000993: POP
00000994: JUMP
00000995: JUMPDEST
00000996: PUSH1 0x00
00000998: DUP3
00000999: DUP2
0000099a: MSTORE
0000099b: PUSH1 0x33
0000099d: PUSH1 0x20
0000099f: MSTORE
000009a0: PUSH1 0x40
000009a2: SWAP1
000009a3: KECCAK256
000009a4: PUSH2 0x09ad
000009a7: SWAP1
000009a8: DUP3
000009a9: PUSH2 0x0bda
000009ac: JUMP
000009ad: JUMPDEST
000009ae: ISZERO
000009af: PUSH2 0x057d
000009b2: JUMPI
000009b3: PUSH2 0x09ba
000009b6: PUSH2 0x0928
000009b9: JUMP
000009ba: JUMPDEST
000009bb: PUSH1 0x01
000009bd: PUSH1 0x01
000009bf: PUSH1 0xa0
000009c1: SHL
000009c2: SUB
000009c3: AND
000009c4: DUP2
000009c5: PUSH1 0x01
000009c7: PUSH1 0x01
000009c9: PUSH1 0xa0
000009cb: SHL
000009cc: SUB
000009cd: AND
000009ce: DUP4
000009cf: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
000009f0: PUSH1 0x40
000009f2: MLOAD
000009f3: PUSH1 0x40
000009f5: MLOAD
000009f6: DUP1
000009f7: SWAP2
000009f8: SUB
000009f9: SWAP1
000009fa: LOG4
000009fb: POP
000009fc: POP
000009fd: JUMP
000009fe: JUMPDEST
000009ff: PUSH1 0x00
00000a01: PUSH2 0x0631
00000a04: DUP4
00000a05: DUP4
00000a06: PUSH2 0x0bef
00000a09: JUMP
00000a0a: JUMPDEST
00000a0b: PUSH1 0x00
00000a0d: PUSH2 0x0631
00000a10: DUP4
00000a11: PUSH1 0x01
00000a13: PUSH1 0x01
00000a15: PUSH1 0xa0
00000a17: SHL
00000a18: SUB
00000a19: DUP5
00000a1a: AND
00000a1b: PUSH2 0x0c53
00000a1e: JUMP
00000a1f: JUMPDEST
00000a20: DUP1
00000a21: SELFBALANCE
00000a22: LT
00000a23: ISZERO
00000a24: PUSH2 0x0a74
00000a27: JUMPI
00000a28: PUSH1 0x40
00000a2a: DUP1
00000a2b: MLOAD
00000a2c: PUSH3 0x461bcd
00000a30: PUSH1 0xe5
00000a32: SHL
00000a33: DUP2
00000a34: MSTORE
00000a35: PUSH1 0x20
00000a37: PUSH1 0x04
00000a39: DUP3
00000a3a: ADD
00000a3b: MSTORE
00000a3c: PUSH1 0x1d
00000a3e: PUSH1 0x24
00000a40: DUP3
00000a41: ADD
00000a42: MSTORE
00000a43: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
00000a64: PUSH1 0x44
00000a66: DUP3
00000a67: ADD
00000a68: MSTORE
00000a69: SWAP1
00000a6a: MLOAD
00000a6b: SWAP1
00000a6c: DUP2
00000a6d: SWAP1
00000a6e: SUB
00000a6f: PUSH1 0x64
00000a71: ADD
00000a72: SWAP1
00000a73: REVERT
00000a74: JUMPDEST
00000a75: PUSH1 0x40
00000a77: MLOAD
00000a78: PUSH1 0x00
00000a7a: SWAP1
00000a7b: PUSH1 0x01
00000a7d: PUSH1 0x01
00000a7f: PUSH1 0xa0
00000a81: SHL
00000a82: SUB
00000a83: DUP5
00000a84: AND
00000a85: SWAP1
00000a86: DUP4
00000a87: SWAP1
00000a88: DUP4
00000a89: DUP2
00000a8a: DUP2
00000a8b: DUP2
00000a8c: DUP6
00000a8d: DUP8
00000a8e: GAS
00000a8f: CALL
00000a90: SWAP3
00000a91: POP
00000a92: POP
00000a93: POP
00000a94: RETURNDATASIZE
00000a95: DUP1
00000a96: PUSH1 0x00
00000a98: DUP2
00000a99: EQ
00000a9a: PUSH2 0x0abf
00000a9d: JUMPI
00000a9e: PUSH1 0x40
00000aa0: MLOAD
00000aa1: SWAP2
00000aa2: POP
00000aa3: PUSH1 0x1f
00000aa5: NOT
00000aa6: PUSH1 0x3f
00000aa8: RETURNDATASIZE
00000aa9: ADD
00000aaa: AND
00000aab: DUP3
00000aac: ADD
00000aad: PUSH1 0x40
00000aaf: MSTORE
00000ab0: RETURNDATASIZE
00000ab1: DUP3
00000ab2: MSTORE
00000ab3: RETURNDATASIZE
00000ab4: PUSH1 0x00
00000ab6: PUSH1 0x20
00000ab8: DUP5
00000ab9: ADD
00000aba: RETURNDATACOPY
00000abb: PUSH2 0x0ac4
00000abe: JUMP
00000abf: JUMPDEST
00000ac0: PUSH1 0x60
00000ac2: SWAP2
00000ac3: POP
00000ac4: JUMPDEST
00000ac5: POP
00000ac6: POP
00000ac7: SWAP1
00000ac8: POP
00000ac9: DUP1
00000aca: PUSH2 0x0b04
00000acd: JUMPI
00000ace: PUSH1 0x40
00000ad0: MLOAD
00000ad1: PUSH3 0x461bcd
00000ad5: PUSH1 0xe5
00000ad7: SHL
00000ad8: DUP2
00000ad9: MSTORE
00000ada: PUSH1 0x04
00000adc: ADD
00000add: DUP1
00000ade: DUP1
00000adf: PUSH1 0x20
00000ae1: ADD
00000ae2: DUP3
00000ae3: DUP2
00000ae4: SUB
00000ae5: DUP3
00000ae6: MSTORE
00000ae7: PUSH1 0x3a
00000ae9: DUP2
00000aea: MSTORE
00000aeb: PUSH1 0x20
00000aed: ADD
00000aee: DUP1
00000aef: PUSH2 0x0f28
00000af2: PUSH1 0x3a
00000af4: SWAP2
00000af5: CODECOPY
00000af6: PUSH1 0x40
00000af8: ADD
00000af9: SWAP2
00000afa: POP
00000afb: POP
00000afc: PUSH1 0x40
00000afe: MLOAD
00000aff: DUP1
00000b00: SWAP2
00000b01: SUB
00000b02: SWAP1
00000b03: REVERT
00000b04: JUMPDEST
00000b05: POP
00000b06: POP
00000b07: POP
00000b08: JUMP
00000b09: JUMPDEST
00000b0a: PUSH1 0x00
00000b0c: PUSH2 0x0b14
00000b0f: ADDRESS
00000b10: PUSH2 0x0c6b
00000b13: JUMP
00000b14: JUMPDEST
00000b15: ISZERO
00000b16: SWAP1
00000b17: POP
00000b18: SWAP1
00000b19: JUMP
00000b1a: JUMPDEST
00000b1b: PUSH1 0x00
00000b1d: SLOAD
00000b1e: PUSH2 0x0100
00000b21: SWAP1
00000b22: DIV
00000b23: PUSH1 0xff
00000b25: AND
00000b26: DUP1
00000b27: PUSH2 0x0b33
00000b2a: JUMPI
00000b2b: POP
00000b2c: PUSH2 0x0b33
00000b2f: PUSH2 0x0b09
00000b32: JUMP
00000b33: JUMPDEST
00000b34: DUP1
00000b35: PUSH2 0x0b41
00000b38: JUMPI
00000b39: POP
00000b3a: PUSH1 0x00
00000b3c: SLOAD
00000b3d: PUSH1 0xff
00000b3f: AND
00000b40: ISZERO
00000b41: JUMPDEST
00000b42: PUSH2 0x0b7c
00000b45: JUMPI
00000b46: PUSH1 0x40
00000b48: MLOAD
00000b49: PUSH3 0x461bcd
00000b4d: PUSH1 0xe5
00000b4f: SHL
00000b50: DUP2
00000b51: MSTORE
00000b52: PUSH1 0x04
00000b54: ADD
00000b55: DUP1
00000b56: DUP1
00000b57: PUSH1 0x20
00000b59: ADD
00000b5a: DUP3
00000b5b: DUP2
00000b5c: SUB
00000b5d: DUP3
00000b5e: MSTORE
00000b5f: PUSH1 0x2e
00000b61: DUP2
00000b62: MSTORE
00000b63: PUSH1 0x20
00000b65: ADD
00000b66: DUP1
00000b67: PUSH2 0x0f92
00000b6a: PUSH1 0x2e
00000b6c: SWAP2
00000b6d: CODECOPY
00000b6e: PUSH1 0x40
00000b70: ADD
00000b71: SWAP2
00000b72: POP
00000b73: POP
00000b74: PUSH1 0x40
00000b76: MLOAD
00000b77: DUP1
00000b78: SWAP2
00000b79: SUB
00000b7a: SWAP1
00000b7b: REVERT
00000b7c: JUMPDEST
00000b7d: PUSH1 0x00
00000b7f: SLOAD
00000b80: PUSH2 0x0100
00000b83: SWAP1
00000b84: DIV
00000b85: PUSH1 0xff
00000b87: AND
00000b88: ISZERO
00000b89: DUP1
00000b8a: ISZERO
00000b8b: PUSH2 0x0ba7
00000b8e: JUMPI
00000b8f: PUSH1 0x00
00000b91: DUP1
00000b92: SLOAD
00000b93: PUSH1 0xff
00000b95: NOT
00000b96: PUSH2 0xff00
00000b99: NOT
00000b9a: SWAP1
00000b9b: SWAP2
00000b9c: AND
00000b9d: PUSH2 0x0100
00000ba0: OR
00000ba1: AND
00000ba2: PUSH1 0x01
00000ba4: OR
00000ba5: SWAP1
00000ba6: SSTORE
00000ba7: JUMPDEST
00000ba8: PUSH2 0x0baf
00000bab: PUSH2 0x0c71
00000bae: JUMP
00000baf: JUMPDEST
00000bb0: PUSH2 0x082b
00000bb3: PUSH1 0x00
00000bb5: DUP4
00000bb6: PUSH2 0x0573
00000bb9: JUMP
00000bba: JUMPDEST
00000bbb: PUSH1 0x00
00000bbd: PUSH2 0x0501
00000bc0: DUP3
00000bc1: PUSH2 0x0d22
00000bc4: JUMP
00000bc5: JUMPDEST
00000bc6: PUSH1 0x00
00000bc8: PUSH2 0x0631
00000bcb: DUP4
00000bcc: PUSH1 0x01
00000bce: PUSH1 0x01
00000bd0: PUSH1 0xa0
00000bd2: SHL
00000bd3: SUB
00000bd4: DUP5
00000bd5: AND
00000bd6: PUSH2 0x0d26
00000bd9: JUMP
00000bda: JUMPDEST
00000bdb: PUSH1 0x00
00000bdd: PUSH2 0x0631
00000be0: DUP4
00000be1: PUSH1 0x01
00000be3: PUSH1 0x01
00000be5: PUSH1 0xa0
00000be7: SHL
00000be8: SUB
00000be9: DUP5
00000bea: AND
00000beb: PUSH2 0x0d70
00000bee: JUMP
00000bef: JUMPDEST
00000bf0: DUP2
00000bf1: SLOAD
00000bf2: PUSH1 0x00
00000bf4: SWAP1
00000bf5: DUP3
00000bf6: LT
00000bf7: PUSH2 0x0c31
00000bfa: JUMPI
00000bfb: PUSH1 0x40
00000bfd: MLOAD
00000bfe: PUSH3 0x461bcd
00000c02: PUSH1 0xe5
00000c04: SHL
00000c05: DUP2
00000c06: MSTORE
00000c07: PUSH1 0x04
00000c09: ADD
00000c0a: DUP1
00000c0b: DUP1
00000c0c: PUSH1 0x20
00000c0e: ADD
00000c0f: DUP3
00000c10: DUP2
00000c11: SUB
00000c12: DUP3
00000c13: MSTORE
00000c14: PUSH1 0x22
00000c16: DUP2
00000c17: MSTORE
00000c18: PUSH1 0x20
00000c1a: ADD
00000c1b: DUP1
00000c1c: PUSH2 0x0ed7
00000c1f: PUSH1 0x22
00000c21: SWAP2
00000c22: CODECOPY
00000c23: PUSH1 0x40
00000c25: ADD
00000c26: SWAP2
00000c27: POP
00000c28: POP
00000c29: PUSH1 0x40
00000c2b: MLOAD
00000c2c: DUP1
00000c2d: SWAP2
00000c2e: SUB
00000c2f: SWAP1
00000c30: REVERT
00000c31: JUMPDEST
00000c32: DUP3
00000c33: PUSH1 0x00
00000c35: ADD
00000c36: DUP3
00000c37: DUP2
00000c38: SLOAD
00000c39: DUP2
00000c3a: LT
00000c3b: PUSH2 0x0c40
00000c3e: JUMPI
00000c3f: INVALID
00000c40: JUMPDEST
00000c41: SWAP1
00000c42: PUSH1 0x00
00000c44: MSTORE
00000c45: PUSH1 0x20
00000c47: PUSH1 0x00
00000c49: KECCAK256
00000c4a: ADD
00000c4b: SLOAD
00000c4c: SWAP1
00000c4d: POP
00000c4e: SWAP3
00000c4f: SWAP2
00000c50: POP
00000c51: POP
00000c52: JUMP
00000c53: JUMPDEST
00000c54: PUSH1 0x00
00000c56: SWAP1
00000c57: DUP2
00000c58: MSTORE
00000c59: PUSH1 0x01
00000c5b: SWAP2
00000c5c: SWAP1
00000c5d: SWAP2
00000c5e: ADD
00000c5f: PUSH1 0x20
00000c61: MSTORE
00000c62: PUSH1 0x40
00000c64: SWAP1
00000c65: KECCAK256
00000c66: SLOAD
00000c67: ISZERO
00000c68: ISZERO
00000c69: SWAP1
00000c6a: JUMP
00000c6b: JUMPDEST
00000c6c: EXTCODESIZE
00000c6d: ISZERO
00000c6e: ISZERO
00000c6f: SWAP1
00000c70: JUMP
00000c71: JUMPDEST
00000c72: PUSH1 0x00
00000c74: SLOAD
00000c75: PUSH2 0x0100
00000c78: SWAP1
00000c79: DIV
00000c7a: PUSH1 0xff
00000c7c: AND
00000c7d: DUP1
00000c7e: PUSH2 0x0c8a
00000c81: JUMPI
00000c82: POP
00000c83: PUSH2 0x0c8a
00000c86: PUSH2 0x0b09
00000c89: JUMP
00000c8a: JUMPDEST
00000c8b: DUP1
00000c8c: PUSH2 0x0c98
00000c8f: JUMPI
00000c90: POP
00000c91: PUSH1 0x00
00000c93: SLOAD
00000c94: PUSH1 0xff
00000c96: AND
00000c97: ISZERO
00000c98: JUMPDEST
00000c99: PUSH2 0x0cd3
00000c9c: JUMPI
00000c9d: PUSH1 0x40
00000c9f: MLOAD
00000ca0: PUSH3 0x461bcd
00000ca4: PUSH1 0xe5
00000ca6: SHL
00000ca7: DUP2
00000ca8: MSTORE
00000ca9: PUSH1 0x04
00000cab: ADD
00000cac: DUP1
00000cad: DUP1
00000cae: PUSH1 0x20
00000cb0: ADD
00000cb1: DUP3
00000cb2: DUP2
00000cb3: SUB
00000cb4: DUP3
00000cb5: MSTORE
00000cb6: PUSH1 0x2e
00000cb8: DUP2
00000cb9: MSTORE
00000cba: PUSH1 0x20
00000cbc: ADD
00000cbd: DUP1
00000cbe: PUSH2 0x0f92
00000cc1: PUSH1 0x2e
00000cc3: SWAP2
00000cc4: CODECOPY
00000cc5: PUSH1 0x40
00000cc7: ADD
00000cc8: SWAP2
00000cc9: POP
00000cca: POP
00000ccb: PUSH1 0x40
00000ccd: MLOAD
00000cce: DUP1
00000ccf: SWAP2
00000cd0: SUB
00000cd1: SWAP1
00000cd2: REVERT
00000cd3: JUMPDEST
00000cd4: PUSH1 0x00
00000cd6: SLOAD
00000cd7: PUSH2 0x0100
00000cda: SWAP1
00000cdb: DIV
00000cdc: PUSH1 0xff
00000cde: AND
00000cdf: ISZERO
00000ce0: DUP1
00000ce1: ISZERO
00000ce2: PUSH2 0x0cfe
00000ce5: JUMPI
00000ce6: PUSH1 0x00
00000ce8: DUP1
00000ce9: SLOAD
00000cea: PUSH1 0xff
00000cec: NOT
00000ced: PUSH2 0xff00
00000cf0: NOT
00000cf1: SWAP1
00000cf2: SWAP2
00000cf3: AND
00000cf4: PUSH2 0x0100
00000cf7: OR
00000cf8: AND
00000cf9: PUSH1 0x01
00000cfb: OR
00000cfc: SWAP1
00000cfd: SSTORE
00000cfe: JUMPDEST
00000cff: PUSH2 0x0d06
00000d02: PUSH2 0x0e36
00000d05: JUMP
00000d06: JUMPDEST
00000d07: PUSH2 0x0d0e
00000d0a: PUSH2 0x0e36
00000d0d: JUMP
00000d0e: JUMPDEST
00000d0f: DUP1
00000d10: ISZERO
00000d11: PUSH2 0x0512
00000d14: JUMPI
00000d15: PUSH1 0x00
00000d17: DUP1
00000d18: SLOAD
00000d19: PUSH2 0xff00
00000d1c: NOT
00000d1d: AND
00000d1e: SWAP1
00000d1f: SSTORE
00000d20: POP
00000d21: JUMP
00000d22: JUMPDEST
00000d23: SLOAD
00000d24: SWAP1
00000d25: JUMP
00000d26: JUMPDEST
00000d27: PUSH1 0x00
00000d29: PUSH2 0x0d32
00000d2c: DUP4
00000d2d: DUP4
00000d2e: PUSH2 0x0c53
00000d31: JUMP
00000d32: JUMPDEST
00000d33: PUSH2 0x0d68
00000d36: JUMPI
00000d37: POP
00000d38: DUP2
00000d39: SLOAD
00000d3a: PUSH1 0x01
00000d3c: DUP2
00000d3d: DUP2
00000d3e: ADD
00000d3f: DUP5
00000d40: SSTORE
00000d41: PUSH1 0x00
00000d43: DUP5
00000d44: DUP2
00000d45: MSTORE
00000d46: PUSH1 0x20
00000d48: DUP1
00000d49: DUP3
00000d4a: KECCAK256
00000d4b: SWAP1
00000d4c: SWAP4
00000d4d: ADD
00000d4e: DUP5
00000d4f: SWAP1
00000d50: SSTORE
00000d51: DUP5
00000d52: SLOAD
00000d53: DUP5
00000d54: DUP3
00000d55: MSTORE
00000d56: DUP3
00000d57: DUP7
00000d58: ADD
00000d59: SWAP1
00000d5a: SWAP4
00000d5b: MSTORE
00000d5c: PUSH1 0x40
00000d5e: SWAP1
00000d5f: KECCAK256
00000d60: SWAP2
00000d61: SWAP1
00000d62: SWAP2
00000d63: SSTORE
00000d64: PUSH2 0x0501
00000d67: JUMP
00000d68: JUMPDEST
00000d69: POP
00000d6a: PUSH1 0x00
00000d6c: PUSH2 0x0501
00000d6f: JUMP
00000d70: JUMPDEST
00000d71: PUSH1 0x00
00000d73: DUP2
00000d74: DUP2
00000d75: MSTORE
00000d76: PUSH1 0x01
00000d78: DUP4
00000d79: ADD
00000d7a: PUSH1 0x20
00000d7c: MSTORE
00000d7d: PUSH1 0x40
00000d7f: DUP2
00000d80: KECCAK256
00000d81: SLOAD
00000d82: DUP1
00000d83: ISZERO
00000d84: PUSH2 0x0e2c
00000d87: JUMPI
00000d88: DUP4
00000d89: SLOAD
00000d8a: PUSH1 0x00
00000d8c: NOT
00000d8d: DUP1
00000d8e: DUP4
00000d8f: ADD
00000d90: SWAP2
00000d91: SWAP1
00000d92: DUP2
00000d93: ADD
00000d94: SWAP1
00000d95: PUSH1 0x00
00000d97: SWAP1
00000d98: DUP8
00000d99: SWAP1
00000d9a: DUP4
00000d9b: SWAP1
00000d9c: DUP2
00000d9d: LT
00000d9e: PUSH2 0x0da3
00000da1: JUMPI
00000da2: INVALID
00000da3: JUMPDEST
00000da4: SWAP1
00000da5: PUSH1 0x00
00000da7: MSTORE
00000da8: PUSH1 0x20
00000daa: PUSH1 0x00
00000dac: KECCAK256
00000dad: ADD
00000dae: SLOAD
00000daf: SWAP1
00000db0: POP
00000db1: DUP1
00000db2: DUP8
00000db3: PUSH1 0x00
00000db5: ADD
00000db6: DUP5
00000db7: DUP2
00000db8: SLOAD
00000db9: DUP2
00000dba: LT
00000dbb: PUSH2 0x0dc0
00000dbe: JUMPI
00000dbf: INVALID
00000dc0: JUMPDEST
00000dc1: PUSH1 0x00
00000dc3: SWAP2
00000dc4: DUP3
00000dc5: MSTORE
00000dc6: PUSH1 0x20
00000dc8: DUP1
00000dc9: DUP4
00000dca: KECCAK256
00000dcb: SWAP1
00000dcc: SWAP2
00000dcd: ADD
00000dce: SWAP3
00000dcf: SWAP1
00000dd0: SWAP3
00000dd1: SSTORE
00000dd2: DUP3
00000dd3: DUP2
00000dd4: MSTORE
00000dd5: PUSH1 0x01
00000dd7: DUP10
00000dd8: DUP2
00000dd9: ADD
00000dda: SWAP1
00000ddb: SWAP3
00000ddc: MSTORE
00000ddd: PUSH1 0x40
00000ddf: SWAP1
00000de0: KECCAK256
00000de1: SWAP1
00000de2: DUP5
00000de3: ADD
00000de4: SWAP1
00000de5: SSTORE
00000de6: DUP7
00000de7: SLOAD
00000de8: DUP8
00000de9: SWAP1
00000dea: DUP1
00000deb: PUSH2 0x0df0
00000dee: JUMPI
00000def: INVALID
00000df0: JUMPDEST
00000df1: PUSH1 0x01
00000df3: SWAP1
00000df4: SUB
00000df5: DUP2
00000df6: DUP2
00000df7: SWAP1
00000df8: PUSH1 0x00
00000dfa: MSTORE
00000dfb: PUSH1 0x20
00000dfd: PUSH1 0x00
00000dff: KECCAK256
00000e00: ADD
00000e01: PUSH1 0x00
00000e03: SWAP1
00000e04: SSTORE
00000e05: SWAP1
00000e06: SSTORE
00000e07: DUP7
00000e08: PUSH1 0x01
00000e0a: ADD
00000e0b: PUSH1 0x00
00000e0d: DUP8
00000e0e: DUP2
00000e0f: MSTORE
00000e10: PUSH1 0x20
00000e12: ADD
00000e13: SWAP1
00000e14: DUP2
00000e15: MSTORE
00000e16: PUSH1 0x20
00000e18: ADD
00000e19: PUSH1 0x00
00000e1b: KECCAK256
00000e1c: PUSH1 0x00
00000e1e: SWAP1
00000e1f: SSTORE
00000e20: PUSH1 0x01
00000e22: SWAP5
00000e23: POP
00000e24: POP
00000e25: POP
00000e26: POP
00000e27: POP
00000e28: PUSH2 0x0501
00000e2b: JUMP
00000e2c: JUMPDEST
00000e2d: PUSH1 0x00
00000e2f: SWAP2
00000e30: POP
00000e31: POP
00000e32: PUSH2 0x0501
00000e35: JUMP
00000e36: JUMPDEST
00000e37: PUSH1 0x00
00000e39: SLOAD
00000e3a: PUSH2 0x0100
00000e3d: SWAP1
00000e3e: DIV
00000e3f: PUSH1 0xff
00000e41: AND
00000e42: DUP1
00000e43: PUSH2 0x0e4f
00000e46: JUMPI
00000e47: POP
00000e48: PUSH2 0x0e4f
00000e4b: PUSH2 0x0b09
00000e4e: JUMP
00000e4f: JUMPDEST
00000e50: DUP1
00000e51: PUSH2 0x0e5d
00000e54: JUMPI
00000e55: POP
00000e56: PUSH1 0x00
00000e58: SLOAD
00000e59: PUSH1 0xff
00000e5b: AND
00000e5c: ISZERO
00000e5d: JUMPDEST
00000e5e: PUSH2 0x0e98
00000e61: JUMPI
00000e62: PUSH1 0x40
00000e64: MLOAD
00000e65: PUSH3 0x461bcd
00000e69: PUSH1 0xe5
00000e6b: SHL
00000e6c: DUP2
00000e6d: MSTORE
00000e6e: PUSH1 0x04
00000e70: ADD
00000e71: DUP1
00000e72: DUP1
00000e73: PUSH1 0x20
00000e75: ADD
00000e76: DUP3
00000e77: DUP2
00000e78: SUB
00000e79: DUP3
00000e7a: MSTORE
00000e7b: PUSH1 0x2e
00000e7d: DUP2
00000e7e: MSTORE
00000e7f: PUSH1 0x20
00000e81: ADD
00000e82: DUP1
00000e83: PUSH2 0x0f92
00000e86: PUSH1 0x2e
00000e88: SWAP2
00000e89: CODECOPY
00000e8a: PUSH1 0x40
00000e8c: ADD
00000e8d: SWAP2
00000e8e: POP
00000e8f: POP
00000e90: PUSH1 0x40
00000e92: MLOAD
00000e93: DUP1
00000e94: SWAP2
00000e95: SUB
00000e96: SWAP1
00000e97: REVERT
00000e98: JUMPDEST
00000e99: PUSH1 0x00
00000e9b: SLOAD
00000e9c: PUSH2 0x0100
00000e9f: SWAP1
00000ea0: DIV
00000ea1: PUSH1 0xff
00000ea3: AND
00000ea4: ISZERO
00000ea5: DUP1
00000ea6: ISZERO
00000ea7: PUSH2 0x0d0e
00000eaa: JUMPI
00000eab: PUSH1 0x00
00000ead: DUP1
00000eae: SLOAD
00000eaf: PUSH1 0xff
00000eb1: NOT
00000eb2: PUSH2 0xff00
00000eb5: NOT
00000eb6: SWAP1
00000eb7: SWAP2
00000eb8: AND
00000eb9: PUSH2 0x0100
00000ebc: OR
00000ebd: AND
00000ebe: PUSH1 0x01
00000ec0: OR
00000ec1: SWAP1
00000ec2: SSTORE
00000ec3: DUP1
00000ec4: ISZERO
00000ec5: PUSH2 0x0512
00000ec8: JUMPI
00000ec9: PUSH1 0x00
00000ecb: DUP1
00000ecc: SLOAD
00000ecd: PUSH2 0xff00
00000ed0: NOT
00000ed1: AND
00000ed2: SWAP1
00000ed3: SSTORE
00000ed4: POP
00000ed5: JUMP
00000ed6: INVALID
00000ed7: GASLIMIT
00000ed8: PUSH15 0x756d657261626c655365743a20696e
00000ee8: PUSH5 0x6578206f75
00000eee: PUSH21 0x206f6620626f756e6473416363657373436f6e7472
00000f04: PUSH16 0x6c3a2073656e646572206d7573742062
00000f15: PUSH6 0x20616e206164
00000f1c: PUSH14 0x696e20746f206772616e74416464
00000f2b: PUSH19 0x6573733a20756e61626c6520746f2073656e64
00000f3f: KECCAK256
00000f40: PUSH23 0x616c75652c20726563697069656e74206d617920686176
00000f58: PUSH6 0x207265766572
00000f5f: PUSH21 0x6564416363657373436f6e74726f6c3a2073656e64
00000f75: PUSH6 0x72206d757374
00000f7c: KECCAK256
00000f7d: PUSH3 0x652061
00000f81: PUSH15 0x2061646d696e20746f207265766f6b
00000f91: PUSH6 0x496e69746961
00000f98: PUSH13 0x697a61626c653a20636f6e7472
00000fa6: PUSH2 0x6374
00000fa9: KECCAK256
00000faa: PUSH10 0x7320616c726561647920
00000fb5: PUSH10 0x6e697469616c697a6564
00000fc0: COINBASE
00000fc1: PUSH5 0x6d696e526f
00000fc7: PUSH13 0x653a2063616c6c657220646f65
00000fd5: PUSH20 0x206e6f742068617665207468652041646d696e20
00000fea: PUSH19 0x6f6c65416363657373436f6e74726f6c3a2063
00000ffe: PUSH2 0x6e20
00001001: PUSH16 0x6e6c792072656e6f756e636520726f6c
00001012: PUSH6 0x7320666f7220
00001019: PUSH20 0x656c66a2646970667358221220d341fa407cebe2
0000102e: UNKNOWN(0xEB)
0000102f: PUSH12 0x2905070971c4101ce07a96e7
0000103c: UNKNOWN(0xCA)
0000103d: UNKNOWN(0xE3)
0000103e: PUSH25

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xf45f283a3de5d881ecb41f24ae86ba336a73bfecc727c72bc4d1de9cfb5d7e41
call_targets: 0x1c0df262a40f99d7d6145faba04db75d1126f93d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xf45f283a3de5d881ecb41f24ae86ba336a73bfecc727c72bc4d1de9cfb5d7e41",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1c0df262a40f99d7d6145faba04db75d1126f93d"
    ],
    "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": "0xe348da13",
            "selector": "0xe348da13",
            "calldata_variants": [
                "0xe348da13",
                "0xe348da130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5b541a6",
            "selector": "0xf5b541a6",
            "calldata_variants": [
                "0xf5b541a6",
                "0xf5b541a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xca15c873",
            "selector": "0xca15c873",
            "calldata_variants": [
                "0xca15c873",
                "0xca15c8730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x924ab158",
            "selector": "0x924ab158",
            "calldata_variants": [
                "0x924ab158",
                "0x924ab1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc1075329",
            "selector": "0xc1075329",
            "calldata_variants": [
                "0xc1075329",
                "0xc10753290000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1748,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2703,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xf45f283a3de5d881ecb41f24ae86ba336a73bfecc727c72bc4d1de9cfb5d7e41
call_targets: 0x1c0df262a40f99d7d6145faba04db75d1126f93d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xf45f283a3de5d881ecb41f24ae86ba336a73bfecc727c72bc4d1de9cfb5d7e41",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1c0df262a40f99d7d6145faba04db75d1126f93d"
    ],
    "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": "0xe348da13",
            "selector": "0xe348da13",
            "calldata_variants": [
                "0xe348da13",
                "0xe348da130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5b541a6",
            "selector": "0xf5b541a6",
            "calldata_variants": [
                "0xf5b541a6",
                "0xf5b541a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xca15c873",
            "selector": "0xca15c873",
            "calldata_variants": [
                "0xca15c873",
                "0xca15c8730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x924ab158",
            "selector": "0x924ab158",
            "calldata_variants": [
                "0x924ab158",
                "0x924ab1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc1075329",
            "selector": "0xc1075329",
            "calldata_variants": [
                "0xc1075329",
                "0xc10753290000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1748,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2703,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}