Hanko
Sepoliablock #11840147RPC https://eth-sepolia.g.alchemy.com/…latency 81ms
53 passed · 2 failed · 1 pending

Environment

RPC, network and .env keys. Key values are never read — only whether they are set.

8 checks
  • RPC reachable and on the right network›
    Expected
    chainId 11155111
    Actual
    chainId 11155111 · block #11840147 · 81ms
    How
    eth_chainId + eth_blockNumber
    Source
    deployments/11155111.json
  • SEPOLIA_RPC_URL is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example
  • ETHERSCAN_API_KEY is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example
  • DEPLOYER_PRIVATE_KEY is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example
  • ATTESTER_PRIVATE_KEY is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example
  • ACTOR_ALICE_PK is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example
  • ACTOR_STRANGER_PK is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example
  • ACTOR_BOT_PK is set›
    Expected
    set
    Actual
    set
    How
    process.env (presence only; the value is never read)
    Source
    .env.example

Uniswap v4 Permissioned

Do the router, the hook and the position manager share one adapter factory and one PoolManager?

12 checks
  • PoolManager has code›
    Expected
    extcodesize > 0
    Actual
    24009 byte
    How
    eth_getCode(0xE03A…3543)
    Source
    Uniswap/contracts (pinned)
    0xE03A…3543 ↗ Etherscan
  • PermissionsAdapterFactory has code›
    Expected
    extcodesize > 0
    Actual
    11623 byte
    How
    eth_getCode(0xe6b0…fa2b)
    Source
    Uniswap/contracts (pinned)
    0xe6b0…fa2b ↗ Etherscan
  • PermissionedHooks has code›
    Expected
    extcodesize > 0
    Actual
    6909 byte
    How
    eth_getCode(0x5124…e8c0)
    Source
    Uniswap/contracts (pinned)
    0x5124…e8c0 ↗ Etherscan
  • PermissionedPositionManager has code›
    Expected
    extcodesize > 0
    Actual
    23133 byte
    How
    eth_getCode(0x864c…f5e1)
    Source
    Uniswap/contracts (pinned)
    0x864c…f5e1 ↗ Etherscan
  • UniversalRouterV22 has code›
    Expected
    extcodesize > 0
    Actual
    23233 byte
    How
    eth_getCode(0x5093…787c)
    Source
    Uniswap/contracts (pinned)
    0x5093…787c ↗ Etherscan
  • UniversalRouter v2.2 → PERMISSIONS_ADAPTER_FACTORY›
    Expected
    0xe6b0d96919334c33d06266d1420f97f6f434fa2b
    Actual
    0xE6B0d96919334C33d06266d1420F97f6f434fA2B
    How
    eth_call PERMISSIONS_ADAPTER_FACTORY() @ 0x5093…787c
    Source
    v4-hooks-public PermissionedHooks.sol:32 / v4-periphery PermissionedV4Router.sol:15 / PermissionedPositionManager.sol:24
    0x5093…787c ↗ Etherscan
  • PermissionedHooks → PERMISSIONS_ADAPTER_FACTORY›
    Expected
    0xe6b0d96919334c33d06266d1420f97f6f434fa2b
    Actual
    0xE6B0d96919334C33d06266d1420F97f6f434fA2B
    How
    eth_call PERMISSIONS_ADAPTER_FACTORY() @ 0x5124…e8c0
    Source
    v4-hooks-public PermissionedHooks.sol:32 / v4-periphery PermissionedV4Router.sol:15 / PermissionedPositionManager.sol:24
    0x5124…e8c0 ↗ Etherscan
  • PermissionedPositionManager → PERMISSIONS_ADAPTER_FACTORY›
    Expected
    0xe6b0d96919334c33d06266d1420f97f6f434fa2b
    Actual
    0xE6B0d96919334C33d06266d1420F97f6f434fA2B
    How
    eth_call PERMISSIONS_ADAPTER_FACTORY() @ 0x864c…f5e1
    Source
    v4-hooks-public PermissionedHooks.sol:32 / v4-periphery PermissionedV4Router.sol:15 / PermissionedPositionManager.sol:24
    0x864c…f5e1 ↗ Etherscan
  • PermissionedHooks → poolManager›
    Expected
    0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
    Actual
    0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
    How
    eth_call poolManager() @ 0x5124…e8c0
    Source
    v4-core BaseHook / v4-periphery ImmutableState
    0x5124…e8c0 ↗ Etherscan
  • PermissionedPositionManager → poolManager›
    Expected
    0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
    Actual
    0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
    How
    eth_call poolManager() @ 0x864c…f5e1
    Source
    v4-core BaseHook / v4-periphery ImmutableState
    0x864c…f5e1 ↗ Etherscan
  • PermissionsAdapterFactory → POOL_MANAGER›
    Expected
    0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
    Actual
    0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
    How
    eth_call POOL_MANAGER() @ 0xe6b0…fa2b
    Source
    v4-periphery IPermissionsAdapterFactory.sol
    0xe6b0…fa2b ↗ Etherscan
  • PermissionedHooks address flags›
    Expected
    0x28c0 (beforeInitialize|beforeAddLiquidity|beforeSwap|afterSwap)
    Actual
    0x28c0
    How
    uint160(hook) & Hooks.ALL_HOOK_MASK (no chain call needed)
    Source
    Uniswap/contracts PermissionedHooksDeployer.sol + v4-core Hooks.sol:26
    0x5124…e8c0 ↗ Etherscan

ENSv2

Is the Sepolia stack the 15 Sep deployment we pinned, and and is the venue's ENS root in place?

2 failed · 18 checks
  • RootRegistry has code›
    Expected
    extcodesize > 0
    Actual
    16000 byte
    How
    eth_getCode(0x9703…a9ce)
    Source
    ensdomains/contracts-v2 (pinned)
    0x9703…a9ce ↗ Etherscan
  • ETHRegistry has code›
    Expected
    extcodesize > 0
    Actual
    16000 byte
    How
    eth_getCode(0x657e…e09e)
    Source
    ensdomains/contracts-v2 (pinned)
    0x657e…e09e ↗ Etherscan
  • ETHRegistrar has code›
    Expected
    extcodesize > 0
    Actual
    8037 byte
    How
    eth_getCode(0xabe7…94ca)
    Source
    ensdomains/contracts-v2 (pinned)
    0xabe7…94ca ↗ Etherscan
  • VerifiableFactory has code›
    Expected
    extcodesize > 0
    Actual
    1403 byte
    How
    eth_getCode(0x9e72…841c)
    Source
    ensdomains/contracts-v2 (pinned)
    0x9e72…841c ↗ Etherscan
  • UserRegistryImpl has code›
    Expected
    extcodesize > 0
    Actual
    18841 byte
    How
    eth_getCode(0xa803…0263)
    Source
    ensdomains/contracts-v2 (pinned)
    0xa803…0263 ↗ Etherscan
  • PermissionedResolverImpl has code›
    Expected
    extcodesize > 0
    Actual
    15608 byte
    How
    eth_getCode(0x14f0…f243)
    Source
    ensdomains/contracts-v2 (pinned)
    0x14f0…f243 ↗ Etherscan
  • UniversalResolverV2 has code›
    Expected
    extcodesize > 0
    Actual
    18792 byte
    How
    eth_getCode(0x5d25…03e3)
    Source
    ensdomains/contracts-v2 (pinned)
    0x5d25…03e3 ↗ Etherscan
  • ManagedUniversalResolverProxy has code›
    Expected
    extcodesize > 0
    Actual
    2612 byte
    How
    eth_getCode(0x6d80…e6F1)
    Source
    ensdomains/contracts-v2 (pinned)
    0x6d80…e6F1 ↗ Etherscan
  • UniversalHelper has code›
    Expected
    extcodesize > 0
    Actual
    4933 byte
    How
    eth_getCode(0x33f5…7df5)
    Source
    ensdomains/contracts-v2 (pinned)
    0x33f5…7df5 ↗ Etherscan
  • MockUSDC has code›
    Expected
    extcodesize > 0
    Actual
    4309 byte
    How
    eth_getCode(0x16f9…aa8e)
    Source
    ensdomains/contracts-v2 (pinned)
    0x16f9…aa8e ↗ Etherscan
  • UniversalResolverProxy has code›
    Expected
    extcodesize > 0
    Actual
    2491 byte
    How
    eth_getCode(0xeEeE…EeEe)
    Source
    ensdomains/contracts-v2 (pinned)
    0xeEeE…EeEe ↗ Etherscan
  • Universal Resolver proxy → ROOT_REGISTRY›
    Expected
    0x9703dbd26dab89504490994138cf2c575251a9ce
    Actual
    0xB458D6a3a77919449d03e7A6903C26827c1eC43f
    How
    eth_call ROOT_REGISTRY() @ 0xeEeE…EeEe
    Source
    ensdomains/contracts-v2 @ 366de741187e38686c904242753c532b7de70d47

    What to do: The ENS Sepolia stack may have been redeployed. Ask at the ENS booth: "Has the Sepolia ENSv2 stack been redeployed since the 15 Sep deployment, and is there a pinned hackathon deployment?" Then update deployments/11155111.json.

    0xeEeE…EeEe ↗ Etherscan
  • Universal Resolver proxy → managed proxy›
    Expected
    0x6d80F2172CFdEc5730fE683860C33d26fC42e6F1
    Actual
    0x6d80F2172CFdEc5730fE683860C33d26fC42e6F1
    How
    eth_call implementation() @ 0xeEeE…EeEe
    Source
    ensdomains/contracts-v2 @ 366de741187e38686c904242753c532b7de70d47
    0xeEeE…EeEe ↗ Etherscan
  • Managed proxy → UniversalResolverV2›
    Expected
    0x5d25c1d6acbb71b7a28aa7899618a3412a8303e3
    Actual
    0x24E1D8e068620B647CA097f961A61055f4f42D72
    How
    eth_call implementation() @ 0x6d80…e6F1
    Source
    ensdomains/contracts-v2 @ 366de741187e38686c904242753c532b7de70d47

    What to do: The resolver version changed — our pinned ABI may be stale. Ask the ENS booth which version is current.

    0x6d80…e6F1 ↗ Etherscan
  • RootRegistry "eth" subregistry → ETHRegistry›
    Expected
    0x657ea849311d3d5823348dded7c2aaafb3ede09e
    Actual
    0x657eA849311d3D5823348ddEd7C2AaAFb3EDE09E
    How
    eth_call getSubregistry("eth") @ 0x9703…a9ce
    Source
    ensdomains/contracts-v2 @ 366de741187e38686c904242753c532b7de70d47
    0x9703…a9ce ↗ Etherscan
  • ETHRegistrar → ETH_REGISTRY›
    Expected
    0x657ea849311d3d5823348dded7c2aaafb3ede09e
    Actual
    0x657eA849311d3D5823348ddEd7C2AaAFb3EDE09E
    How
    eth_call ETH_REGISTRY() @ 0xabe7…94ca
    Source
    ensdomains/contracts-v2 @ 366de741187e38686c904242753c532b7de70d47
    0xabe7…94ca ↗ Etherscan
  • tnvda.eth points at our registry›
    Expected
    0x2462d01326F42ccfDbcC6358e2c8B4fd157Ea7fC
    Actual
    0x2462d01326F42ccfDbcC6358e2c8B4fd157Ea7fC
    How
    eth_call getSubregistry("tnvda") @ 0x657e…e09e
    Source
    deployments/11155111.json
    0x657e…e09e ↗ Etherscan
  • MockUSDC readable (used to pay ENS rent)›
    Expected
    symbol + decimals okunuyor
    Actual
    USDC · 6 decimals
    How
    eth_call symbol()/decimals() @ 0x16f9…aa8e
    Source
    ensdomains/contracts-v2 @ 366de741187e38686c904242753c532b7de70d47
    0x16f9…aa8e ↗ Etherscan

Accounts

Addresses derived from the private keys, and their Sepolia balances.

5 checks
  • Deployer / issuer balance›
    Expected
    ≥ 0.05 ETH
    Actual
    0.6478 ETH
    How
    eth_getBalance(0x9e30…B7fD)
    Source
    .env (address derived from the private key; the key itself is never logged)
    0x9e30…B7fD ↗ Etherscan
  • Attester balance›
    Expected
    ≥ 0.01 ETH
    Actual
    0.0200 ETH
    How
    eth_getBalance(0x40EF…Eb6c)
    Source
    .env (address derived from the private key; the key itself is never logged)
    0x40EF…Eb6c ↗ Etherscan
  • Alice balance›
    Expected
    ≥ 0.015 ETH
    Actual
    0.0260 ETH
    How
    eth_getBalance(0x0536…55C9)
    Source
    .env (address derived from the private key; the key itself is never logged)
    0x0536…55C9 ↗ Etherscan
  • Stranger balance›
    Expected
    ≥ 0.005 ETH
    Actual
    0.0084 ETH
    How
    eth_getBalance(0x2f6c…297d)
    Source
    .env (address derived from the private key; the key itself is never logged)
    0x2f6c…297d ↗ Etherscan
  • Bot balance›
    Expected
    ≥ 0.005 ETH
    Actual
    0.0091 ETH
    How
    eth_getBalance(0xC408…2226)
    Source
    .env (address derived from the private key; the key itself is never logged)
    0xC408…2226 ↗ Etherscan

Hanko contracts

Filled in by the deploy scripts from Phase 1 onwards.

13 checks
  • Pool and token read the same allowlist›
    Expected
    adapter.allowListChecker() == tNVDA.checker()
    Actual
    both read 0x44f5f3F9376bEea9E2433898821e30F0BaCBd1Af (ENS)
    How
    eth_call allowListChecker() and checker()
    Source
    PermissionsAdapter / MockStockToken
    0x7060…0718 ↗ Etherscan
  • MockStockToken›
    Expected
    deployed in Phase 1 onwards
    Actual
    0x301b61f063fc6232D21cdFa5D97042910ee3994F
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0x301b…994F ↗ Etherscan
  • SimpleAllowlistChecker›
    Expected
    deployed in Phase 1 onwards
    Actual
    0xc229c68F0C22301d3b332e0EAEfB3a93ebbe683D
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0xc229…683D ↗ Etherscan
  • EnsAllowlistChecker›
    Expected
    deployed in Phase 1 onwards
    Actual
    0x44f5f3F9376bEea9E2433898821e30F0BaCBd1Af
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0x44f5…d1Af ↗ Etherscan
  • HumanRegistrar›
    Expected
    deployed in Phase 1 onwards
    Actual
    not deployed yet
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
  • PermissionsAdapter›
    Expected
    deployed in Phase 1 onwards
    Actual
    0x7060947614ECED6CA376A318C81dF6C088f00718
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0x7060…0718 ↗ Etherscan
  • SwapRegistry›
    Expected
    deployed in Phase 1 onwards
    Actual
    0xbB8A0C79945993eCf1ACd4177B896A75C2998dce
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0xbB8A…8dce ↗ Etherscan
  • LpRegistry›
    Expected
    deployed in Phase 1 onwards
    Actual
    0xA35983B2b124e34AC65e77F4c854a3a356274A55
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0xA359…4A55 ↗ Etherscan
  • MockUSDC›
    Expected
    deployed in Phase 1 onwards
    Actual
    0xB30c9206F2747f122A3AB2924a537193eCB623fa
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0xB30c…23fa ↗ Etherscan
  • TnvdaRegistry›
    Expected
    deployed in Phase 1 onwards
    Actual
    0x2462d01326F42ccfDbcC6358e2c8B4fd157Ea7fC
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0x2462…a7fC ↗ Etherscan
  • AgentIndex›
    Expected
    deployed in Phase 1 onwards
    Actual
    0x385C90b1613D30706828380133bfdC3D61A49107
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0x385C…9107 ↗ Etherscan
  • AliceRegistry›
    Expected
    deployed in Phase 1 onwards
    Actual
    0xBA8daFac04175cbc3cD25d596046F9B71cFf169b
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0xBA8d…169b ↗ Etherscan
  • VenueRegistry›
    Expected
    deployed in Phase 1 onwards
    Actual
    0xD7b4e2653fCEC23f7e8A2A5FFc7CD8f31aa69707
    How
    deployments/11155111.json
    Source
    Hanko deploy script'leri
    0xD7b4…9707 ↗ Etherscan
What happened? 36 chain calls were made while this page loaded (2026-10-04T04:55:39.084Z).
  • eth_chainId + eth_blockNumber
  • eth_getCode(0xE03A…3543)
  • eth_getCode(0xe6b0…fa2b)
  • eth_getCode(0x5124…e8c0)
  • eth_getCode(0x864c…f5e1)
  • eth_getCode(0x5093…787c)
  • eth_getCode(0x9703…a9ce)
  • eth_getCode(0x657e…e09e)
  • eth_getCode(0xabe7…94ca)
  • eth_getCode(0x9e72…841c)
  • eth_getCode(0xa803…0263)
  • eth_getCode(0x14f0…f243)
  • eth_getCode(0x5d25…03e3)
  • eth_getCode(0x6d80…e6F1)
  • eth_getCode(0x33f5…7df5)
  • eth_getCode(0x16f9…aa8e)
  • eth_getCode(0xeEeE…EeEe)
  • eth_call PERMISSIONS_ADAPTER_FACTORY() @ 0x5093…787c
  • eth_call PERMISSIONS_ADAPTER_FACTORY() @ 0x5124…e8c0
  • eth_call PERMISSIONS_ADAPTER_FACTORY() @ 0x864c…f5e1
  • eth_call poolManager() @ 0x5124…e8c0
  • eth_call poolManager() @ 0x864c…f5e1
  • eth_call POOL_MANAGER() @ 0xe6b0…fa2b
  • eth_call ROOT_REGISTRY() @ 0xeEeE…EeEe
  • eth_call implementation() @ 0xeEeE…EeEe
  • eth_call implementation() @ 0x6d80…e6F1
  • eth_call getSubregistry("eth") @ 0x9703…a9ce
  • eth_call ETH_REGISTRY() @ 0xabe7…94ca
  • eth_call getSubregistry("tnvda") @ 0x657e…e09e
  • eth_call symbol()/decimals() @ 0x16f9…aa8e
  • eth_getBalance(0x9e30…B7fD)
  • eth_getBalance(0x40EF…Eb6c)
  • eth_getBalance(0x0536…55C9)
  • eth_getBalance(0x2f6c…297d)
  • eth_getBalance(0xC408…2226)
  • eth_call allowListChecker() and checker()