Executed

Set Uniswap oracles for UDT and most used ERC20 tokens


ID 854130...3593

ID 854130...3593

Proposed on: May 2nd, 2024

Proposed on: May 2nd, 2024

Votes

Actions

Type

Address

Details

Custom

0x5bB8...2109

xcall(..)

Custom

Account

0x5bB8...2109

Method

xcall(..)

Proposal

onyl calls!

Goal of the proposal

This proposal sets Uniswap oracle in Unlock factory contracts across the following chains: Polygon.

The goal is twofold: 1) enable the distribution of UDT for referrers when buying keys and 2) better calculation of the Gross Network Product (GNP) by taking into accounts the most commonly used tokens.

About this proposal

On each chain, wrappers for Uniswap oracle contracts have been deployed. An oracle is used to guess the current exchange rate of a specific token pair (for instance ETH/USDC).

The same oracle contract can be used for any pairs, with the limitation that there needs to be an existing / active Uniswap pool for that pair. Three different contracts are used to query the rate for the three tiers of Uniswap pool fees. Fee amounts are hundredths of the basis point so 100 fee unit is 0.01%, 500 is 0.05%, and 3000 is 0.3%.

For each token, the working oracle is selected and added to the Unlock contract using the setOracle function.

How it works

The proposal uses a cross-chain proposal pattern that, once passed, will send the calls to multiple chains at once. This pattern has been introduced and tested in a previous proposal.

Here, the calls for each chain have been packed with Gnosis Multicall contract to be executed at once on the destination chain.

The calls

This DAO proposal contains 1 calls :

Polygon (137) 7 calls (packed in a single multicall)

  • Oracle for WETH (0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619) setOracle(0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619,0xfA3F427d2691ce680f96E6916a9Dac6c9042CBd2) (fee: 500)
  • Oracle for DAI (0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063) setOracle(0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063,0x8c0AC149FabEeC9b759a43fC7d301B1a1D8DE0d0) (fee: 100)
  • Oracle for USDT (0xc2132D05D31c914a87C6611C10748AEb04B58e8F) setOracle(0xc2132D05D31c914a87C6611C10748AEb04B58e8F,0xfA3F427d2691ce680f96E6916a9Dac6c9042CBd2) (fee: 500)
  • Oracle for USDC (0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359) setOracle(0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359,0xfA3F427d2691ce680f96E6916a9Dac6c9042CBd2) (fee: 500)
  • Oracle for WBTC (0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6) setOracle(0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6,0x8c0AC149FabEeC9b759a43fC7d301B1a1D8DE0d0) (fee: 100)
  • Oracle for USDC (0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) setOracle(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174,0xfA3F427d2691ce680f96E6916a9Dac6c9042CBd2) (fee: 500)
  • Oracle for IXT (0xE06Bd4F5aAc8D0aA337D13eC88dB6defC6eAEefE) setOracle(0xE06Bd4F5aAc8D0aA337D13eC88dB6defC6eAEefE,0x86399725a83bB14C47bB5ce8311Ed25378BAa162) (fee: 3000)

Onwards !

The Unlock Protocol Team

Votes
Status