GP 7: Increase Multi-chain Inventory and Update Bob Swap

Proposal Objectives

Goals of the proposal include further expansion (new BobSwap instances on Optimism, BNB Chain, and Arbitrum), increased brand awareness, and additional integration options. Several new inventory pools along with BobSwap (note: BobVault is the contract name and referred to as such below) allowance increases were proposed and accepted by the governance board.

circle-check

Polygon (9.5m β†’ 11.5m)

  1. Increase BobVault issuance allowance from 3,000,000 BOB β†’ 5,000,000 BOB

Ethereum Mainnet (9m β†’ 16m)

  1. Increase BobSwap issuance allowance from 2,000,000 BOB β†’ 5,000,000 BOB

  2. Allocate 2,000,000 BOB to BOB/USDC 0.008% inventory position on Kyberswap

  3. Allocate 2,000,000 BOB to BOB/USDT 0.008% inventory position on Kyberswap

Optimism (1m β†’ 8m)

  1. Allocate 5,000,000 BOB to a new deployment of BobVault

  2. Allocate 2,000,000 BOB to BOB/USDC 0.01% inventory position on Uniswap V3

BNB Chain (1m β†’ 10m)

  1. Allocate 5,000,000 BOB to a new deployment of BobVault

  2. Allocate 2,000,000 BOB to BOB/USDC 0.008% inventory position on Kyberswap

  3. Allocate 2,000,000 BOB to BOB/USDT 0.008% inventory position on Kyberswap

Arbitrum (0m β†’ 7m)

  1. Allocate 5,000,000 BOB to a new deployment of BobVault

  2. Allocate 2,000,000 BOB to BOB/USDC 0.01% inventory position on Uniswap V3

circle-info

Newly deployed BobVault instances mirror latest Mainnet deployment, with the exception of changes in used collateral token addresses, see GP 5 for reference.

Transaction Details

chevron-rightPolygonhashtag

Transaction #27arrow-up-right in the Safe on Polygon contains 1 action:

Action 1

Allocate additional 2,000,000 BOB (18 decimals) to the BobVault contract 0x25E6505297b44f4817538fB2d91b88e1cF841B54arrow-up-rightby minting 2,000,000 BOB to the BobVault contract. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right

chevron-rightEthereum Mainnethashtag

Transaction #11arrow-up-right in the Safe on Mainnet contains 9 actions:

Action 1

Allocate additional 3,000,000 BOB (18 decimals) to the BobVault contract 0x15729Ac1795Fa02448a55D206005dC1914144a9Farrow-up-right by minting 3,000,000 BOB to the BobVault contract. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 2

Mint ~4,000,000 BOB (18 decimals) to governance safe 0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8arrow-up-rightfor further allocation into 2 inventory positions on Kyberswap. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Note: Minting amount is slightly less than 4,000,000 BOB to avoid leftover wei amount due to truncation errors.

Action 3

Approve BOB for usage in Kyberswap Position Manager Contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right. The action is executed by calling approve on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 4

Approve 1 wei of USDT for usage in Kyberswap Position Manager Contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right. The action is executed by calling approve on the USDT token contract 0xdAC17F958D2ee523a2206206994597C13D831ec7arrow-up-right.

Action 5

Approve 1 wei of USDC for usage in Kyberswap Position Manager Contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right. The action is executed by calling approve on the USDC token contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48arrow-up-right.

Action 6

Create and initialize pool 0.008% BOB/USDT pool on Kyberswap. The action is executed by calling createAndUnlockPoolIfNecessary on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Action 7

Mint Kyberswap 0.008% BOB/USDT inventory position using ~2,000,000 BOB. The action is executed by calling mint on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Used tick range: [-276325, -276323], as BOB has 18 decimals and USDT has 6 decimals

Action 8

Create and initialize pool 0.008% USDC/BOB pool on Kyberswap. The action is executed by calling createAndUnlockPoolIfNecessary on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Action 9

Mint Kyberswap 0.008% USDC/BOB inventory position using ~2,000,000 BOB. The action is executed by calling mint on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Used tick range: [276323, 276325], as USDC has 6 decimals and BOB has 18 decimals

chevron-rightOptimismhashtag

Transaction #5arrow-up-right in the Safe on Optimism contains 4 actions:

Action 1

Allocate 5,000,000 BOB (18 decimals) to the BobVault contract 0x8aEb89D5C689C2cf373Fe8b56c7A0cD5BDc74CE6arrow-up-right by minting 5,000,000 BOB to the BobVault contract. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 2

Mint ~2,000,000 BOB (18 decimals) to governance safe 0x14fc6a1a996A2EB889cF86e5c8cD17323bC85290arrow-up-right for further allocation into 2 inventory positions on Uniswap V3. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Minting amount is slightly less than 2,000,000 BOB to avoid leftover wei amount due to truncation errors.

Action 3

Create and initialize pool 0.01% USDC/BOB pool on Uniswap V3. The action is executed by calling createAndInitializePoolIfNecessary on the Uniswap V3 Position Manager contract 0xC36442b4a4522E871399CD717aBDD847Ab11FE88arrow-up-right.

Action 4

Mint Uniswap V3 0.01% USDC/BOB inventory position using ~2,000,000 BOB. The action is executed by calling mint on the Uniswap V3 Position Manager contract 0xC36442b4a4522E871399CD717aBDD847Ab11FE88arrow-up-right.

Used tick range: [276323, 276325], as USDC has 6 decimals and BOB has 18 decimals

chevron-rightBNB Chainhashtag

Transaction #7arrow-up-right in the Safe on BNB Chain contains 8 actions:

Action 1

Allocate 5,000,000 BOB (18 decimals) to the BobVault contract (0x61a57F1C82DA40e632C075D7812Af375Db23367carrow-up-right) by minting 5,000,000 BOB to the BobVault contract. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 2

Mint 4,000,000 BOB (18 decimals) to governance safe 0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8arrow-up-right for further allocation into 2 inventory positions on Kyberswap. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 3

Approve 99996 wei of USDT for usage in Kyberswap Position Manager Contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right. The action is executed by calling approve on the USDT token contract 0x55d398326f99059fF775485246999027B3197955arrow-up-right.

Action 4

Approve 99996 wei of USDC for usage in Kyberswap Position Manager Contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right. The action is executed by calling approve on the USDC token contract 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580darrow-up-right.

Action 5

Create and initialize pool 0.008% USDT/BOB pool on Kyberswap. The action is executed by calling createAndUnlockPoolIfNecessary on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Action 6

Mint Kyberswap 0.008% USDT/BOB inventory position using ~2,000,000 BOB. The action is executed by calling mint on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Used tick range: [-1, 1], as both tokens have 18 decimals

Action 7

Create and initialize pool 0.008% USDC/BOB pool on Kyberswap. The action is executed by calling createAndUnlockPoolIfNecessary on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Action 8

Mint Kyberswap 0.008% USDC/BOB inventory position using ~2,000,000 BOB. The action is executed by calling mint on the Kyberswap Position Manager contract 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8arrow-up-right.

Used tick range: [-1, 1], as both tokens have 18 decimals

chevron-rightArbitrum Onehashtag

Transaction #1arrow-up-right in the Safe on Arbitrum contains 5 actions:

Action 1

Allocate 5,000,000 BOB (18 decimals) to the BobVault contract 0x72e6B59D4a90ab232e55D4BB7ed2dD17494D62fBarrow-up-right by minting 5,000,000 BOB to the BobVault contract. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 2

Mint ~2,000,000 BOB (18 decimals) to governance safe 0xd4a3D9Ca00fa1fD8833D560F9217458E61c446d8arrow-up-right for further allocation into 2 inventory positions on Uniswap V3. The action is executed by calling mint on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Minting amount is slightly less than 2,000,000 BOB to avoid leftover wei amount due to truncation errors.

Action 3

Approve BOB for usage in Uniswap V3 Position Manager Contract 0xC36442b4a4522E871399CD717aBDD847Ab11FE88arrow-up-right. The action is executed by calling approve on the BOB token contract 0xB0B195aEFA3650A6908f15CdaC7D92F8a5791B0Barrow-up-right.

Action 4

Create and initialize pool 0.01% BOB/USDC pool on Uniswap V3. The action is executed by calling createAndInitializePoolIfNecessary on the Uniswap V3 Position Manager contract 0xC36442b4a4522E871399CD717aBDD847Ab11FE88arrow-up-right.

Action 5

Mint Uniswap V3 0.01% BOB/USDC inventory position using ~2,000,000 BOB. The action is executed by calling mint on the Uniswap V3 Position Manager contract 0xC36442b4a4522E871399CD717aBDD847Ab11FE88arrow-up-right.

Used tick range: [-276325, -276323], as BOB has 18 decimals and USDC has 6 decimals

Additional Verification

Verify new BobVault deployments

Optimism

BNB Chain

Arbitrum

circle-info

Inventory LPs validity can be verified using the following simulation test - https://gist.github.com/k1rill-fedoseev/c7ca38a4a0a1d1980c905e430fa86685arrow-up-right

Last updated