# 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](https://bob-docs.zkbob.com/bob-dao/governance/protocol-governance/gp-16-remove-excess-inventory-on-arbitrum-and-bnb-smart-chain) and [GP #17](https://bob-docs.zkbob.com/bob-dao/governance/protocol-governance/gp-17-remove-excess-inventory-on-optimism-and-ethereum) 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
