# GP 18: Remove excess inventory on Polygon

{% hint style="success" %}
The proposal has been confirmed and executed:&#x20;

* [Transaction #1 on Polygon](https://polygonscan.com/tx/0x24e9250bc8efda73c2258396d291bfab7ac242f89c1156232482b23aee78d890)
* [Transaction #2 on Polygon](https://polygonscan.com/tx/0xc8f02586f582bc875cefaaee15d9aa139c0c76cafed3365666267838c59b52c1)
  {% endhint %}

### Proposal objective

Continue reduction of BOB inventory following the successful implementation of [GP #16](/bob-dao/governance/protocol-governance/gp-16-remove-excess-inventory-on-arbitrum-and-bnb-smart-chain.md) and [GP #17](/bob-dao/governance/protocol-governance/gp-17-remove-excess-inventory-on-optimism-and-ethereum.md) for reduction on various chains. This proposal will decrease BOB inventory on Polygon.&#x20;

* Proposal on forum -> <https://forum.zkbob.com/t/proposal-to-remove-excess-bob-inventory-on-polygon/43>

### Proposal Details

Following the actions in this proposal, overall total supply of BOB will be **\~5M**. This proposal decreases the total supply by **-10.5.m BOB,** resulting in a **reduction from 15.5m → 5m**.

#### Polygon (11.5m → 1m)

1. Deallocate **5,000,000 BOB (5,000,000 BOB → 0 BOB)** from BobSwap
2. Deallocate **5,500,000 BOB (6,500,000 BOB → 1,000,000 BOB)** from **BOB/USDC 0.01%** inventory position on Uniswap V3

#### Proposal breakdown

#### Polygon

Below transactions use `delegatecall` to the [`0xbfF0020638011357315302727eD55C5193a95F7b`](https://polygonscan.com/address/0xbfF0020638011357315302727eD55C5193a95F7b#code) to efficiently faciliate complex inventory management process.

The first transaction [#35](https://app.safe.global/transactions/tx?safe=matic:0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8\&id=multisig_0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8_0x28966fc190e2fd6dad5fbb3cc0829a28e58d278e4ca25863276050163f511de5) in the Safe on Polygon contains the following sequence of actions:

1. Remove and burn all excess **BOB** from BobSwap
2. Withdraw \~84.6% (11/13) (**\~5,500,000 BOB/USDC**) of **BOB/USDC 0.01%** Uniswap V3 inventory LP with its fees
3. Burn **BOB** obtained from inventory position principal
4. Transfer **USDC** obtained from inventory position principal to BobSwap
5. Disable BobSwap **USDT→BOB** and **USDC→BOB** BobSwap directions by setting swap fees to 100%
6. Set zero fees for **BOB→USDC** and **BOB→USDT** BobSwap directions
7. Claim BobSwap fees accumulated in **USDC** and **USDT**

Transaction [#36](https://app.safe.global/transactions/tx?safe=matic:0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8\&id=multisig_0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8_0xe8f86282e4a7d8c9097ad128172deb7ba4515408b8c8e6d4009ec4706ed65989) in the Safe on Polygon contains the following sequence of actions:

1. Remove and burn all excess **BOB** from BobSwap

Second transaction shall be executed only once all **USDC** and **USDT** collateral from BobSwap has beed redeemed, some time after the first transaction execution.

### Additional verification

1. Check the code of <https://polygonscan.com/address/0xbfF0020638011357315302727eD55C5193a95F7b#code>
2. Check token transfers in Tenderly simulation:
   1. [Polygon #35](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/dc5b2095-bd48-446b-a4c1-564351a88ae9)
   2. [Polygon #36](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/f4a72e66-4c6f-4b12-ab2b-bb9d6cf3a3a6)
3. Check the following script with safe contract execution - <https://gist.github.com/k1rill-fedoseev/2114131418142793c70bbb1a119b40f7>
   1. `forge test --match-path ./script/scripts/VerifySafeTx_Gov42.t.sol --ffi -vvvv`
   2. Make sure `jq` CLI is installed


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bob-docs.zkbob.com/bob-dao/governance/protocol-governance/gp-18-remove-excess-inventory-on-polygon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
