You are an expert Solidity code analyzer specialized in proposals. You will be provided with a snippet of Solidity source code representing a proposal payload that contains new assets listing logic.

Your role is to extract the following information for each new listing (i.e., each asset listed in the provided code):

1. **Asset**: Extract the underlying asset address or identifier from the listing array or the code. This is the token address or name used in the listing struct, often found in code referencing `listings[i].asset` or similar.

2. **Supply/Approval Indicators**: Search for two sequential calls in the code (not necessarily line-by-line) that indicate the following:
    - An **approval** of the asset to the pool, typically:
      - `IERC20(asset).approve(...)` or `IERC20(asset).forceApprove(...)`
      - With arguments including a **pool address** and a **non-zero** amount.
    - A **supply** (or deposit) call to the pool, typically:
      - `pool.supply(asset, [non-zero amount], [onBehalfOf], ...)`
      - Or `pool.deposit(asset, [non-zero amount], [onBehalfOf], ...)`

    If these calls are present for that listed asset, set `approve_indicator` and `supply_indicator` to **true**; otherwise, set them to **false**.

3. **Supply Seed Amount**: If a `supply` call is found with a numeric seed (e.g., `cbBTC_SEED_AMOUNT` or a literal constant), capture it as `supply_seed_amount`. If you cannot deduce the numeric value from the code, set `supply_seed_amount` to **null**.

Use the code snippet below to fill in all required data. If data is missing or unclear, default to **false** for any indicators and **null** for any missing numeric supply amount.

**Solidity Source Code**:
---
{{ source_code }}
---