# GP 21: BOB inventory reduction

{% hint style="success" %}
This proposal was confirmed and executed:

* [Arbitrum tx](https://arbiscan.io/tx/0x8bd2884b4f75d02fcd4a7b46ad64565898a180a19d65b20c31a16f1f23c300a7)
* [BNB Chain tx](https://bscscan.com/tx/0xc6f6386130b4bddebfc57fd697c4513e32210c907c73e2a8f37dc770557c621d)
* [Ethereum Mainnet tx](https://etherscan.io/tx/0x8ba56eac51fb63318b9c104df7398daa90c0eb38e6dd3798c58237d2ebfecbbe)
* [Optimism tx](https://optimistic.etherscan.io/tx/0x96a44dd35199522f3a4e18006ae00e667b5ca9cc44df3cfe661d15ed7673bb2b)
* [Polygon tx](https://polygonscan.com/tx/0x87db50a91731239243309cad303b62dc3b439732639155626053cfeabe8a531b)
  {% endhint %}

### Proposal Objective

Continue the overall reduction of BOB inventory with reductions on all 5 networks.

### Proposal Details

The overall decrease of total supply follwoing this proposal is **-4,660,000 BOB** (**5,000,000 BOB** → **340,000 BOB**)**.**

#### Arbitrum (1m → 10k)

1. Deallocate **990,000 BOB (1,000,000 BOB → 10,000 BOB)** from the **BOB/USDC 0.01%** inventory position on Uniswap V3

#### BNB Chain (1m → 10k)

1. Deallocate **490,000 BOB (500,000 BOB → 10,000 BOB)** from the **BOB/USDC 0.01%** inventory position on Uniswap V3
2. Deallocate **500,000 BOB (500,000 BOB → 0 BOB)** from the **BOB/USDT 0.01%** inventory position on Uniswap V3

#### Mainnet (1m → 20k)

1. Deallocate **980,000 BOB (1,000,000 BOB → 20,000 BOB)** from the **BOB/USDC 0.01%** inventory position on Uniswap V3.

#### Optimism (1m → 100k)

1. Deallocate **900,000 BOB (1,000,000 BOB → 100,000 BOB)** from the **BOB/USDC 0.01%** inventory position on Uniswap V3.

#### Polygon (1m → 200k)

1. Deallocate **800,000 BOB (1,000,000 BOB → 200,000 BOB)** from the **BOB/USDC 0.01%** inventory position on Uniswap V3.

### Arbitrum

Transaction uses `delegatecall` to [`0xCDAD0ad4DD1F614a6502043Ef546e447b25Ffb9`](https://arbiscan.io/address/0xCDAD0ad4DD1F614a6502043Ef546e447b25Ffb99#code) to efficiently facilitate the complex inventory management process.

Transaction [#5](https://app.safe.global/transactions/tx?safe=arb1:0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8\&id=multisig_0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8_0xdbe514ab2d21d0428bb42e89755d1ed43d705ad9d67684ae4eb78282c634711e) in the Safe on Arbitrum contains the following sequence of actions:

1. Withdraw 99% (**\~990,000 BOB/USDC**) of **BOB/USDC 0.01%** Uniswap V3 inventory LP with its fees.
2. Swap obtained **USDC** to **BOB** via Uniswap V3.
3. Burn **BOB** obtained from inventory position principal.

### BNB Chain

Transaction uses `delegatecall` to  [`0xF321a98DFFe0c790A84BbE754811f3918a431ab9`](https://bscscan.com/address/0xF321a98DFFe0c790A84BbE754811f3918a431ab9#code) to efficiently facilitate the complex inventory management process.

Transaction [#13](https://app.safe.global/transactions/tx?id=multisig_0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8_0x0da4a9906438ed3c616c0dafa5722bf0dd34b876b110a0c4a03ab91f56fe3918\&safe=bnb:0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8) in the Safe on BNB Chain contains the following sequence of actions:

1. Withdraw 100% (**\~500,000 BOB/USDT**) of **BOB/USDT 0.01%** Uniswap V3 inventory LP with its fees.
2. Withdraw 98% (**\~490,000 BOB/USDC**) of **BOB/USDC 0.01%** Uniswap V3 inventory LP with its fees.
3. Swap obtained **USDT** to **USDC** via Uniswap V3.
4. Swap obtained **USDC** to **BOB** via Uniswap V3.
5. Burn **BOB** obtained from inventory position principal.

### Mainnet

Transaction uses `delegatecall` to  [`0x1F9843C88EFC073cB0E33B9E138cFF5b9efa039B`](https://etherscan.io/address/0x1F9843C88EFC073cB0E33B9E138cFF5b9efa039B#code)to efficiently facilitate the complex inventory management process.

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

1. Withdraw 98% (**\~980,000 BOB/USDC**) of **BOB/USDC 0.01%** Uniswap V3 inventory LP with its fees.
2. Swap obtained **USDC** to **BOB** via Uniswap V3.
3. Burn **BOB** obtained from inventory position principal.

### Optimism

Transaction uses `delegatecall` to  [`0x3c28Fb3AA25239E6a35A6a36757d38fe9303F21C`](https://optimistic.etherscan.io/address/0x3c28Fb3AA25239E6a35A6a36757d38fe9303F21C#code) to efficiently facilitate the complex inventory management process.

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

1. Withdraw 90% (**\~900,000 BOB/USDC**) of **BOB/USDC 0.01%** Uniswap V3 inventory LP with its fees.
2. Swap obtained **USDC** to **BOB** via Uniswap V3.
3. Burn **BOB** obtained from inventory position principal.

### Polygon

Transaction uses `delegatecall` to  [`0x74eB277f968490981857c71A410a9bAF568658cb`](https://polygonscan.com/address/0x74eB277f968490981857c71A410a9bAF568658cb#code) to efficiently facilitate the complex inventory management process.

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

1. Withdraw 80% (**\~800,000 BOB/USDC**) of **BOB/USDC 0.01%** Uniswap V3 inventory LP with its fees.
2. Swap obtained **USDC** to **BOB** via Uniswap V3.
3. Burn **BOB** obtained from inventory position principal.

### Additional verification

1. Check the code of <https://arbiscan.io/address/0xCDAD0ad4DD1F614a6502043Ef546e447b25Ffb99#code>
2. Check the code of <https://bscscan.com/address/0xF321a98DFFe0c790A84BbE754811f3918a431ab9#code>
3. Check the code of <https://etherscan.io/address/0x1F9843C88EFC073cB0E33B9E138cFF5b9efa039B#code>
4. Check the code of <https://optimistic.etherscan.io/address/0x3c28Fb3AA25239E6a35A6a36757d38fe9303F21C#code>
5. Check the code of <https://polygonscan.com/address/0x74eB277f968490981857c71A410a9bAF568658cb#code>
6. Check the token transfers in Tenderly simulation:
   1. [Arbitrum #5](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/1b7ff590-691f-4816-9530-c65ef5f5791f)
   2. [BNB Chain #13](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/5968049c-ac60-489b-abfd-0309cc5e85ea)
   3. [Mainnet #18](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/b97c90ae-ea86-4b53-9110-2e9f49ed921e)
   4. [Optimism #18](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/66a5cc6a-2504-4755-b3d5-9eeed4d0113a)
   5. [Polygon #38](https://dashboard.tenderly.co/public/safe/safe-apps/simulator/aaef0286-d2eb-471b-ae97-72a8dfc2c1b7)
7. Check the following script with safe contract execution - <https://gist.github.com/k1rill-fedoseev/4e3ad34b58df31ae34a6a306fc2f01ac>
   1. `forge test --match-path ./script/scripts/VerifySafeTx_Gov45.t.sol --ffi -vvvv`
   2. Make sure `jq` CLI is installed
