{
  "$schema": "./project-manifest.schema.json",
  "manifestVersion": "0.1",
  "projectId": "op-tlh:montrevane",
  "projectName": "Montrevane",
  "manifestStatus": "case_fixture",
  "chain": {
    "chainId": 10,
    "network": "OP Mainnet",
    "nativeCurrency": {
      "name": "Ether",
      "symbol": "ETH",
      "decimals": 18
    },
    "explorerBaseUrl": "https://optimistic.etherscan.io",
    "factBlockTag": "finalized",
    "provisionalBlockTag": "latest"
  },
  "rpcPolicy": {
    "minimumIndependentProviders": 2,
    "allowUserSuppliedRpc": false,
    "allowArbitraryMethods": false,
    "allowedMethods": [
      "eth_chainId",
      "eth_blockNumber",
      "eth_getBlockByNumber",
      "eth_getCode",
      "eth_getBalance",
      "eth_call",
      "eth_getLogs",
      "eth_getTransactionByHash",
      "eth_getTransactionReceipt"
    ],
    "prohibitedMethods": [
      "eth_accounts",
      "eth_requestAccounts",
      "eth_sendTransaction",
      "eth_sendRawTransaction",
      "eth_sign",
      "eth_signTransaction",
      "eth_signTypedData",
      "eth_signTypedData_v1",
      "eth_signTypedData_v3",
      "eth_signTypedData_v4",
      "personal_sign",
      "wallet_addEthereumChain",
      "wallet_switchEthereumChain",
      "wallet_sendCalls",
      "wallet_grantPermissions"
    ]
  },
  "evidencePolicy": {
    "tierOrder": [
      "A",
      "B",
      "C",
      "D",
      "U"
    ],
    "tiers": {
      "A": {
        "label": "onchain_verified",
        "description": "Direct OP Mainnet observation tied to a stated block number and hash."
      },
      "B": {
        "label": "third_party_verified",
        "description": "Independent verification or reproducible artifact evidence with identified scope."
      },
      "C": {
        "label": "safe_service_indexed",
        "description": "Indexed or decoded third-party data that cannot override direct chain state."
      },
      "D": {
        "label": "project_disclosed",
        "description": "Project-controlled manifest, website, whitepaper or other self-disclosure."
      },
      "U": {
        "label": "unverified_or_unavailable",
        "description": "Missing, invalid, conflicting, stale beyond limit or otherwise unverified data."
      }
    },
    "conflictsReturnNull": true,
    "zeroRequiresSuccessfulRead": true,
    "manifestIsObservation": false
  },
  "sources": [
    {
      "sourceId": "op-rpc-primary",
      "kind": "rpc",
      "evidenceTier": "A",
      "endpointMode": "server_configured",
      "endpointUrl": null,
      "required": true,
      "mayOverrideOnchain": false
    },
    {
      "sourceId": "op-rpc-secondary",
      "kind": "rpc",
      "evidenceTier": "A",
      "endpointMode": "server_configured",
      "endpointUrl": null,
      "required": true,
      "mayOverrideOnchain": false
    },
    {
      "sourceId": "safe-transaction-service",
      "kind": "indexer",
      "evidenceTier": "C",
      "endpointMode": "fixed_public",
      "endpointUrl": "https://safe-transaction-optimism.safe.global",
      "required": false,
      "mayOverrideOnchain": false
    },
    {
      "sourceId": "optimism-explorer",
      "kind": "explorer",
      "evidenceTier": "C",
      "endpointMode": "fixed_public",
      "endpointUrl": "https://optimistic.etherscan.io",
      "required": false,
      "mayOverrideOnchain": false
    },
    {
      "sourceId": "sourcify-verification",
      "kind": "explorer",
      "evidenceTier": "B",
      "endpointMode": "fixed_public",
      "endpointUrl": "https://repo.sourcify.dev",
      "required": false,
      "mayOverrideOnchain": false
    },
    {
      "sourceId": "montrevane-documents",
      "kind": "document",
      "evidenceTier": "D",
      "endpointMode": "fixed_public",
      "endpointUrl": "https://montrevane.com",
      "required": false,
      "mayOverrideOnchain": false
    }
  ],
  "assets": {
    "projectToken": {
      "role": "project_token",
      "name": "Montrevane",
      "symbol": "MTVRN",
      "address": "0x4D896f082257537147F5C7663f5A202Fca111F6e",
      "decimals": 18,
      "readFields": [
        "code",
        "name",
        "symbol",
        "decimals",
        "totalSupply",
        "treasuryBalance",
        "poolBalance"
      ],
      "expected": {
        "totalSupplyRaw": "100000000000000000000000000",
        "mintableAfterDeployment": false,
        "upgradeable": false
      }
    },
    "wrappedNative": {
      "role": "wrapped_native",
      "name": "Wrapped Ether",
      "symbol": "WETH",
      "address": "0x4200000000000000000000000000000000000006",
      "decimals": 18,
      "readFields": [
        "code",
        "name",
        "symbol",
        "decimals",
        "totalSupply",
        "treasuryBalance",
        "poolBalance"
      ],
      "expected": {
        "totalSupplyRaw": null,
        "mintableAfterDeployment": null,
        "upgradeable": null
      }
    }
  },
  "treasurySafe": {
    "address": "0x69611F108e8318Ce188b4967083370FbFEE9d7Ad",
    "expectedThreshold": 2,
    "expectedOwners": [
      "0x24898c7F12fD3167A13c39b5a4dFC29100DbeB6C",
      "0x33a0F0F7af079bE7747681b9668832FB00DE8269",
      "0x6cb0716d26555ce47af8eE723E24B19e073a9Af7"
    ],
    "readFields": [
      "proxyCode",
      "singleton",
      "owners",
      "threshold",
      "nonce",
      "modules",
      "guard",
      "fallbackHandler",
      "nativeBalance",
      "projectTokenBalance",
      "wrappedNativeBalance",
      "executedTransactions"
    ],
    "moduleEnumeration": {
      "pageSize": 50,
      "maxPages": 20,
      "sentinel": "0x0000000000000000000000000000000000000001"
    }
  },
  "uniswapV3": {
    "protocol": "Uniswap V3",
    "factory": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
    "positionManager": "0xC36442b4a4522E871399CD717aBDD847Ab11FE88",
    "pool": {
      "address": "0xB0eF76Dc8F828714C11C6AC87a017b69c808df76",
      "token0": "0x4200000000000000000000000000000000000006",
      "token1": "0x4D896f082257537147F5C7663f5A202Fca111F6e",
      "feeTier": 10000,
      "expectedTickSpacing": 200,
      "readFields": [
        "code",
        "factoryMapping",
        "token0",
        "token1",
        "fee",
        "tickSpacing",
        "slot0.sqrtPriceX96",
        "slot0.tick",
        "slot0.unlocked",
        "liquidity",
        "token0Balance",
        "token1Balance"
      ]
    },
    "position": {
      "tokenId": "1113672",
      "expectedOwner": "0x69611F108e8318Ce188b4967083370FbFEE9d7Ad",
      "expectedFullRange": true,
      "expectedTickLower": -887200,
      "expectedTickUpper": 887200,
      "readFields": [
        "positionManagerCode",
        "ownerOf",
        "token0",
        "token1",
        "fee",
        "tickLower",
        "tickUpper",
        "liquidity",
        "feeGrowthInside0LastX128",
        "feeGrowthInside1LastX128",
        "tokensOwed"
      ]
    }
  },
  "documents": [
    {
      "documentId": "whitepaper-zh-tw",
      "title": "Montrevane (MTVRN) Whitepaper",
      "language": "zh-TW",
      "url": "https://montrevane.com/Montrevane-MTVRN-Whitepaper-zh-TW.pdf",
      "version": "0.4-draft",
      "sha256": "94ee116593a72c2fab5ac487e7493d6c692555f2dacc5d8fb1ac96cbe844cbbe",
      "evidenceTier": "D"
    }
  ],
  "freshness": {
    "profiles": {
      "chainCritical": {
        "maxAgeSeconds": 120,
        "maxStaleSeconds": 900,
        "blockTag": "finalized"
      },
      "chainStatic": {
        "maxAgeSeconds": 86400,
        "maxStaleSeconds": 604800,
        "blockTag": "finalized"
      },
      "indexerHistory": {
        "maxAgeSeconds": 300,
        "maxStaleSeconds": 3600,
        "blockTag": "finalized"
      },
      "projectDocument": {
        "maxAgeSeconds": 86400,
        "maxStaleSeconds": 604800,
        "blockTag": "not_applicable"
      }
    },
    "assignments": [
      {
        "path": "assets.*.code",
        "profile": "chainStatic"
      },
      {
        "path": "assets.*.metadata",
        "profile": "chainStatic"
      },
      {
        "path": "assets.*.balances",
        "profile": "chainCritical"
      },
      {
        "path": "treasurySafe.*",
        "profile": "chainCritical"
      },
      {
        "path": "uniswapV3.pool.*",
        "profile": "chainCritical"
      },
      {
        "path": "uniswapV3.position.*",
        "profile": "chainCritical"
      },
      {
        "path": "history.*",
        "profile": "indexerHistory"
      },
      {
        "path": "documents.*",
        "profile": "projectDocument"
      }
    ]
  },
  "fallbackPolicy": {
    "criticalProviderQuorum": 2,
    "requireSameBlockHash": true,
    "onSingleProviderSuccess": "provisional",
    "onProviderMismatch": "conflict_with_null_value",
    "onAllProvidersUnavailable": "last_good_stale_until_limit_then_unavailable",
    "indexersMayOverrideOnchain": false,
    "manifestMayOverrideSnapshot": false
  },
  "disclosures": {
    "evidenceTier": "D",
    "noPublicSale": true,
    "productUtilityEnabled": false,
    "independentAuditStatus": "not_completed",
    "liquidityRisk": "extremely_low",
    "lpLockStatus": "not_locked",
    "notes": [
      "The product is a read-only transparency specification and does not request wallet access or signatures.",
      "The Uniswap V3 position is very small and its NFT is held by the Treasury Safe, not proven locked.",
      "Manifest expected values are project disclosures until a finalized-block snapshot independently verifies them.",
      "No public token sale or token utility is enabled in v0.1."
    ]
  }
}
