Deploy Uniswap v3 on Filecoin Virtual Machine (FVM)

Proposal Motivation

We Michigan Blockchain are submitting this proposal to initiate the deployment of Uniswap v3 onto the Filecoin Virtual Machine (FVM), a programmable EMV-compatible environment built over the Filecoin blockchain and its robust system of decentrally stored data. Considering Filecoin is the de facto storage provider in the blockchain space, it is valuable for Uniswap to attain market share in its data economy early on. We therefore believe that an FVM deployment is an opportune manner by which Uniswap’s multichain vision is furthered.

Uniswap’s Ability to Enhance the Decentralized Data Economy
One of the reasons that peer to peer storage systems like IPFS are difficult to maintain is because the parties involved in the network are not incentivized to expend resources to maintain the integrity of the stored data. Decentralization is not an inherent method for providing a superior storage product. That is why Filecoin was created. The Filecoin blockchain’s economic incentive structure between storage providers (SPs) and users creates a market for SPs to store and maintain data integrity over time. However, the robustness of that data economy must also be high for sustaining data storage in the long run. If SPs, for instance, do not have access to creatively expand their service provision business or efficiently put their capital to work, then their incentive to partake in the Filecoin/IPFS system is reduced.

The FVM’s launch on March 14, 2023 effectively made Filecoin programmable through the introduction of smart contracts. Programmability allows for the creation of dapps that work in tandem with the stored data. If an ecosystem of, say, DeFi applications can be built on the FVM to supplement the efforts of SPs, then the data economy is strengthened many fold. Invariably, DEXs are a rudimentary building block of a crypto economy, and just as they enable higher degrees of liquidity for numerous L1s, they will be able to provide a similar facility for Filecoin’s data economy. Uniswap would, for instance, grant SPs the ability to swap between $FIL tokens that they earn as a reward for providing their services. More DeFi use cases are mentioned in the “How the FVM is Enabling a Data Economy” section.

Proposal Stakeholders

The following list of stakeholders is present to transparently communicate which entities and individuals are involved in proposal creation and implementation. It is important to note that the temperature check following this RFC will only be used to measure the Uniswap DAO’s interest in deploying Uniswap v3 on the FVM. The stakeholder list is NOT to be considered during the temperature check–stakeholder concerns will be relegated to the RFC. After receiving feedback, the final stakeholder list will be published with the onchain vote.

Proposer: Michigan Blockchain

  • This entity is responsible for authoring the proposal & managing the governance process

Deployer: Axelar

  • This entity is responsible for the technical deployment of the contracts on the target chain

  • The Axelar team will deploy the v3 contracts 4-6 weeks post temperature check

Bridge Provider: Axelar

  • This is the cross-chain messaging solution selected for this deployment

Target Chain: Filecoin (specifically, the FVM)

  • This is the chain that v3 contracts will be deployed on

Proposal Sponsor: Michigan Blockchain

  • This entity has >2.5M UNI and is therefore eligible for administering the onchain vote

A Primer on Filecoin

Filecoin, IPFS, and Storage Helpers

Filecoin is the premier decentralized storage protocol built on top of the Interplanetary File System (IPFS). The two entities are distinct but often incorrectly conflated as one. Although Protocol Labs founded–and continues to aid in the development of–both Filecoin and IPFS, the two systems serve distinct purposes. IPFS is not a blockchain but a set of modular data addressing and networking protocols. Using IPFS, files are fragmented, hashed, and distributed amongst numerous nodes. Data distribution in a network of SPs around the world makes the system more secure than a centralized cloud storage system. Centralized servers reduce the control an individual has over their data and increases the surface area for information exploits. The hashed nature of the data allows for a secure manner of locating files using a technique known as content-addressing, which differs from the traditional location-addressing method (HTTP) used by most of the Internet. Even though data on IPFS are stored off-chain (i.e. on hardware devices), they are secure due to the combination of content-addressing and a verifiable zk-proof system present on Filecoin.

IPFS’ system allows for enterprise data centers to pledge their idle network resources like bandwidth and disk drive to secure others’ data. Such a storage system, however, does not function effectively without an incentive structure in place. Monetarily rewarding the entities involved in the file storage and retrieval processes enables the creation of a micro economy, where storage providers (SPs) are paid by users to store their data. Filecoin is the blockchain-based economic layer built on top of IPFS that allows for the exchange of $FIL tokens between SPs and users. Without Filecoin’s incentive structure, the storage provision capabilities of IPFS would not function or scale. Filecoin also allows for the development of a competitive data storage market, where storage prices are more attractive than those issued by incumbent centralized SPs like AWS or Microsoft Azure. By tapping the long tail of data centers, costs for storage, compute, and retrieval can be brought dramatically below the cloud incumbents

Data storage and retrieval is also simplified through the help of third-party storage helpers. These entities aid in abstracting away much of the protocol’s dealmaking complexities between SPs and users. Instead of interacting directly with Filecoin and IPFS, developers can leverage storage helpers’ API services. Dapps can therefore receive decentralized storage benefits without much hassle. This is one of the reasons why the active number of deals, including those from Filecoin Plus, rose from ~16M to ~33M in 2023 alone. A notable storage helper called NFT.storage allows anybody using NFTs to decentrally store and retrieve their NFT metadata and images on IPFS and Filecoin. Used by platforms like OpenSea and Magic Eden, the helper has experienced over 122M total uploads, accounting for 304.13 TB of data on Filecoin.


Source: Filecoin Docs

Proof of Storage

SPs are only paid when they submit two types of cryptographic proofs to the Filecoin protocol: Proof of Replication (PoRep) & Proof of Spacetime (PoSt). Collectively, these two proofs can be thought of as a means by which storage is proved. PoRep is initially conducted upon the SP receiving the users data, and it requires the SP to generate a public proof signifying that the hashed data is securely stored and replicated on a hardware device. It is a way to make sure that SP does not lie about the fact that they are storing the given data. PoSt is a process that occurs every 24 hours–it requires SPs to prove that a designated parcel of data is still stored (space) and able to be retrieved by the user whenever they desire (time). Daily spacetime proofs allow for the protocol to ensure data continuity. Currently, the network maintains 12.11 EiBs of storage space, provided by over 4,000 SPs.


Source: Starboard

Mere storage provision, however, is not a useful metric in and of itself because there must be demand present for the supplied storage. Although Q1 saw a decline in total storage provided, there was a 105% increase in the utilization rate, which is a more significant figure for displaying network activity.


Source: Messari

Every SP has to collateralize a bond of $FIL tokens. Malicious and reckless SP behavior is thwarted by subjecting the bond to slashing; block rewards are also slashed in similar circumstances. Inability to generate a PoSt proof therefore has monetary consequences. The current stake that Filecoin SPs have put forth as collateral amounts to ~ 144M FIL tokens.


Source: Filfox

The other side of the Filecoin data economy is the retrieval system. Users must pay retrieval providers using $FIL to retrieve their data from the storage providers. Current systems like Filecoin Saturn enable a decentralized Content Delivery Network (CDN) for data retrieval. This process is continually being iterated to be made more efficient.

The Filecoin Virtual Machine

How the FVM is Enabling a Data Economy

Due to the V18 Hygge Filecoin network upgrade in March 2023, smart contract programmability was introduced to the Filecoin blockchain. The FVM is a WASM-based execution environment that has the potential to enable programmable markets for storage, retrieval, compute, and Filecoin subnets, each catering to a new custom service. Foreign runtimes like the EVM are able to function on top of the FVM, allowing for developers to seamlessly program applications on Filecoin. Over time, multiple runtime environments will be introduced to the FVM, but the primary runtime that is currently available is the EVM. Solidity programmers can therefore utilize familiar tools like Hardhat, Foundry, Truffle, and Metamask to create EVM-based dapps on Filecoin, with the Filecoin complexities being abstracted from the developers’ purview. And so, with the incorporation of smart contracts, Filecoin is addressing the L1 market from the vantage point of actually being able to store users’ data; most other blockchains simply do not have the simultaneous storage capabilities and programmability.


Source: Filecoin Website

Support for numerous VMs will enable FVM to better interact with alternative L1s and increase liquidity transmission between previously siloed chains. Programs deployed on the EVM, MoveVM, JS/SES, or any other VMs will be able to fork onto the FVM. This proposal seeks to create a fork of the Uniswap v3 code and deploy it on the FEVM.

The FVM’s goal is to harbor a robust data economy, and this can be accomplished by launching various services, enabled by smart contract development. Below are some examples:

Perpetual Storage: Applications that allow for the automatic renewal of a deal between a client and the SPs, allowing for a continuous, long-term storage agreement that requires minimal manual intervention on behalf of the client.

Data DAOs: The FVM does not have direct access to the underlying data, but it does allow for that data to be governed. DAOs can be created around a dataset, accessible by a consortium of individuals as opposed to a single entity. Token-gated structures can also allow for better dataset access controls, like determining which entities can read, write, or read+write to a dataset.

Data Monetization: Data can also be tokenized, where certain tokens stand for a portion of a dataset, prescribing a market-determined value to the data underlying the respective tokens. This way, data itself can be collateralized and traded. Users of certain applications can also monetize their data by selling their profile NFTs, which give access to underlying consumer data, to marketing or analytics agencies.

DeFi: A crypto economy is not complete without basic financial applications like DEXs and lending protocols. The “Proposal Motivation” section underscores why DEXs like Uniswap are important. Below are more examples of DeFi initiatives in the crypto data economy. Each of these has the ability to further enhance Uniswap’s position on Filecoin by routing liquidity between these various applications.

One example of a DeFi function is staking. Just like Lido and Rocket Pool allow ETH holders to secure the Ethereum blockchain without running a validator node with high computational and economic fixed costs, a similar model can be applied to Filecoin. A liquid staking protocol on FVM can therefore establish a profit-sharing system between SPs and $FIL holders. An alternative means for SPs to gather more $FIL for collateral purposes is by borrowing the $FIL from a lending protocol–of course, such dapps can also be built on the FVM. Token-gated features on lending dapps can also be enabled to allow for cost-effective $FIL borrowing. If an SP, for instance, has built a track record of reliable data storage with no slashing history, they can be issued an NFT by the lending protocol that gives the SP access to undercollateralized $FIL loans. Since larger amounts of data and longer storage periods require more $FIL, it is important to have seamless access to the token. This example illustrates the utilization of both DeFi and identity on the FVM.

Lending platforms and staking protocols are simply incomplete without a DEX like Uniswap. So, to provide actors in the Filecoin ecosystem with a place to easily swap between assets like $FIL and $stFIL (this asset doesn’t exist yet–just an example), there must be an AMM present. Other creative applications can also be built using Uniswap in the backend for automated asset swaps; the opportunities are very expansive.

Ecosystem Development

Since storage is a vital part of every project, Filecoin has attracted clients of all colors from both the crypto native and web2 world. Internet Archive, a public repository of data from documents and websites to movies and songs, utilizes Filecoin to safeguard its information. The USC Shoah Foundation also leverages Filecoin to store important historical accounts about genocides like the Holocaust. As for other blockchains, Filecoin is used by various L1s and L2s for data storage, largely through storage helpers like NFT.storage.

As of Q1 2023, the Filecoin ecosystem has 484 projects, with a trend of initiatives surpassing the initial project phase and into the accelerator stage and beyond. The Filecoin Foundation recently hosted a hackathon called Space Warp containing over $400k of prizes and accelerator grants for promising projects building on the FVM. This was one of the initiatives to bootstrap the FVM ecosystem. Nearly two months after the FEVM’s launch, there have been 808 contracts deployed with over 130k transactions on the platform. Active contract users have also increased 184.5% since April 1st. Such activity is revitalizing the condition of Filecoin from a stance of developer interest. Over the next few months smart contract deployment is projected to increase heavily, a large shift from the past two years, during which the Filecoin active developer count fell by 11%.


Source: Messari

Overall, it is evident that the Filecoin Foundation, Protocols Labs, and their partners are aggregating resources to attract more users to the FVM. The growth thus far has been strong–but it is too early to call it a success. This Uniswap deployment, however, will certainly be another method to attract both developers and users to the FVM.

Deployment Details

The approval of this proposal by Uniswap governance will lead the stated Uniswap v3 contracts to be deemed as the canonical deployment on the FVM. As is the case with all canonical v3 deployments, this deployment will be subject to Ethereum Layer 1 Uniswap Protocol governance and control. The text record of the uniswap.eth ENS subdomain titled v3-deployments.uniswap.eth will be amended to include the reference to the stated v3 contracts on the FVM.

Once the Axelar team deploys the contracts on the destination chain, they will make a comment here on this RFC with a detailed list of all of the relevant addresses.

Timeline

The proposal will be in the RFC phase for a minimum of 7 days. After receiving feedback, a temperature check will commence, assessing the DAO’s desire to deploy on the FVM. The temp check is only measuring the community’s desire to deploy on the FVM–it is not a vote on the stakeholder list. Stakeholder debates are to take place here on the Uniswap Forums. After the community is content with the stakeholders and has shown a desire to deploy on the FVM (decided by the temp check), the Axelar team will deploy the v3 contracts on the destination chain. The deployment + auditing process will take 4-6 weeks post temperature check. An onchain vote will commence as soon as the contracts have been audited.

16 Likes

This Proposal Sounds Great. But I have a question.

How will Uniswap v3 on Filecoin interact with other blockchain networks and decentralized applications? Are there plans for cross-chain compatibility and liquidity transmission?

1 Like

We have been a bit passive because we are part of Accountability Committee, but will break the politeness as there are not enough questions. First of all, how does Uniswap community benefit from such integration?

2 Likes

Final heads up–the temp check for the FVM deployment ends in ~1 day. Please place your vote here: https://snapshot.org/#/uniswap/proposal/0x36a17f6c311f3d910bc11cb4cd55891a7e6c71facd04e7bffcfb267fdd88c45b

Good question. Much of what occurs on the FVM will be facilitated by Axelar. The cross-chain messaging will be conducted by Axelar, as per the RFC. This also abides by the recent approval Axelar received by the bridge assessment committee. Beyond gov message passing, other interactions between dapps and chains will also utilize Axelar. Here’s one example–sending txns from the FVM to other chains is slow, but this issue can be effectively addressed via Axelar’s GMP Express, which helps speed up the txn finality.

Thanks for your question. As stated in the RFC, the main benefit that Uniswap will attain from this deployment is access to the growing data economy building on the FVM. Filecoin/IPFS is the leading decentralized data storage provider, involved in providing storage services for numerous projects across a multitude of chains. The purpose of the FVM is to allow for better interaction with the data as well as providing users of Filecoin with dapps to interact with. One stated example was enabling swapping for service providers, where they can easily use Uniswap v3 to swap between their $FIL attained from service provision to stable USDC. As more and more dapps are launched on the FVM, and as data usage grows on Filecoin, there will need to be a place for users to swap their assets. It’s an integral function of any ecosystem–and we hope that this deployment meets that need.

2 Likes

Questions as part of the Deployment Accountability Committee

Thank you for the response. While the final decision is up to onchain governance,

But it’s not a robust mainnet with dApps yet, and if the Filecoin ecosystem is trying to attract robust dApps like Uniswap, shouldn’t there be attractive grant or liquidity provision to ensure it can do well even if it’s onboarded?

3 Likes

We have contacted the Protocol Labs team, and unfortunately, due to the regulatory environment facing all of crypto, the PL team cannot publicly comment on this issue at the time. The most they can reference are the liquidity provision programs they’ve spearheaded in the past. In the past year, they’ve allocated 5M+ FIL to the ecosystem’s service providers. They’ve also set aside 10M FIL for facilitating liquidity and market stability. 8M of the FIL from this program still stands to be utilized. In short, PL cannot explicitly guarantee bootstrapped liquidity upon v3 launch–but there are programs that have been initiated in the past for such purposes. Yes, this is an unsatisfying statement, but it’s the best we are currently able to work with granted the less than fortunate regulatory environment.

1 Like

Abdullah I support this proposal. I believe we should go through with it despite no liquidity provision guarantees on the part of PL.

I would like to ask if uniswap is sure to publish on filecoin? If so, when? We are doing relevant work, all want to know this information

1 Like

Hey guys, Uniswal V3 contracts have been deployed on Filecoin at the following addresses:

Contract Address
UniswapV3Factory 0xB4C47eD546Fc31E26470a186eC2C5F19eF09BA41
Multicall2 0xffd927d6F17495B28635DD49d24638e97BD8c8b8
ProxyAdmin 0xe9901ae78efB4386B1132009E310d08bCB445Bf5
TickLens 0x76c001ad9E527FEfA8Fa822a987Ad44ce720BAeD
NFTDescriptor 0xe909B0cAE57EE7EFF56A5Ca7fc4b66CF4F7C2D38
NonfungibleTokenPositionDescriptor 0x22850a17032F40778C0C0a3fDd96905950a39f89
DescriptorProxy 0xf0198aAa4a8792e2a4a6e6Fb3039e4B1C71f15bB
NonfungibleTokenPositionManager 0x4cd986dD509fbB6A695aE971d5C56c8795f640ee
V3Migrator 0x409af45457D4779828BFBCbe7aA653C38Edb9Ed9
V3Staker 0x915362b5450acbBc9F8044191aE7E35c86F2fE51
QuoterV2 0xE45C06922228A33fFf1ED54638A0db78f69F9780
SwapRouter02 0xcAb04058e60020d65D18D4B3DFF2cA1445D7099f

In addition, Axelar Interchain Governance contracts are deployed at the following addresses

Contract Address
InterchainProposalSender (Mainnet) 0x1f8A4d195B647647c7dD45650CBd553FD33cCAA6
InterchainProposalExecutor (Filecoin) 0xFf3b2DA1379cc67cc2755194604713f10b820b0E
3 Likes

Hey all! Wondering if you have a plan for front end deployment?

There are some initial discussions with GFX on a 3rd party FE deployment

3 Likes

As the first filecoin blockchain explorer. filscan is thrilled about this proposal. We wholeheartedly endorse this initiative and are ready to offer comprehensive data and any other necessary assistance to ensure its success! @AbdullahUmar

4 Likes

It’s been a couple of months in the making, but we are finally ready to take this proposal onchain. The voting schedule is as follows:

Voting goes live on Saturday Sep 30 5:23pm ET

Voting ends on Friday Oct 6 7:47am ET

Here is the link for voting.

2 Likes

@AbdullahUmar That’s so exciting! Filfox team deeply feels the huge demand and expectations from the Filecoin community for Uniswap deployment. As the most popular Filecoin explorer, Filfox will provide support in all aspects including but not limited to data, deployment, verification, etc. to ensure that Uniswap and Filecoin communities grow together!

The launch of Uniswap on Filecoin is a monumental event. FileMarket, as a tokenized file-sharing platform, is eager to assist with this integration and looks forward to it!

Hi all - really hoping this proposal passes. GLIF which is providing the leading staking / lending platform on FVM would be a supporter and most likely use these tools.

We’d definitely entertain the idea of building the Uniswap interface into GLIF’s website for the FE component as well, if folks thought that was a good idea

hey guys, i’ve verified most of the contracts on sourcify (due to time constraints and some complications with the filefox verification process). contracts are the same as posted above ofc and it does not affect the vote in any way, but could be useful for people wanting to see them verified

Contract Url
v3CoreFactoryAddress https://filfox.info/en/address/0xB4C47eD546Fc31E26470a186eC2C5F19eF09BA41?t=3 https://sourcify.dev/#/lookup/0xB4C47eD546Fc31E26470a186eC2C5F19eF09BA41
multicall2Address https://sourcify.dev/#/lookup/0xffd927d6F17495B28635DD49d24638e97BD8c8b8
tickLensAddress https://sourcify.dev/#/lookup/0x76c001ad9E527FEfA8Fa822a987Ad44ce720BAeD
nftDescriptorLibraryAddressV1_3_0 https://sourcify.dev/#/lookup/0xe909B0cAE57EE7EFF56A5Ca7fc4b66CF4F7C2D38
nonfungibleTokenPositionDescriptorAddressV1_3_0 https://sourcify.dev/#/lookup/0x22850a17032F40778C0C0a3fDd96905950a39f89
nonfungibleTokenPositionManagerAddress https://sourcify.dev/#/lookup/0x4cd986dD509fbB6A695aE971d5C56c8795f640ee
v3MigratorAddress https://sourcify.dev/#/lookup/0x409af45457D4779828BFBCbe7aA653C38Edb9Ed9
quoterV2Address https://sourcify.dev/#/lookup/0xE45C06922228A33fFf1ED54638A0db78f69F9780
swapRouter02 https://sourcify.dev/#/lookup/0xcAb04058e60020d65D18D4B3DFF2cA1445D7099f
proxyAdminAddress https://sourcify.dev/#/lookup/0xe9901ae78efB4386B1132009E310d08bCB445Bf5
descriptorProxyAddress https://sourcify.dev/#/lookup/0xf0198aAa4a8792e2a4a6e6Fb3039e4B1C71f15bB

/edit: added the previously not verified contracts

3 Likes

The below response reflects the views of L2BEAT’s governance team, composed of @kaereste and @Sinkas, and it’s based on the combined research, fact-checking and ideation of the two.

In the past, we have supported the deployment of V3 on several L2s. Although FVM isn’t an L2, we do not see any particular argument as to why we shouldn’t support such deployment. As a result, we’ll be voting in favour of the proposal in the on-chain vote.

3 Likes

Hey guys, we have completed the verification of all the above contracts on filfox.info! Filfox team will continue to optimize the verification logic and follow up to ensure the success of Uniswap in Filecoin ecosystem!

Contract Url
v3CoreFactoryAddress https://filfox.info/en/address/0xB4C47eD546Fc31E26470a186eC2C5F19eF09BA41?t=3
multicall2Address https://filfox.info/en/address/0xffd927d6F17495B28635DD49d24638e97BD8c8b8?t=3
tickLensAddress https://filfox.info/en/address/0x76c001ad9E527FEfA8Fa822a987Ad44ce720BAeD?t=3
nftDescriptorLibraryAddressV1_3_0 https://filfox.info/en/address/0xe909B0cAE57EE7EFF56A5Ca7fc4b66CF4F7C2D38?t=3
nonfungibleTokenPositionDescriptorAddressV1_3_0 https://filfox.info/en/address/0x22850a17032F40778C0C0a3fDd96905950a39f89?t=3
nonfungibleTokenPositionManagerAddress https://filfox.info/en/address/0x4cd986dD509fbB6A695aE971d5C56c8795f640ee?t=3
v3MigratorAddress https://filfox.info/en/address/0x409af45457D4779828BFBCbe7aA653C38Edb9Ed9?t=3
quoterV2Address https://filfox.info/en/address/0xE45C06922228A33fFf1ED54638A0db78f69F9780?t=3
swapRouter02 https://filfox.info/en/address/0xcAb04058e60020d65D18D4B3DFF2cA1445D7099f?t=3
proxyAdminAddress https://filfox.info/en/address/0xe9901ae78efB4386B1132009E310d08bCB445Bf5?t=3
descriptorProxyAddress https://filfox.info/en/address/0xf0198aAa4a8792e2a4a6e6Fb3039e4B1C71f15bB?t=3
2 Likes

Deploying Uniswap to different networks is an important issue to foster more users into the ecosystem and increase efficiency. With that being said, the question is which network it should be deployed on. Filecoin provides a strong infrastructure for data storage and accessibility. The network’s economic system ensures the security and integrity of data. The aim of FVM is not just to be a data storage platform but to create a robust data economy at the heart of the Filecoin ecosystem. Filecoin’s decentralized storage technology provides Uniswap with the capability to offer a more reliable, transparent, and rapid storage solution. This enhances Uniswap’s ability to provide users with a more efficient, fast, and secure swap experience while simultaneously increasing the platform’s overall reliability and performance. Beyond that, FVM is compatible with Ethereum Virtual Machine. This feature offers new and expanding opportunities in space, especially for application developers. Considering all the above, we think Filecoin is proper for Uniswap deployment. Therefore we vote in favor of this proposal.