# Consensus Check - Enable 1bp Fee Tier on UniswapV3 Optimism(L2)

**URL:** <https://gov.uniswap.org/t/consensus-check-enable-1bp-fee-tier-on-uniswapv3-optimism-l2/16995>\
**Category:** Consensus Check\
**Created:** [June 23, 2022, 2:17pm UTC](https://gov.uniswap.org/t/consensus-check-enable-1bp-fee-tier-on-uniswapv3-optimism-l2/16995 "2022-06-23T14:17:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Milli3E](https://sea2.discourse-cdn.com/flex016/user_avatar/gov.uniswap.org/milli3e/32/5343_2.png) [@Milli3E](https://gov.uniswap.org/u/Milli3E)\
**Post date:** [June 23, 2022, 2:17pm UTC](https://gov.uniswap.org/t/consensus-check-enable-1bp-fee-tier-on-uniswapv3-optimism-l2/16995/1 "2022-06-23T14:17:35Z")

</div>

**Summary**

Enable a 1bp, 1tick fee tier on optimism (L2).

The rationale and initial temperature check for this proposal can be found here: [Deploy a 1bp fee tier to UniswapV3 on Optimism](https://gov.uniswap.org/t/deploy-a-1bp-fee-tier-to-uniswapv3-on-optimism/16930)

**Process**

The complete process is described in Uniswap’s Governance Reference [here](https://docs.uniswap.org/protocol/reference/Governance/governance-reference) and can be summarized as:

```
• A proposal is posted in GovernorBravo on Mainnet (GovernorAlpha for Kovan)

• The proposal is voted, queued and executed via Timelock.

• When all the conditions are meet and is executed, Timelock contract, which is authorized to execute administrative actions on the protected contracts, will execute 

```

the requested actions in the proposal.

Since this proposal needs to be executed on a different network, in this case L2 Optimism, the executing action needs to be forwarded to the proper target. In order to do that, Timelock will send the transaction to OVM\_L1CrossDomainMessenger (Optimism mechanism to forward transactions from L1 to L2).

The transaction will then be sent via Optimism contracts to Uniswap’s CrossChainAccount, that is the privileged contract that can execute administrative tasks on protected contracts on L2 Optimism, and CrossChainAccount will forward the transaction, if it has the right origin, to the target Contract, in this case to UniswapV3Factory.  
The sequence of contract interactions is the following:

```
• GovernorBravo.propose(targets, values, signatures, calldatas, description)
    ◦ where targets are the address of the contracts to interact with,
    ◦ calldatas the calldatas to execute on those contracts, and
    ◦ description, the description of the proposal (or name)

• OVM_L1CrossDomainMessenger.sendMessage(target, calldata, gas)
    ◦ where target is the address of the contracts to interact with on L2,
    ◦ calldata the calldata to execute on that contract, and
    ◦ gas, the gas to be used on that transaction

• CrossChainAccount.forward(target, calldata)
    ◦ where target is the address of the Uniswap contracts to interact with on L2, and
    ◦ calldata the calldata to execute on that contract

• UniswapV3Factory.enableFeeAmount(fee,tickSpacing)
    ◦ where fee is the fee to enable (in hundredths of a bip), and
    ◦ tickSpacing the spacing between ticks

```

Compiling all the calls together it can be seen as:

GovernorBravo.propose(  
[OVM\_L1CrossDomainMessenger address],  
[0],  
[“”],  
[ encodedCalldata(  
OVM\_L1CrossDomainMessenger.sendMessage(  
CrossChainAccount address,  
encodedCalldata(CrossChainAccount.forward(  
UniswapV3Factory address,  
encodedCalldata(  
UniswapV3Factory.enableFeeAmount(  
100,  
1  
)  
)  
)  
),  
8000000  
) ],  
“Enable 1bp fee tier on Optimism”  
)

**Test network execution (Kovan)**

Proposer Address: 0xF526Eb7D2d4445FA8d258959A000400cca4A93f4

**Addresses**

```
• GovernorAlpha (No GovernorBravo in kovan):
    ◦ 0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F
    ◦ https://kovan.etherscan.io/address/0x5e4be8bc9637f0eaa1a755019e06a68ce081d58f

• OVM_L1CrossDomainMessenger:
    ◦ 0x4361d0F75A0186C05f971c566dC6bEa5957483fD
    ◦ https://kovan.etherscan.io/address/0x4361d0F75A0186C05f971c566dC6bEa5957483fD

• CrossChainAccount:
    ◦ 0x3D7E0d4BD24F556767ccFC9c54092447BA88e926
    ◦ https://kovan-optimistic.etherscan.io/address/0x3D7E0d4BD24F556767ccFC9c54092447BA88e926

• UniswapV3Factory:
    ◦ 0x1F98431c8aD98523631AE4a59f267346ea31F984
    ◦ https://kovan-optimistic.etherscan.io/address/0x1F98431c8aD98523631AE4a59f267346ea31F984

```

**Proposal**

Proposal: { targets: [‘0x4361d0F75A0186C05f971c566dC6bEa5957483fD’], values: [‘0’], signatures: [‘’], calldatas: [‘0x3dbb202b0000000000000000000000003d7e0d4bd24f556767ccfc9c54092447ba88e926000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000000000c46fadcf720000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448a7c195f000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000’] }

**Proposal’s calldata dissection**

```
• 1st layer (OVM_L1CrossDomainMessenger)
    ◦ sendMessage(address,bytes,uint32)
    ◦ https://rimeissner.dev/transaction-decoder/#/?data=0x3dbb202b0000000000000000000000003d7e0d4bd24f556767ccfc9c54092447ba88e926000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000000000c46fadcf720000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448a7c195f000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

• 2nd layer (CrossChainAccount)
    ◦ forward(address,bytes)
    ◦ https://rimeissner.dev/transaction-decoder/#/?data=0x6fadcf720000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448a7c195f0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000

• 3rd layer (UniswapV3Factory)
    ◦ enableFeeAmount(uint24,int24)
    ◦ https://rimeissner.dev/transaction-decoder/#/?data=0x8a7c195f00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001

```

**Transactions**

```
• [x] Post Proposal
    ◦ Transaction: https://kovan.etherscan.io/tx/0x18013fbc91c6d7beff8b7d5eb576e2fb2c03d266fdaa83e47c34ec6e09fa3644
    ◦ Proposal ID: 2

• [x] CastVote
    ◦ Transaction: https://kovan.etherscan.io/tx/0xb7f485094d778a967b61d64e78439ee6dd8d6f4704f8d3de7de7db54994e57ff

• [x] Queue:
    ◦ Transaction: https://kovan.etherscan.io/tx/0xf24bc0902bcea7e16adfe61419177b66fb074b47497c60bf7e4dfb65c490fe17

• [x] Execute:
    ◦ Available since: 1655765068 (GMT: Monday, June 20, 2022 10:44:28 PM)
    ◦ Kovan Transaction: https://kovan.etherscan.io/tx/0xece5b14c411777a5d17c8eb0fda582785033a7ec4676af786ec2e9dfa83b76a1
    ◦ Kovan-Optimism Transaction: https://kovan-optimistic.etherscan.io/tx/0x21e372a4b907461e002f38f8da59d3e2e221a50f717a2852df743a8b283c91e4

```

**Mainnet execution**

Proposer Address: 0x7B3ee5816a61Fe182Fd7f89844a2BAFdD84AE5b2

**Addresses**

```
• GovernorBravo:
    ◦ 0x408ED6354d4973f66138C91495F2f2FCbd8724C3
    ◦ https://etherscan.io/address/0x408ED6354d4973f66138C91495F2f2FCbd8724C3

• OVM_L1CrossDomainMessenger:
    ◦ 0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1
    ◦ https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1

• CrossChainAccount:
    ◦ 0xa1dD330d602c32622AA270Ea73d078B803Cb3518
    ◦ https://optimistic.etherscan.io/address/0xa1dd330d602c32622aa270ea73d078b803cb3518

• UniswapV3Factory:
    ◦ 0x1F98431c8aD98523631AE4a59f267346ea31F984
    ◦ https://optimistic.etherscan.io/address/0x1F98431c8aD98523631AE4a59f267346ea31F984

```

**Proposal**

Proposal: { targets: [‘0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1’], values: [‘0’], signatures: [‘’], calldatas: [‘0x3dbb202b000000000000000000000000a1dd330d602c32622aa270ea73d078b803cb3518000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000000000c46fadcf720000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448a7c195f000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000’] }

**Proposal’s calldata dissection**

```
• 1st layer (OVM_L1CrossDomainMessenger)
    ◦ sendMessage(address,bytes,uint32)
    ◦ https://rimeissner.dev/transaction-decoder/#/?data=0x3dbb202b000000000000000000000000a1dd330d602c32622aa270ea73d078b803cb3518000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000000000c46fadcf720000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448a7c195f000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

• 2nd layer (CrossChainAccount)
    ◦ forward(address,bytes)
    ◦ https://rimeissner.dev/transaction-decoder/#/?data=0x6fadcf720000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000448a7c195f0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000

• 3rd layer (UniswapV3Factory)
    ◦ enableFeeAmount(uint24,int24)
    ◦ https://rimeissner.dev/transaction-decoder/#/?data=0x8a7c195f00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000001

```

[Link to Snapshot vote will be available here shortly]

---

<div class="post-metadata">

**Author:** ![caideguang](https://sea2.discourse-cdn.com/flex016/user_avatar/gov.uniswap.org/caideguang/32/4732_2.png) [@caideguang](https://gov.uniswap.org/u/caideguang)\
**Post date:** [June 24, 2022, 8:23am UTC](https://gov.uniswap.org/t/consensus-check-enable-1bp-fee-tier-on-uniswapv3-optimism-l2/16995/2 "2022-06-24T08:23:10Z")

</div>

Totally agree. I think that 1bp can be directly enabled for all V3 deployed chains. There is no need to vote in the community for this. As long as the deployment of the network is approved, the network has the right to synchronously update to the latest progress
