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

Analysis Run

58513970-20d5-4afb-b5db-8bb56f94424a

failed
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 8:01 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
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
crit 0 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
30468 report.consolidate complete 1 / 1 3 months ago
103667 artifact.fetch failed 1 / 3 1 week ago
103668 tool.cast_disasm complete 1 / 3 1 week ago
103669 analysis.bundle complete 1 / 3 1 week ago
103670 capability.graph complete 1 / 3 1 week ago
103671 detector.run complete 1 / 3 1 week ago
103672 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed the scoped first-party contracts in AUDIT_BUNDLE.txt (notably `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol` and `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol`) and found no exploitable reentrancy, access control, upgradeability, signature, oracle, or accounting issues in the provided code.
View stderr
[codex:1287140] OpenAI Codex v0.77.0 (research preview)
[codex:1287140] --------
[codex:1287140] workdir: /tmp/codex-multi-_m2ihdxb
[codex:1287140] model: gpt-5.2-codex
[codex:1287140] provider: openai
[codex:1287140] approval: never
[codex:1287140] sandbox: read-only
[codex:1287140] reasoning effort: xhigh
[codex:1287140] reasoning summaries: auto
[codex:1287140] session id: 019b691c-57f5-77c0-934b-f8677b84a306
[codex:1287140] --------
[codex:1287140] user
[codex:1287140] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1287140] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1287140] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1287140] 
[codex:1287140] Scope rules:
[codex:1287140] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1287140] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1287140] 
[codex:1287140] Output MUST be valid JSON matching the provided schema.
[codex:1287140] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1287140] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1287140] 
[codex:1287140] Output constraints (IMPORTANT):
[codex:1287140] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1287140] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1287140] mcp startup: no servers
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Checking for invoked skills and reading AUDIT_BUNDLE.txt**
[codex:1287140] exec
[codex:1287140] /bin/bash -lc ls in /tmp/codex-multi-_m2ihdxb succeeded in 5ms:
[codex:1287140] AUDIT_BUNDLE.txt
[codex:1287140] codex-output-schema.json
[codex:1287140] contracts
[codex:1287140] exec
[codex:1287140] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-_m2ihdxb succeeded in 5ms:
[codex:1287140] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1287140] 
[codex:1287140] ================================================================================
[codex:1287140] FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/errors/IEscrowErrors.sol
[codex:1287140] ================================================================================
[codex:1287140] // SPDX-License-Identifier: MIT
[codex:1287140] pragma solidity ^0.8.28;
[codex:1287140] 
[codex:1287140] interface IEscrowErrors {
[codex:1287140]     /// @notice Unauthorized function call
[codex:1287140]     /// @param caller The caller of the function
[codex:1287140]     error EscrowUnauthorized(address caller);
[codex:1287140] }
[codex:1287140] 
[codex:1287140] ================================================================================
[codex:1287140] FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/errors/IRateLimitErrors.sol
[codex:1287140] ================================================================================
[codex:1287140] // SPDX-License-Identifier: MIT
[codex:1287140] pragma solidity ^0.8.28;
[codex:1287140] 
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Distinguishing first-party contracts from dependencies**
[codex:1287140] exec
[codex:1287140] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-_m2ihdxb succeeded in 6ms:
[codex:1287140] 4:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/errors/IEscrowErrors.sol
[codex:1287140] 16:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/errors/IRateLimitErrors.sol
[codex:1287140] 29:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/interfaces/IEscrow.sol
[codex:1287140] 64:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/interfaces/IICS20Transfer.sol
[codex:1287140] 197:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/interfaces/IRateLimit.sol
[codex:1287140] 235:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/msgs/IICS20TransferMsgs.sol
[codex:1287140] 277:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol
[codex:1287140] 364:FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol
[codex:1287140] 490:FILE: contracts/node_modules/@openzeppelin/contracts/access/IAccessControl.sol
[codex:1287140] 592:FILE: contracts/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol
[codex:1287140] 682:FILE: contracts/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol
[codex:1287140] 692:FILE: contracts/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol
[codex:1287140] 702:FILE: contracts/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1287140] 785:FILE: contracts/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1287140] 987:FILE: contracts/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol
[codex:1287140] 1016:FILE: contracts/node_modules/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol
[codex:1287140] 1253:FILE: contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
[codex:1287140] 1485:FILE: contracts/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
[codex:1287140] 1523:FILE: contracts/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol
[codex:1287140] 1560:FILE: contracts/node_modules/@uniswap/permit2/src/interfaces/IEIP712.sol
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Assessing ownership of contract files**
[codex:1287140] exec
[codex:1287140] /bin/bash -lc "sed -n '360,520p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-_m2ihdxb succeeded in 6ms:
[codex:1287140]     }
[codex:1287140] }
[codex:1287140] 
[codex:1287140] ================================================================================
[codex:1287140] FILE: contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol
[codex:1287140] ================================================================================
[codex:1287140] // SPDX-License-Identifier: MIT
[codex:1287140] pragma solidity ^0.8.28;
[codex:1287140] 
[codex:1287140] import { AccessControlUpgradeable } from "@openzeppelin-upgradeable/access/AccessControlUpgradeable.sol";
[codex:1287140] import { IRateLimitErrors } from "../errors/IRateLimitErrors.sol";
[codex:1287140] import { IRateLimit } from "../interfaces/IRateLimit.sol";
[codex:1287140] 
[codex:1287140] /// @title Rate Limit Upgradeable contract
[codex:1287140] /// @notice This contract is an abstract contract for adding rate limiting to escrow contracts.
[codex:1287140] /// @dev Rate limits are set per token address by the rate limiter role and are enforced per day.
[codex:1287140] /// @dev Rate limits are applied to tokens leaving the escrow contract.
[codex:1287140] abstract contract RateLimitUpgradeable is IRateLimitErrors, IRateLimit, AccessControlUpgradeable {
[codex:1287140]     /// @notice Storage of the RateLimit contract
[codex:1287140]     /// @dev It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions when using with
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Analyzing Escrow contract security**
[codex:1287140] exec
[codex:1287140] /bin/bash -lc "sed -n '1016,1135p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-_m2ihdxb succeeded in 5ms:
[codex:1287140] FILE: contracts/node_modules/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol
[codex:1287140] ================================================================================
[codex:1287140] // SPDX-License-Identifier: MIT
[codex:1287140] // OpenZeppelin Contracts (last updated v5.0.0) (access/AccessControl.sol)
[codex:1287140] 
[codex:1287140] pragma solidity ^0.8.20;
[codex:1287140] 
[codex:1287140] import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol";
[codex:1287140] import {ContextUpgradeable} from "../utils/ContextUpgradeable.sol";
[codex:1287140] import {ERC165Upgradeable} from "../utils/introspection/ERC165Upgradeable.sol";
[codex:1287140] import {Initializable} from "../proxy/utils/Initializable.sol";
[codex:1287140] 
[codex:1287140] /**
[codex:1287140]  * @dev Contract module that allows children to implement role-based access
[codex:1287140]  * control mechanisms. This is a lightweight version that doesn't allow enumerating role
[codex:1287140]  * members except through off-chain means by accessing the contract event logs. Some
[codex:1287140]  * applications may benefit from on-chain enumerability, for those cases see
[codex:1287140]  * {AccessControlEnumerable}.
[codex:1287140]  *
[codex:1287140]  * Roles are referred to by their `bytes32` identifier. These should be exposed
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Analyzing access control and potential risks**
[codex:1287140] 
[codex:1287140] I’m examining how roles and permissions are managed between Escrow, RateLimitUpgradeable, and ICS20 contracts, focusing on role assignment, external calls for authorization, and the implications of trusting ICS20. There’s careful scrutiny of initialization logic, reentrancy risks from external calls, and subtle behaviors around Solidity’s custom errors and grantRole functions. It’s interesting to see potential issues mostly hinge on trusting ICS20, rather than outright bugs, and how design choices like timestamp-based rate limiting and external authorization checks shape security.
[codex:1287140] exec
[codex:1287140] /bin/bash -lc 'rg --files -g "*.sol"' in /tmp/codex-multi-_m2ihdxb succeeded in 11ms:
[codex:1287140] contracts/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol
[codex:1287140] contracts/node_modules/@uniswap/permit2/src/interfaces/ISignatureTransfer.sol
[codex:1287140] contracts/node_modules/@uniswap/permit2/src/interfaces/IEIP712.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts/access/IAccessControl.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/interfaces/IRateLimit.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/interfaces/IEscrow.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/interfaces/IICS20Transfer.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/errors/IRateLimitErrors.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/errors/IEscrowErrors.sol
[codex:1287140] contracts/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol
[codex:1287140] contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/msgs/IICS20TransferMsgs.sol
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Evaluating escrow and rate limit contracts**
[codex:1287140] exec
[codex:1287140] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-_m2ihdxb succeeded in 6ms:
[codex:1287140] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1287140] 
[codex:1287140] 
[codex:1287140] thinking
[codex:1287140] **Assessing upgradeable contract risks**
[codex:1287140] thinking
[codex:1287140] **Finalizing audit report JSON**
[codex:1287140] 
[codex:1287140] I'll summarize that the Escrow and RateLimitUpgradeable contracts show no exploitable issues, confirm third-party dependencies are excluded from findings, and produce a valid JSON output with no findings and a concise summary.
[codex:1287140] codex
[codex:1287140] {"no_findings":true,"summary":"Reviewed the scoped first-party contracts in AUDIT_BUNDLE.txt (notably `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol` and `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol`) and found no exploitable reentrancy, access control, upgradeability, signature, oracle, or accounting issues in the provided code.","findings":[]}
[codex:1287140] tokens used
[codex:1287140] 30,957
[codex:1287140] {"no_findings":true,"summary":"Reviewed the scoped first-party contracts in AUDIT_BUNDLE.txt (notably `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol` and `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol`) and found no exploitable reentrancy, access control, upgradeability, signature, oracle, or accounting issues in the provided code.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T08:01:12.459976+00:00",
        "returncode": 0
    },
    "summary": "Reviewed the scoped first-party contracts in AUDIT_BUNDLE.txt (notably `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol` and `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol`) and found no exploitable reentrancy, access control, upgradeability, signature, oracle, or accounting issues in the provided code.",
    "raw_final": {
        "summary": "Reviewed the scoped first-party contracts in AUDIT_BUNDLE.txt (notably `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/Escrow.sol` and `contracts/node_modules/@cosmos/solidity-ibc-eureka/contracts/utils/RateLimitUpgradeable.sol`) and found no exploitable reentrancy, access control, upgradeability, signature, oracle, or accounting issues in the provided code.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
2
Total opcodes
1639
Flags
No heuristic flags raised.
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 0x0012
0000000e: JUMPI
0000000f: PUSH0
00000010: DUP1
00000011: REVERT
00000012: JUMPDEST
00000013: PUSH0
00000014: CALLDATALOAD
00000015: PUSH1 0xe0
00000017: SHR
00000018: SWAP1
00000019: DUP2
0000001a: PUSH4 0x01ffc9a7
0000001f: EQ
00000020: PUSH2 0x0b1d
00000023: JUMPI
00000024: POP
00000025: DUP1
00000026: PUSH4 0x0779afe6
0000002b: EQ
0000002c: PUSH2 0x09e4
0000002f: JUMPI
00000030: DUP1
00000031: PUSH4 0x0b0aee69
00000036: EQ
00000037: PUSH2 0x0980
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0x248a9ca3
00000041: EQ
00000042: PUSH2 0x092e
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0x2f2ff15d
0000004c: EQ
0000004d: PUSH2 0x08d1
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0x36568abe
00000057: EQ
00000058: PUSH2 0x0867
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0x40f5d8e1
00000062: EQ
00000063: PUSH2 0x0780
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0x91d14854
0000006d: EQ
0000006e: PUSH2 0x070a
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0x9a61e8e1
00000078: EQ
00000079: PUSH2 0x06b8
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xa217fddf
00000083: EQ
00000084: PUSH2 0x069e
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xb4f22eb7
0000008e: EQ
0000008f: PUSH2 0x062d
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xc4d66de8
00000099: EQ
0000009a: PUSH2 0x03a8
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xc68f0c71
000000a4: EQ
000000a5: PUSH2 0x02b6
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xd34a3fd9
000000af: EQ
000000b0: PUSH2 0x01cf
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xd547741f
000000ba: EQ
000000bb: PUSH2 0x016b
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xe60d6462
000000c5: EQ
000000c6: PUSH2 0x0131
000000c9: JUMPI
000000ca: PUSH4 0xf11d5ea9
000000cf: EQ
000000d0: PUSH2 0x00d7
000000d3: JUMPI
000000d4: PUSH0
000000d5: DUP1
000000d6: REVERT
000000d7: JUMPDEST
000000d8: CALLVALUE
000000d9: PUSH2 0x012d
000000dc: JUMPI
000000dd: PUSH1 0x20
000000df: PUSH1 0x03
000000e1: NOT
000000e2: CALLDATASIZE
000000e3: ADD
000000e4: SLT
000000e5: PUSH2 0x012d
000000e8: JUMPI
000000e9: PUSH2 0x00f8
000000ec: PUSH2 0x00f3
000000ef: PUSH2 0x0bde
000000f2: JUMP
000000f3: JUMPDEST
000000f4: PUSH2 0x1374
000000f7: JUMP
000000f8: JUMPDEST
000000f9: PUSH0
000000fa: MSTORE
000000fb: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101
0000011c: PUSH1 0x20
0000011e: MSTORE
0000011f: PUSH1 0x20
00000121: PUSH1 0x40
00000123: PUSH0
00000124: KECCAK256
00000125: SLOAD
00000126: PUSH1 0x40
00000128: MLOAD
00000129: SWAP1
0000012a: DUP2
0000012b: MSTORE
0000012c: RETURN
0000012d: JUMPDEST
0000012e: PUSH0
0000012f: DUP1
00000130: REVERT
00000131: JUMPDEST
00000132: CALLVALUE
00000133: PUSH2 0x012d
00000136: JUMPI
00000137: PUSH0
00000138: PUSH1 0x03
0000013a: NOT
0000013b: CALLDATASIZE
0000013c: ADD
0000013d: SLT
0000013e: PUSH2 0x012d
00000141: JUMPI
00000142: PUSH1 0x20
00000144: PUSH1 0x40
00000146: MLOAD
00000147: PUSH32 0x15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db
00000168: DUP2
00000169: MSTORE
0000016a: RETURN
0000016b: JUMPDEST
0000016c: CALLVALUE
0000016d: PUSH2 0x012d
00000170: JUMPI
00000171: PUSH1 0x40
00000173: PUSH1 0x03
00000175: NOT
00000176: CALLDATASIZE
00000177: ADD
00000178: SLT
00000179: PUSH2 0x012d
0000017c: JUMPI
0000017d: PUSH2 0x01cd
00000180: PUSH1 0x04
00000182: CALLDATALOAD
00000183: PUSH2 0x018a
00000186: PUSH2 0x0bbb
00000189: JUMP
0000018a: JUMPDEST
0000018b: SWAP1
0000018c: PUSH2 0x01c8
0000018f: PUSH2 0x01c3
00000192: DUP3
00000193: PUSH0
00000194: MSTORE
00000195: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
000001b6: PUSH1 0x20
000001b8: MSTORE
000001b9: PUSH1 0x01
000001bb: PUSH1 0x40
000001bd: PUSH0
000001be: KECCAK256
000001bf: ADD
000001c0: SLOAD
000001c1: SWAP1
000001c2: JUMP
000001c3: JUMPDEST
000001c4: PUSH2 0x0dd9
000001c7: JUMP
000001c8: JUMPDEST
000001c9: PUSH2 0x117c
000001cc: JUMP
000001cd: JUMPDEST
000001ce: STOP
000001cf: JUMPDEST
000001d0: CALLVALUE
000001d1: PUSH2 0x012d
000001d4: JUMPI
000001d5: PUSH1 0x40
000001d7: PUSH1 0x03
000001d9: NOT
000001da: CALLDATASIZE
000001db: ADD
000001dc: SLT
000001dd: PUSH2 0x012d
000001e0: JUMPI
000001e1: PUSH2 0x01e8
000001e4: PUSH2 0x0bde
000001e7: JUMP
000001e8: JUMPDEST
000001e9: CALLER
000001ea: PUSH0
000001eb: SWAP1
000001ec: DUP2
000001ed: MSTORE
000001ee: PUSH32 0x9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb
0000020f: PUSH1 0x20
00000211: MSTORE
00000212: PUSH1 0x40
00000214: SWAP1
00000215: KECCAK256
00000216: SLOAD
00000217: PUSH1 0xff
00000219: AND
0000021a: ISZERO
0000021b: PUSH2 0x0266
0000021e: JUMPI
0000021f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000234: AND
00000235: PUSH0
00000236: MSTORE
00000237: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c100
00000258: PUSH1 0x20
0000025a: MSTORE
0000025b: PUSH1 0x24
0000025d: CALLDATALOAD
0000025e: PUSH1 0x40
00000260: PUSH0
00000261: KECCAK256
00000262: SSTORE
00000263: PUSH0
00000264: DUP1
00000265: RETURN
00000266: JUMPDEST
00000267: PUSH32 0xe2517d3f00000000000000000000000000000000000000000000000000000000
00000288: PUSH0
00000289: MSTORE
0000028a: CALLER
0000028b: PUSH1 0x04
0000028d: MSTORE
0000028e: PUSH32 0x15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db
000002af: PUSH1 0x24
000002b1: MSTORE
000002b2: PUSH1 0x44
000002b4: PUSH0
000002b5: REVERT
000002b6: JUMPDEST
000002b7: CALLVALUE
000002b8: PUSH2 0x012d
000002bb: JUMPI
000002bc: PUSH1 0x20
000002be: PUSH1 0x03
000002c0: NOT
000002c1: CALLDATASIZE
000002c2: ADD
000002c3: SLT
000002c4: PUSH2 0x012d
000002c7: JUMPI
000002c8: PUSH2 0x02cf
000002cb: PUSH2 0x0bde
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH1 0x24
000002d2: PUSH1 0x20
000002d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e9: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
0000030a: SLOAD
0000030b: AND
0000030c: PUSH1 0x40
0000030e: MLOAD
0000030f: SWAP3
00000310: DUP4
00000311: DUP1
00000312: SWAP3
00000313: PUSH32 0xf17a7e6600000000000000000000000000000000000000000000000000000000
00000334: DUP3
00000335: MSTORE
00000336: CALLER
00000337: PUSH1 0x04
00000339: DUP4
0000033a: ADD
0000033b: MSTORE
0000033c: GAS
0000033d: STATICCALL
0000033e: SWAP1
0000033f: DUP2
00000340: ISZERO
00000341: PUSH2 0x039d
00000344: JUMPI
00000345: PUSH0
00000346: SWAP2
00000347: PUSH2 0x035e
0000034a: JUMPI
0000034b: JUMPDEST
0000034c: PUSH2 0x01cd
0000034f: DUP4
00000350: PUSH2 0x0359
00000353: CALLER
00000354: DUP6
00000355: PUSH2 0x0c01
00000358: JUMP
00000359: JUMPDEST
0000035a: PUSH2 0x107a
0000035d: JUMP
0000035e: JUMPDEST
0000035f: SWAP1
00000360: POP
00000361: PUSH1 0x20
00000363: DUP2
00000364: RETURNDATASIZE
00000365: PUSH1 0x20
00000367: GT
00000368: PUSH2 0x0395
0000036b: JUMPI
0000036c: JUMPDEST
0000036d: DUP2
0000036e: PUSH2 0x0379
00000371: PUSH1 0x20
00000373: SWAP4
00000374: DUP4
00000375: PUSH2 0x0d6b
00000378: JUMP
00000379: JUMPDEST
0000037a: DUP2
0000037b: ADD
0000037c: SUB
0000037d: SLT
0000037e: PUSH2 0x012d
00000381: JUMPI
00000382: MLOAD
00000383: SWAP1
00000384: DUP2
00000385: ISZERO
00000386: ISZERO
00000387: DUP3
00000388: SUB
00000389: PUSH2 0x012d
0000038c: JUMPI
0000038d: SWAP1
0000038e: PUSH2 0x0359
00000391: PUSH2 0x034b
00000394: JUMP
00000395: JUMPDEST
00000396: RETURNDATASIZE
00000397: SWAP2
00000398: POP
00000399: PUSH2 0x036c
0000039c: JUMP
0000039d: JUMPDEST
0000039e: PUSH1 0x40
000003a0: MLOAD
000003a1: RETURNDATASIZE
000003a2: PUSH0
000003a3: DUP3
000003a4: RETURNDATACOPY
000003a5: RETURNDATASIZE
000003a6: SWAP1
000003a7: REVERT
000003a8: JUMPDEST
000003a9: CALLVALUE
000003aa: PUSH2 0x012d
000003ad: JUMPI
000003ae: PUSH1 0x20
000003b0: PUSH1 0x03
000003b2: NOT
000003b3: CALLDATASIZE
000003b4: ADD
000003b5: SLT
000003b6: PUSH2 0x012d
000003b9: JUMPI
000003ba: PUSH2 0x03c1
000003bd: PUSH2 0x0bde
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000003e3: SLOAD
000003e4: PUSH1 0xff
000003e6: DUP2
000003e7: PUSH1 0x40
000003e9: SHR
000003ea: AND
000003eb: ISZERO
000003ec: SWAP2
000003ed: PUSH8 0xffffffffffffffff
000003f6: DUP3
000003f7: AND
000003f8: DUP1
000003f9: ISZERO
000003fa: SWAP1
000003fb: DUP2
000003fc: PUSH2 0x0625
000003ff: JUMPI
00000400: JUMPDEST
00000401: PUSH1 0x01
00000403: EQ
00000404: SWAP1
00000405: DUP2
00000406: PUSH2 0x061b
00000409: JUMPI
0000040a: JUMPDEST
0000040b: ISZERO
0000040c: SWAP1
0000040d: DUP2
0000040e: PUSH2 0x0612
00000411: JUMPI
00000412: JUMPDEST
00000413: POP
00000414: PUSH2 0x05ea
00000417: JUMPI
00000418: DUP2
00000419: DUP4
0000041a: PUSH1 0x01
0000041c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000
0000043d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000452: SWAP6
00000453: AND
00000454: OR
00000455: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000476: SSTORE
00000477: PUSH2 0x0595
0000047a: JUMPI
0000047b: JUMPDEST
0000047c: POP
0000047d: PUSH2 0x0484
00000480: PUSH2 0x13c3
00000483: JUMP
00000484: JUMPDEST
00000485: PUSH2 0x048c
00000488: PUSH2 0x13c3
0000048b: JUMP
0000048c: JUMPDEST
0000048d: PUSH2 0x0494
00000490: PUSH2 0x13c3
00000493: JUMP
00000494: JUMPDEST
00000495: AND
00000496: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000004b7: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
000004d8: SLOAD
000004d9: AND
000004da: OR
000004db: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
000004fc: SSTORE
000004fd: PUSH2 0x0502
00000500: JUMPI
00000501: STOP
00000502: JUMPDEST
00000503: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff
00000524: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000545: SLOAD
00000546: AND
00000547: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000568: SSTORE
00000569: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
0000058a: PUSH1 0x20
0000058c: PUSH1 0x40
0000058e: MLOAD
0000058f: PUSH1 0x01
00000591: DUP2
00000592: MSTORE
00000593: LOG1
00000594: STOP
00000595: JUMPDEST
00000596: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff000000000000000000
000005b7: AND
000005b8: PUSH9 0x010000000000000001
000005c2: OR
000005c3: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000005e4: SSTORE
000005e5: DUP4
000005e6: PUSH2 0x047b
000005e9: JUMP
000005ea: JUMPDEST
000005eb: PUSH32 0xf92ee8a900000000000000000000000000000000000000000000000000000000
0000060c: PUSH0
0000060d: MSTORE
0000060e: PUSH1 0x04
00000610: PUSH0
00000611: REVERT
00000612: JUMPDEST
00000613: SWAP1
00000614: POP
00000615: ISZERO
00000616: DUP5
00000617: PUSH2 0x0412
0000061a: JUMP
0000061b: JUMPDEST
0000061c: ADDRESS
0000061d: EXTCODESIZE
0000061e: ISZERO
0000061f: SWAP2
00000620: POP
00000621: PUSH2 0x040a
00000624: JUMP
00000625: JUMPDEST
00000626: DUP5
00000627: SWAP2
00000628: POP
00000629: PUSH2 0x0400
0000062c: JUMP
0000062d: JUMPDEST
0000062e: CALLVALUE
0000062f: PUSH2 0x012d
00000632: JUMPI
00000633: PUSH1 0x60
00000635: PUSH1 0x03
00000637: NOT
00000638: CALLDATASIZE
00000639: ADD
0000063a: SLT
0000063b: PUSH2 0x012d
0000063e: JUMPI
0000063f: PUSH2 0x01cd
00000642: PUSH2 0x0649
00000645: PUSH2 0x0bde
00000648: JUMP
00000649: JUMPDEST
0000064a: PUSH2 0x0651
0000064d: PUSH2 0x0bbb
00000650: JUMP
00000651: JUMPDEST
00000652: POP
00000653: PUSH2 0x0695
00000656: CALLER
00000657: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000066c: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
0000068d: SLOAD
0000068e: AND
0000068f: CALLER
00000690: EQ
00000691: PUSH2 0x0c01
00000694: JUMP
00000695: JUMPDEST
00000696: PUSH1 0x44
00000698: CALLDATALOAD
00000699: SWAP1
0000069a: PUSH2 0x1284
0000069d: JUMP
0000069e: JUMPDEST
0000069f: CALLVALUE
000006a0: PUSH2 0x012d
000006a3: JUMPI
000006a4: PUSH0
000006a5: PUSH1 0x03
000006a7: NOT
000006a8: CALLDATASIZE
000006a9: ADD
000006aa: SLT
000006ab: PUSH2 0x012d
000006ae: JUMPI
000006af: PUSH1 0x20
000006b1: PUSH1 0x40
000006b3: MLOAD
000006b4: PUSH0
000006b5: DUP2
000006b6: MSTORE
000006b7: RETURN
000006b8: JUMPDEST
000006b9: CALLVALUE
000006ba: PUSH2 0x012d
000006bd: JUMPI
000006be: PUSH0
000006bf: PUSH1 0x03
000006c1: NOT
000006c2: CALLDATASIZE
000006c3: ADD
000006c4: SLT
000006c5: PUSH2 0x012d
000006c8: JUMPI
000006c9: PUSH1 0x20
000006cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e0: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
00000701: SLOAD
00000702: AND
00000703: PUSH1 0x40
00000705: MLOAD
00000706: SWAP1
00000707: DUP2
00000708: MSTORE
00000709: RETURN
0000070a: JUMPDEST
0000070b: CALLVALUE
0000070c: PUSH2 0x012d
0000070f: JUMPI
00000710: PUSH1 0x40
00000712: PUSH1 0x03
00000714: NOT
00000715: CALLDATASIZE
00000716: ADD
00000717: SLT
00000718: PUSH2 0x012d
0000071b: JUMPI
0000071c: PUSH2 0x0723
0000071f: PUSH2 0x0bbb
00000722: JUMP
00000723: JUMPDEST
00000724: PUSH1 0x04
00000726: CALLDATALOAD
00000727: PUSH0
00000728: MSTORE
00000729: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
0000074a: PUSH1 0x20
0000074c: MSTORE
0000074d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000762: PUSH1 0x40
00000764: PUSH0
00000765: KECCAK256
00000766: SWAP2
00000767: AND
00000768: PUSH0
00000769: MSTORE
0000076a: PUSH1 0x20
0000076c: MSTORE
0000076d: PUSH1 0x20
0000076f: PUSH1 0xff
00000771: PUSH1 0x40
00000773: PUSH0
00000774: KECCAK256
00000775: SLOAD
00000776: AND
00000777: PUSH1 0x40
00000779: MLOAD
0000077a: SWAP1
0000077b: ISZERO
0000077c: ISZERO
0000077d: DUP2
0000077e: MSTORE
0000077f: RETURN
00000780: JUMPDEST
00000781: CALLVALUE
00000782: PUSH2 0x012d
00000785: JUMPI
00000786: PUSH1 0x20
00000788: PUSH1 0x03
0000078a: NOT
0000078b: CALLDATASIZE
0000078c: ADD
0000078d: SLT
0000078e: PUSH2 0x012d
00000791: JUMPI
00000792: PUSH2 0x0799
00000795: PUSH2 0x0bde
00000798: JUMP
00000799: JUMPDEST
0000079a: PUSH1 0x24
0000079c: PUSH1 0x20
0000079e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b3: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
000007d4: SLOAD
000007d5: AND
000007d6: PUSH1 0x40
000007d8: MLOAD
000007d9: SWAP3
000007da: DUP4
000007db: DUP1
000007dc: SWAP3
000007dd: PUSH32 0xf17a7e6600000000000000000000000000000000000000000000000000000000
000007fe: DUP3
000007ff: MSTORE
00000800: CALLER
00000801: PUSH1 0x04
00000803: DUP4
00000804: ADD
00000805: MSTORE
00000806: GAS
00000807: STATICCALL
00000808: SWAP1
00000809: DUP2
0000080a: ISZERO
0000080b: PUSH2 0x039d
0000080e: JUMPI
0000080f: PUSH0
00000810: SWAP2
00000811: PUSH2 0x0828
00000814: JUMPI
00000815: JUMPDEST
00000816: PUSH2 0x01cd
00000819: DUP4
0000081a: PUSH2 0x0823
0000081d: CALLER
0000081e: DUP6
0000081f: PUSH2 0x0c01
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH2 0x0e5f
00000827: JUMP
00000828: JUMPDEST
00000829: SWAP1
0000082a: POP
0000082b: PUSH1 0x20
0000082d: DUP2
0000082e: RETURNDATASIZE
0000082f: PUSH1 0x20
00000831: GT
00000832: PUSH2 0x085f
00000835: JUMPI
00000836: JUMPDEST
00000837: DUP2
00000838: PUSH2 0x0843
0000083b: PUSH1 0x20
0000083d: SWAP4
0000083e: DUP4
0000083f: PUSH2 0x0d6b
00000842: JUMP
00000843: JUMPDEST
00000844: DUP2
00000845: ADD
00000846: SUB
00000847: SLT
00000848: PUSH2 0x012d
0000084b: JUMPI
0000084c: MLOAD
0000084d: SWAP1
0000084e: DUP2
0000084f: ISZERO
00000850: ISZERO
00000851: DUP3
00000852: SUB
00000853: PUSH2 0x012d
00000856: JUMPI
00000857: SWAP1
00000858: PUSH2 0x0823
0000085b: PUSH2 0x0815
0000085e: JUMP
0000085f: JUMPDEST
00000860: RETURNDATASIZE
00000861: SWAP2
00000862: POP
00000863: PUSH2 0x0836
00000866: JUMP
00000867: JUMPDEST
00000868: CALLVALUE
00000869: PUSH2 0x012d
0000086c: JUMPI
0000086d: PUSH1 0x40
0000086f: PUSH1 0x03
00000871: NOT
00000872: CALLDATASIZE
00000873: ADD
00000874: SLT
00000875: PUSH2 0x012d
00000878: JUMPI
00000879: PUSH2 0x0880
0000087c: PUSH2 0x0bbb
0000087f: JUMP
00000880: JUMPDEST
00000881: CALLER
00000882: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000897: DUP3
00000898: AND
00000899: SUB
0000089a: PUSH2 0x08a9
0000089d: JUMPI
0000089e: PUSH2 0x01cd
000008a1: SWAP1
000008a2: PUSH1 0x04
000008a4: CALLDATALOAD
000008a5: PUSH2 0x117c
000008a8: JUMP
000008a9: JUMPDEST
000008aa: PUSH32 0x6697b23200000000000000000000000000000000000000000000000000000000
000008cb: PUSH0
000008cc: MSTORE
000008cd: PUSH1 0x04
000008cf: PUSH0
000008d0: REVERT
000008d1: JUMPDEST
000008d2: CALLVALUE
000008d3: PUSH2 0x012d
000008d6: JUMPI
000008d7: PUSH1 0x40
000008d9: PUSH1 0x03
000008db: NOT
000008dc: CALLDATASIZE
000008dd: ADD
000008de: SLT
000008df: PUSH2 0x012d
000008e2: JUMPI
000008e3: PUSH2 0x01cd
000008e6: PUSH1 0x04
000008e8: CALLDATALOAD
000008e9: PUSH2 0x08f0
000008ec: PUSH2 0x0bbb
000008ef: JUMP
000008f0: JUMPDEST
000008f1: SWAP1
000008f2: PUSH2 0x0929
000008f5: PUSH2 0x01c3
000008f8: DUP3
000008f9: PUSH0
000008fa: MSTORE
000008fb: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
0000091c: PUSH1 0x20
0000091e: MSTORE
0000091f: PUSH1 0x01
00000921: PUSH1 0x40
00000923: PUSH0
00000924: KECCAK256
00000925: ADD
00000926: SLOAD
00000927: SWAP1
00000928: JUMP
00000929: JUMPDEST
0000092a: PUSH2 0x0f68
0000092d: JUMP
0000092e: JUMPDEST
0000092f: CALLVALUE
00000930: PUSH2 0x012d
00000933: JUMPI
00000934: PUSH1 0x20
00000936: PUSH1 0x03
00000938: NOT
00000939: CALLDATASIZE
0000093a: ADD
0000093b: SLT
0000093c: PUSH2 0x012d
0000093f: JUMPI
00000940: PUSH1 0x20
00000942: PUSH2 0x0978
00000945: PUSH1 0x04
00000947: CALLDATALOAD
00000948: PUSH0
00000949: MSTORE
0000094a: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
0000096b: PUSH1 0x20
0000096d: MSTORE
0000096e: PUSH1 0x01
00000970: PUSH1 0x40
00000972: PUSH0
00000973: KECCAK256
00000974: ADD
00000975: SLOAD
00000976: SWAP1
00000977: JUMP
00000978: JUMPDEST
00000979: PUSH1 0x40
0000097b: MLOAD
0000097c: SWAP1
0000097d: DUP2
0000097e: MSTORE
0000097f: RETURN
00000980: JUMPDEST
00000981: CALLVALUE
00000982: PUSH2 0x012d
00000985: JUMPI
00000986: PUSH1 0x20
00000988: PUSH1 0x03
0000098a: NOT
0000098b: CALLDATASIZE
0000098c: ADD
0000098d: SLT
0000098e: PUSH2 0x012d
00000991: JUMPI
00000992: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a7: PUSH2 0x09ae
000009aa: PUSH2 0x0bde
000009ad: JUMP
000009ae: JUMPDEST
000009af: AND
000009b0: PUSH0
000009b1: MSTORE
000009b2: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c100
000009d3: PUSH1 0x20
000009d5: MSTORE
000009d6: PUSH1 0x20
000009d8: PUSH1 0x40
000009da: PUSH0
000009db: KECCAK256
000009dc: SLOAD
000009dd: PUSH1 0x40
000009df: MLOAD
000009e0: SWAP1
000009e1: DUP2
000009e2: MSTORE
000009e3: RETURN
000009e4: JUMPDEST
000009e5: CALLVALUE
000009e6: PUSH2 0x012d
000009e9: JUMPI
000009ea: PUSH1 0x60
000009ec: PUSH1 0x03
000009ee: NOT
000009ef: CALLDATASIZE
000009f0: ADD
000009f1: SLT
000009f2: PUSH2 0x012d
000009f5: JUMPI
000009f6: PUSH1 0x04
000009f8: CALLDATALOAD
000009f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a0e: DUP2
00000a0f: AND
00000a10: SWAP1
00000a11: DUP2
00000a12: DUP2
00000a13: SUB
00000a14: PUSH2 0x012d
00000a17: JUMPI
00000a18: PUSH0
00000a19: PUSH1 0x20
00000a1b: SWAP2
00000a1c: PUSH2 0x0a23
00000a1f: PUSH2 0x0bbb
00000a22: JUMP
00000a23: JUMPDEST
00000a24: DUP3
00000a25: PUSH1 0x44
00000a27: CALLDATALOAD
00000a28: PUSH2 0x0a6a
00000a2b: CALLER
00000a2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a41: PUSH32 0x537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e41600
00000a62: SLOAD
00000a63: AND
00000a64: CALLER
00000a65: EQ
00000a66: PUSH2 0x0c01
00000a69: JUMP
00000a6a: JUMPDEST
00000a6b: PUSH2 0x0a74
00000a6e: DUP2
00000a6f: DUP9
00000a70: PUSH2 0x0c4b
00000a73: JUMP
00000a74: JUMPDEST
00000a75: PUSH1 0x40
00000a77: MLOAD
00000a78: SWAP1
00000a79: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a8e: DUP8
00000a8f: DUP4
00000a90: ADD
00000a91: SWAP5
00000a92: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000ab3: DUP7
00000ab4: MSTORE
00000ab5: AND
00000ab6: PUSH1 0x24
00000ab8: DUP4
00000ab9: ADD
00000aba: MSTORE
00000abb: PUSH1 0x44
00000abd: DUP3
00000abe: ADD
00000abf: MSTORE
00000ac0: PUSH1 0x44
00000ac2: DUP2
00000ac3: MSTORE
00000ac4: PUSH2 0x0ace
00000ac7: PUSH1 0x64
00000ac9: DUP3
00000aca: PUSH2 0x0d6b
00000acd: JUMP
00000ace: JUMPDEST
00000acf: MLOAD
00000ad0: SWAP3
00000ad1: GAS
00000ad2: CALL
00000ad3: ISZERO
00000ad4: PUSH2 0x039d
00000ad7: JUMPI
00000ad8: PUSH0
00000ad9: MLOAD
00000ada: RETURNDATASIZE
00000adb: PUSH2 0x0b14
00000ade: JUMPI
00000adf: POP
00000ae0: DUP1
00000ae1: EXTCODESIZE
00000ae2: ISZERO
00000ae3: JUMPDEST
00000ae4: PUSH2 0x0ae9
00000ae7: JUMPI
00000ae8: STOP
00000ae9: JUMPDEST
00000aea: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
00000b0b: PUSH0
00000b0c: MSTORE
00000b0d: PUSH1 0x04
00000b0f: MSTORE
00000b10: PUSH1 0x24
00000b12: PUSH0
00000b13: REVERT
00000b14: JUMPDEST
00000b15: PUSH1 0x01
00000b17: EQ
00000b18: ISZERO
00000b19: PUSH2 0x0ae3
00000b1c: JUMP
00000b1d: JUMPDEST
00000b1e: CALLVALUE
00000b1f: PUSH2 0x012d
00000b22: JUMPI
00000b23: PUSH1 0x20
00000b25: PUSH1 0x03
00000b27: NOT
00000b28: CALLDATASIZE
00000b29: ADD
00000b2a: SLT
00000b2b: PUSH2 0x012d
00000b2e: JUMPI
00000b2f: PUSH1 0x04
00000b31: CALLDATALOAD
00000b32: SWAP1
00000b33: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000b54: DUP3
00000b55: AND
00000b56: DUP1
00000b57: SWAP3
00000b58: SUB
00000b59: PUSH2 0x012d
00000b5c: JUMPI
00000b5d: DUP2
00000b5e: PUSH32 0x7965db0b00000000000000000000000000000000000000000000000000000000
00000b7f: PUSH1 0x20
00000b81: SWAP4
00000b82: EQ
00000b83: SWAP1
00000b84: DUP2
00000b85: ISZERO
00000b86: PUSH2 0x0b91
00000b89: JUMPI
00000b8a: JUMPDEST
00000b8b: POP
00000b8c: ISZERO
00000b8d: ISZERO
00000b8e: DUP2
00000b8f: MSTORE
00000b90: RETURN
00000b91: JUMPDEST
00000b92: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00000bb3: SWAP2
00000bb4: POP
00000bb5: EQ
00000bb6: DUP4
00000bb7: PUSH2 0x0b8a
00000bba: JUMP
00000bbb: JUMPDEST
00000bbc: PUSH1 0x24
00000bbe: CALLDATALOAD
00000bbf: SWAP1
00000bc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd5: DUP3
00000bd6: AND
00000bd7: DUP3
00000bd8: SUB
00000bd9: PUSH2 0x012d
00000bdc: JUMPI
00000bdd: JUMP
00000bde: JUMPDEST
00000bdf: PUSH1 0x04
00000be1: CALLDATALOAD
00000be2: SWAP1
00000be3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf8: DUP3
00000bf9: AND
00000bfa: DUP3
00000bfb: SUB
00000bfc: PUSH2 0x012d
00000bff: JUMPI
00000c00: JUMP
00000c01: JUMPDEST
00000c02: ISZERO
00000c03: PUSH2 0x0c09
00000c06: JUMPI
00000c07: POP
00000c08: JUMP
00000c09: JUMPDEST
00000c0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c1f: SWAP1
00000c20: PUSH32 0xacd411fe00000000000000000000000000000000000000000000000000000000
00000c41: PUSH0
00000c42: MSTORE
00000c43: AND
00000c44: PUSH1 0x04
00000c46: MSTORE
00000c47: PUSH1 0x24
00000c49: PUSH0
00000c4a: REVERT
00000c4b: JUMPDEST
00000c4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c61: DUP2
00000c62: AND
00000c63: PUSH0
00000c64: MSTORE
00000c65: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c100
00000c86: PUSH1 0x20
00000c88: MSTORE
00000c89: PUSH1 0x40
00000c8b: PUSH0
00000c8c: KECCAK256
00000c8d: SLOAD
00000c8e: SWAP1
00000c8f: DUP2
00000c90: ISZERO
00000c91: PUSH2 0x0d66
00000c94: JUMPI
00000c95: PUSH2 0x0c9d
00000c98: SWAP1
00000c99: PUSH2 0x1374
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: SWAP1
00000c9f: DUP2
00000ca0: PUSH0
00000ca1: MSTORE
00000ca2: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101
00000cc3: PUSH1 0x20
00000cc5: MSTORE
00000cc6: PUSH1 0x40
00000cc8: PUSH0
00000cc9: KECCAK256
00000cca: SLOAD
00000ccb: SWAP3
00000ccc: DUP4
00000ccd: ADD
00000cce: DUP1
00000ccf: SWAP4
00000cd0: GT
00000cd1: PUSH2 0x0d39
00000cd4: JUMPI
00000cd5: DUP1
00000cd6: DUP4
00000cd7: GT
00000cd8: PUSH2 0x0d09
00000cdb: JUMPI
00000cdc: POP
00000cdd: PUSH0
00000cde: MSTORE
00000cdf: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101
00000d00: PUSH1 0x20
00000d02: MSTORE
00000d03: PUSH1 0x40
00000d05: PUSH0
00000d06: KECCAK256
00000d07: SSTORE
00000d08: JUMP
00000d09: JUMPDEST
00000d0a: SWAP1
00000d0b: POP
00000d0c: PUSH32 0x5f71358600000000000000000000000000000000000000000000000000000000
00000d2d: PUSH0
00000d2e: MSTORE
00000d2f: PUSH1 0x04
00000d31: MSTORE
00000d32: PUSH1 0x24
00000d34: MSTORE
00000d35: PUSH1 0x44
00000d37: PUSH0
00000d38: REVERT
00000d39: JUMPDEST
00000d3a: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000d5b: PUSH0
00000d5c: MSTORE
00000d5d: PUSH1 0x11
00000d5f: PUSH1 0x04
00000d61: MSTORE
00000d62: PUSH1 0x24
00000d64: PUSH0
00000d65: REVERT
00000d66: JUMPDEST
00000d67: POP
00000d68: POP
00000d69: POP
00000d6a: JUMP
00000d6b: JUMPDEST
00000d6c: SWAP1
00000d6d: PUSH1 0x1f
00000d6f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000d90: SWAP2
00000d91: ADD
00000d92: AND
00000d93: DUP2
00000d94: ADD
00000d95: SWAP1
00000d96: DUP2
00000d97: LT
00000d98: PUSH8 0xffffffffffffffff
00000da1: DUP3
00000da2: GT
00000da3: OR
00000da4: PUSH2 0x0dac
00000da7: JUMPI
00000da8: PUSH1 0x40
00000daa: MSTORE
00000dab: JUMP
00000dac: JUMPDEST
00000dad: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000dce: PUSH0
00000dcf: MSTORE
00000dd0: PUSH1 0x41
00000dd2: PUSH1 0x04
00000dd4: MSTORE
00000dd5: PUSH1 0x24
00000dd7: PUSH0
00000dd8: REVERT
00000dd9: JUMPDEST
00000dda: DUP1
00000ddb: PUSH0
00000ddc: MSTORE
00000ddd: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
00000dfe: PUSH1 0x20
00000e00: MSTORE
00000e01: PUSH1 0x40
00000e03: PUSH0
00000e04: KECCAK256
00000e05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e1a: CALLER
00000e1b: AND
00000e1c: PUSH0
00000e1d: MSTORE
00000e1e: PUSH1 0x20
00000e20: MSTORE
00000e21: PUSH1 0xff
00000e23: PUSH1 0x40
00000e25: PUSH0
00000e26: KECCAK256
00000e27: SLOAD
00000e28: AND
00000e29: ISZERO
00000e2a: PUSH2 0x0e30
00000e2d: JUMPI
00000e2e: POP
00000e2f: JUMP
00000e30: JUMPDEST
00000e31: PUSH32 0xe2517d3f00000000000000000000000000000000000000000000000000000000
00000e52: PUSH0
00000e53: MSTORE
00000e54: CALLER
00000e55: PUSH1 0x04
00000e57: MSTORE
00000e58: PUSH1 0x24
00000e5a: MSTORE
00000e5b: PUSH1 0x44
00000e5d: PUSH0
00000e5e: REVERT
00000e5f: JUMPDEST
00000e60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e75: DUP2
00000e76: AND
00000e77: PUSH0
00000e78: SWAP1
00000e79: DUP2
00000e7a: MSTORE
00000e7b: PUSH32 0x9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb
00000e9c: PUSH1 0x20
00000e9e: MSTORE
00000e9f: PUSH1 0x40
00000ea1: SWAP1
00000ea2: KECCAK256
00000ea3: SLOAD
00000ea4: PUSH1 0xff
00000ea6: AND
00000ea7: PUSH2 0x0f63
00000eaa: JUMPI
00000eab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ec0: AND
00000ec1: PUSH0
00000ec2: DUP2
00000ec3: DUP2
00000ec4: MSTORE
00000ec5: PUSH32 0x9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb
00000ee6: PUSH1 0x20
00000ee8: MSTORE
00000ee9: PUSH1 0x40
00000eeb: DUP2
00000eec: KECCAK256
00000eed: DUP1
00000eee: SLOAD
00000eef: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000f10: AND
00000f11: PUSH1 0x01
00000f13: OR
00000f14: SWAP1
00000f15: SSTORE
00000f16: CALLER
00000f17: SWAP2
00000f18: SWAP1
00000f19: PUSH32 0x15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db
00000f3a: SWAP1
00000f3b: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00000f5c: SWAP1
00000f5d: DUP1
00000f5e: LOG4
00000f5f: PUSH1 0x01
00000f61: SWAP1
00000f62: JUMP
00000f63: JUMPDEST
00000f64: POP
00000f65: PUSH0
00000f66: SWAP1
00000f67: JUMP
00000f68: JUMPDEST
00000f69: DUP1
00000f6a: PUSH0
00000f6b: MSTORE
00000f6c: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
00000f8d: PUSH1 0x20
00000f8f: MSTORE
00000f90: PUSH1 0x40
00000f92: PUSH0
00000f93: KECCAK256
00000f94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa9: DUP4
00000faa: AND
00000fab: PUSH0
00000fac: MSTORE
00000fad: PUSH1 0x20
00000faf: MSTORE
00000fb0: PUSH1 0xff
00000fb2: PUSH1 0x40
00000fb4: PUSH0
00000fb5: KECCAK256
00000fb6: SLOAD
00000fb7: AND
00000fb8: ISZERO
00000fb9: PUSH0
00000fba: EQ
00000fbb: PUSH2 0x1074
00000fbe: JUMPI
00000fbf: DUP1
00000fc0: PUSH0
00000fc1: MSTORE
00000fc2: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
00000fe3: PUSH1 0x20
00000fe5: MSTORE
00000fe6: PUSH1 0x40
00000fe8: PUSH0
00000fe9: KECCAK256
00000fea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fff: DUP4
00001000: AND
00001001: PUSH0
00001002: MSTORE
00001003: PUSH1 0x20
00001005: MSTORE
00001006: PUSH1 0x40
00001008: PUSH0
00001009: KECCAK256
0000100a: PUSH1 0x01
0000100c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000102d: DUP3
0000102e: SLOAD
0000102f: AND
00001030: OR
00001031: SWAP1
00001032: SSTORE
00001033: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001048: CALLER
00001049: SWAP3
0000104a: AND
0000104b: SWAP1
0000104c: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
0000106d: PUSH0
0000106e: DUP1
0000106f: LOG4
00001070: PUSH1 0x01
00001072: SWAP1
00001073: JUMP
00001074: JUMPDEST
00001075: POP
00001076: POP
00001077: PUSH0
00001078: SWAP1
00001079: JUMP
0000107a: JUMPDEST
0000107b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001090: DUP2
00001091: AND
00001092: PUSH0
00001093: SWAP1
00001094: DUP2
00001095: MSTORE
00001096: PUSH32 0x9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb
000010b7: PUSH1 0x20
000010b9: MSTORE
000010ba: PUSH1 0x40
000010bc: SWAP1
000010bd: KECCAK256
000010be: SLOAD
000010bf: PUSH1 0xff
000010c1: AND
000010c2: ISZERO
000010c3: PUSH2 0x0f63
000010c6: JUMPI
000010c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010dc: AND
000010dd: PUSH0
000010de: DUP2
000010df: DUP2
000010e0: MSTORE
000010e1: PUSH32 0x9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb
00001102: PUSH1 0x20
00001104: MSTORE
00001105: PUSH1 0x40
00001107: DUP2
00001108: KECCAK256
00001109: DUP1
0000110a: SLOAD
0000110b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000112c: AND
0000112d: SWAP1
0000112e: SSTORE
0000112f: CALLER
00001130: SWAP2
00001131: SWAP1
00001132: PUSH32 0x15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db
00001153: SWAP1
00001154: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00001175: SWAP1
00001176: DUP1
00001177: LOG4
00001178: PUSH1 0x01
0000117a: SWAP1
0000117b: JUMP
0000117c: JUMPDEST
0000117d: DUP1
0000117e: PUSH0
0000117f: MSTORE
00001180: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
000011a1: PUSH1 0x20
000011a3: MSTORE
000011a4: PUSH1 0x40
000011a6: PUSH0
000011a7: KECCAK256
000011a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011bd: DUP4
000011be: AND
000011bf: PUSH0
000011c0: MSTORE
000011c1: PUSH1 0x20
000011c3: MSTORE
000011c4: PUSH1 0xff
000011c6: PUSH1 0x40
000011c8: PUSH0
000011c9: KECCAK256
000011ca: SLOAD
000011cb: AND
000011cc: PUSH0
000011cd: EQ
000011ce: PUSH2 0x1074
000011d1: JUMPI
000011d2: DUP1
000011d3: PUSH0
000011d4: MSTORE
000011d5: PUSH32 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800
000011f6: PUSH1 0x20
000011f8: MSTORE
000011f9: PUSH1 0x40
000011fb: PUSH0
000011fc: KECCAK256
000011fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001212: DUP4
00001213: AND
00001214: PUSH0
00001215: MSTORE
00001216: PUSH1 0x20
00001218: MSTORE
00001219: PUSH1 0x40
0000121b: PUSH0
0000121c: KECCAK256
0000121d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000123e: DUP2
0000123f: SLOAD
00001240: AND
00001241: SWAP1
00001242: SSTORE
00001243: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001258: CALLER
00001259: SWAP3
0000125a: AND
0000125b: SWAP1
0000125c: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
0000127d: PUSH0
0000127e: DUP1
0000127f: LOG4
00001280: PUSH1 0x01
00001282: SWAP1
00001283: JUMP
00001284: JUMPDEST
00001285: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000129a: DUP2
0000129b: AND
0000129c: PUSH0
0000129d: MSTORE
0000129e: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c100
000012bf: PUSH1 0x20
000012c1: MSTORE
000012c2: PUSH1 0x40
000012c4: PUSH0
000012c5: KECCAK256
000012c6: SLOAD
000012c7: ISZERO
000012c8: PUSH2 0x1370
000012cb: JUMPI
000012cc: PUSH2 0x12d4
000012cf: SWAP1
000012d0: PUSH2 0x1374
000012d3: JUMP
000012d4: JUMPDEST
000012d5: PUSH0
000012d6: DUP2
000012d7: DUP2
000012d8: MSTORE
000012d9: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101
000012fa: PUSH1 0x20
000012fc: MSTORE
000012fd: PUSH1 0x40
000012ff: SWAP1
00001300: KECCAK256
00001301: SLOAD
00001302: SWAP2
00001303: DUP1
00001304: DUP4
00001305: GT
00001306: PUSH2 0x133a
00001309: JUMPI
0000130a: POP
0000130b: SWAP1
0000130c: POP
0000130d: PUSH0
0000130e: MSTORE
0000130f: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101
00001330: PUSH1 0x20
00001332: MSTORE
00001333: PUSH0
00001334: PUSH1 0x40
00001336: DUP2
00001337: KECCAK256
00001338: SSTORE
00001339: JUMP
0000133a: JUMPDEST
0000133b: DUP3
0000133c: SUB
0000133d: SWAP2
0000133e: DUP3
0000133f: GT
00001340: PUSH2 0x0d39
00001343: JUMPI
00001344: PUSH0
00001345: MSTORE
00001346: PUSH32 0xcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101
00001367: PUSH1 0x20
00001369: MSTORE
0000136a: PUSH1 0x40
0000136c: PUSH0
0000136d: KECCAK256
0000136e: SSTORE
0000136f: JUMP
00001370: JUMPDEST
00001371: POP
00001372: POP
00001373: JUMP
00001374: JUMPDEST
00001375: PUSH1 0x40
00001377: MLOAD
00001378: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00001399: PUSH1 0x20
0000139b: DUP3
0000139c: ADD
0000139d: SWAP3
0000139e: PUSH3 0x015180
000013a2: TIMESTAMP
000013a3: DIV
000013a4: DUP5
000013a5: MSTORE
000013a6: PUSH1 0x60
000013a8: SHL
000013a9: AND
000013aa: PUSH1 0x40
000013ac: DUP3
000013ad: ADD
000013ae: MSTORE
000013af: PUSH1 0x34
000013b1: DUP2
000013b2: MSTORE
000013b3: PUSH2 0x13bd
000013b6: PUSH1 0x54
000013b8: DUP3
000013b9: PUSH2 0x0d6b
000013bc: JUMP
000013bd: JUMPDEST
000013be: MLOAD
000013bf: SWAP1
000013c0: KECCAK256
000013c1: SWAP1
000013c2: JUMP
000013c3: JUMPDEST
000013c4: PUSH1 0xff
000013c6: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000013e7: SLOAD
000013e8: PUSH1 0x40
000013ea: SHR
000013eb: AND
000013ec: ISZERO
000013ed: PUSH2 0x13f2
000013f0: JUMPI
000013f1: JUMP
000013f2: JUMPDEST
000013f3: PUSH32 0xd7e6bcf800000000000000000000000000000000000000000000000000000000
00001414: PUSH0
00001415: MSTORE
00001416: PUSH1 0x04
00001418: PUSH0
00001419: REVERT
0000141a: INVALID
0000141b: LOG1
0000141c: PUSH5 0x736f6c6343
00001422: STOP
00001423: ADDMOD
00001424: SHR
00001425: STOP
00001426: EXP

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: 0xad1961313e1337cc102b0f9ff6d214d56b3c63742da79b47c9d555346150fb6e
call_targets: 0xf24a818d2e276936a7abddfaad9c369a5b9dcde8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xad1961313e1337cc102b0f9ff6d214d56b3c63742da79b47c9d555346150fb6e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf24a818d2e276936a7abddfaad9c369a5b9dcde8"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0779afe6",
            "selector": "0x0779afe6",
            "calldata_variants": [
                "0x0779afe6",
                "0x0779afe60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0b0aee69",
            "selector": "0x0b0aee69",
            "calldata_variants": [
                "0x0b0aee69",
                "0x0b0aee690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40f5d8e1",
            "selector": "0x40f5d8e1",
            "calldata_variants": [
                "0x40f5d8e1",
                "0x40f5d8e10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2770,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xad1961313e1337cc102b0f9ff6d214d56b3c63742da79b47c9d555346150fb6e
call_targets: 0xf24a818d2e276936a7abddfaad9c369a5b9dcde8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xad1961313e1337cc102b0f9ff6d214d56b3c63742da79b47c9d555346150fb6e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf24a818d2e276936a7abddfaad9c369a5b9dcde8"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0779afe6",
            "selector": "0x0779afe6",
            "calldata_variants": [
                "0x0779afe6",
                "0x0779afe60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0b0aee69",
            "selector": "0x0b0aee69",
            "calldata_variants": [
                "0x0b0aee69",
                "0x0b0aee690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40f5d8e1",
            "selector": "0x40f5d8e1",
            "calldata_variants": [
                "0x40f5d8e1",
                "0x40f5d8e10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2770,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}