> For the complete documentation index, see [llms.txt](https://bob-docs.zkbob.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bob-docs.zkbob.com/bob-dao/governance/protocol-governance/gp-17-remove-excess-inventory-on-optimism-and-ethereum.md).

# GP 17: Remove excess inventory on Optimism and Ethereum

{% hint style="success" %}
The proposal has been confirmed and executed by:

* [a transaction on Optimism #1](https://optimistic.etherscan.io/tx/0xa3363e17e279f87e9e0d62e0d63634e16ac9c8a79f051fc872f85933c069bf10)
* [a transaction on Optimism #2](https://optimistic.etherscan.io/tx/0x707314e661a9e82e62176652cc689a9b462d26f0c9474f45ca705c33f1c2c515)
* [a transaction on Mainnet #1](https://etherscan.io/tx/0xd2c44000387b006d5a170042332216ad27f26b4271d7440344495e3d23c393d4)
* [a transaction on Mainnet #2](https://etherscan.io/tx/0xb705c50bd6e521f750dd2a01d35e87d69f2f85ad3eb9873b38d73801df8bdaee)
  {% endhint %}

## Proposal objective

Continued reduction of BOB inventory (see [GP 16](/bob-dao/governance/protocol-governance/gp-16-remove-excess-inventory-on-arbitrum-and-bnb-smart-chain.md)) with decreases for BOB inventory on Ethereum Mainnet and Optimism.

## Proposal Details

Overall decrease of total supply after this proposal is **-20m BOB** (**35.5m** → **15.5m**)**.**

### Optimism (8m → 1m)

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

### Ethereum Mainnet (14m → 1m)

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

## Proposal breakdown

### Optimism

The following transactions use `delegatecall` to the [`0x889aED5204D9FB23c758588dcc7bFdf67302e9d7`](https://optimism.blockscout.com/address/0x889aED5204D9FB23c758588dcc7bFdf67302e9d7?tab=contract) to efficiently facilitate the complex inventory management process.

The first transaction [#13](https://app.safe.global/transactions/tx?safe=oeth:0x14fc6a1a996A2EB889cF86e5c8cD17323bC85290\&id=multisig_0x14fc6a1a996A2EB889cF86e5c8cD17323bC85290_0x46de9e2a6f458aced523ca5f2228da3c3bb904cb156df1d53d2de7a25c53137a) in the Safe on Optimism contains the following sequence of actions:

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

The second transaction [#14](https://app.safe.global/transactions/tx?safe=oeth:0x14fc6a1a996A2EB889cF86e5c8cD17323bC85290\&id=multisig_0x14fc6a1a996A2EB889cF86e5c8cD17323bC85290_0xdd2eb7c027d081e537a73366bd0da2b4c6ca09794ce4a087ebd334fc4b517b66) in the Safe on Optimism contains the following sequence of actions:

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

The second transaction is executed only once all **USDC** and **USDT** collateral from BobSwap has been redeemed following the first transaction execution.

### Ethereum Mainnet

The following transactions use `delegatecall` to the [`0xF853E272893035a8C6A82616B7b442aB329D92D9`](https://eth.blockscout.com/address/0xF853E272893035a8C6A82616B7b442aB329D92D9?tab=contract) to efficiently facilitate the complex inventory management process.

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

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

The second transaction [#15](https://app.safe.global/transactions/tx?safe=eth:0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8\&id=multisig_0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8_0x02210007521a89e948b0988cab39b0c8c72ecbb7f49180b58fc9fb0dbe6f66ce) in the Safe on Mainnet contains the following sequence of actions:

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

The second transaction is executed only once all **USDC, USDT** and **DAI** collateral from BobSwap has been redeemed following the first transaction execution.

## Additional verification

1. Check the code of <https://optimism.blockscout.com/address/0x889aED5204D9FB23c758588dcc7bFdf67302e9d7?tab=contract>
2. Check the code of <https://eth.blockscout.com/address/0xF853E272893035a8C6A82616B7b442aB329D92D9?tab=contract>
3. Check token transfers in Tenderly simulation:
   1. [Optimism #13](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/24b001d4-2502-44ea-8e56-faa8eb9fd029)
   2. [Optimism #14](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/c2c20a72-6365-4c51-9366-b6c66ec882bd)
   3. [Mainnet #14](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/555f494f-5161-4e61-8de3-664315a3ed01)
   4. [Mainnet #15](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/e846c71e-4d4a-460d-a839-4aa8b3474021)
4. Check the following script with safe contract execution - <https://gist.github.com/k1rill-fedoseev/fd38a2ec10dfaf0e2608acfaea27505b>
   1. `forge test --match-path ./script/scripts/VerifySafeTx_Gov41.t.sol --ffi -vvvv`
   2. Make sure `jq` CLI is installed


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://bob-docs.zkbob.com/bob-dao/governance/protocol-governance/gp-17-remove-excess-inventory-on-optimism-and-ethereum.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
