Dear Uniswap Community,
The Voltz Labs team submitted the following proposal, and additional legal language, asking Uniswap Governance for a v3 Additional Use Grant in exchange for 1% of Voltz Future Tokens, alongside a number of non-financial benefits.
After the proposal successfully passed both the Temperature Check and Consensus Check, we are now getting ready to initiate the final Governance Proposal vote. As a result, we have outlined below the draft code that will be executed by the Uniswap Timelock if the vote is successful. Through the rest of this week we are testing this code in a simulator: https://github.com/Uniswap/governance-seatbelt
. When complete, we’ll post the final code that will be proposed to the Timelock.
Should the community have any feedback we’d be excited to receive it. Otherwise, we plan on initiating the final vote on Monday 28th February.
We have been humbled and thrilled with the support of the Uniswap community so far! We’re excited about the prospect of making this happen and setting a precedent for future DAO2DAO collaboration!
DRAFT code that will be used to initiate simulations
Reference: ​​https://github.com/Uniswap/deploy-v3
GovernorBravoDelegator.propose(targets, values, signatures, calldatas, description)
where
description = ”Voltz Additional Use Grant Proposal”
targets = [ENS_REGISTRY_ADDRESS, PUBLIC_ENS_RESOLVER_ADDRESS]
signatures = ["", “”] (because the function selector is included in the calldata)
calldatas = [ “0x5ef2c7f0ec9ec573cf97ad1c270be71ac1de3b382790cb346036130c7d7ff844bf8f497415ff9b5bd7642701a10e5ea8fb29c957ffda4854cd028e9f6218506e6b509af20000000000000000000000001a9c8182c09f50c8318d769245bea52c32be35bc0000000000000000000000004976fb03c32e5b8cfe2b6ccb31c09ba78ebaba410000000000000000000000000000000000000000000000000000000000000000”, “0x10f13a8ca35d592ec6e5289a387cba1d5f82be794f495bd5a361a1fb314687c6aefea1f4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000021566f6c747a20556e69207633204164646974696f6e616c20557365204772616e740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b5566f6c747a204c61627320546563686e6f6c6f6779204c696d697465642028e2809c566f6c747ae2809d29206973206772616e74656420616e206164646974696f6e616c20757365206772616e7420746f20616c6c6f772074686520566f6c747a2044414f20746f207573652074686520556e697377617020563320436f726520736f66747761726520636f646520287768696368206973206d61646520617661696c61626c6520746f20566f6c747a207375626a65637420746f206c6963656e736520617661696c61626c652061742068747470733a2f2f6769746875622e636f6d2f556e69737761702f76332d636f72652f626c6f622f6d61696e2f4c4943454e5345202874686520e2809c556e697377617020436f6465e2809d29292e2041732070617274206f662074686973206164646974696f6e616c20757365206772616e742c2074686520566f6c747a2044414f2072656365697665732061206c696d6974656420776f726c6477696465206c6963656e736520746f207573652074686520556e697377617020436f646520666f722074686520707572706f736573206f663a206372656174696e672c206465706c6f79696e6720616e64206d616b696e6720617661696c61626c652061737065637473206f6620616e20696e74657265737420726174652073776170206175746f6d61746564206d61726b6574206d616b6572202874686520e2809c49525320414d4de2809d293b20746f206d6f6469667920616e6420757064617465207468652049525320414d4d206f7665722074696d653b20616e64206465706c6f79207468652049525320414d4d20616e6420706f7274696f6e732074686572656f6620617320736d61727420636f6e747261637473206f6e20626c6f636b636861696e2d6261736564206170706c69636174696f6e7320616e642070726f746f636f6c732e2054686520566f6c747a2044414f206973207065726d697474656420746f2075736520737562636f6e74726163746f727320746f20646f207468697320776f726b2e2054686973206c6963656e736520697320636f6e646974696f6e616c206f6e20566f6c747a20616e642074686520566f6c747a2044414f20636f6d706c79696e67207769746820746865207465726d73206f662074686520427573696e65737320536f75726365204c6963656e736520312e312c206d61646520617661696c61626c652061742068747470733a2f2f6769746875622e636f6d2f556e69737761702f76332d636f72652f626c6f622f6d61696e2f4c4943454e53452e0000000000000000000000”]
Note:
- calldatas[0] is derived from a call to setSubnodeRecord(bytes32,bytes32,address,address,uint64)
With parameters
{
“node”:“0xec9ec573cf97ad1c270be71ac1de3b382790cb346036130c7d7ff844bf8f4974”
“label”:“0x15ff9b5bd7642701a10e5ea8fb29c957ffda4854cd028e9f6218506e6b509af2”
“owner”:“0x1a9c8182c09f50c8318d769245bea52c32be35bc”
“resolver”:“0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41”
“ttl”:0
}
Where
node=“0xec9ec573cf97ad1c270be71ac1de3b382790cb346036130c7d7ff844bf8f4974”=namehash(“uniswap.eth”)
And
label=“0x15ff9b5bd7642701a10e5ea8fb29c957ffda4854cd028e9f6218506e6b509af2”=keccak256(utils.toUtf8Bytes(“v3-core-license-grants”))
- calldatas[1] is derived from a call to
setText(bytes32,string,string)
With parameters
{
“node”:“0xa35d592ec6e5289a387cba1d5f82be794f495bd5a361a1fb314687c6aefea1f4”,
“key”:“Voltz Uni v3 Additional Use Grant”,
“value”:"Voltz Labs Technology Limited (“Voltz”) is granted an additional use grant to allow the Voltz DAO to use the Uniswap V3 Core software code (which is made available to Voltz subject to license available at https://github.com/Uniswap/v3-core/blob/main/LICENSE
(the “Uniswap Code”)). As part of this additional use grant, the Voltz DAO receives a limited worldwide license to use the Uniswap Code for the purposes of: creating, deploying and making available aspects of an interest rate swap automated market maker (the “IRS AMM”); to modify and update the IRS AMM over time; and deploy the IRS AMM and portions thereof as smart contracts on blockchain-based applications and protocols. The Voltz DAO is permitted to use subcontractors to do this work. This license is conditional on Voltz and the Voltz DAO complying with the terms of the Business Source License 1.1, made available at https://github.com/Uniswap/v3-core/blob/main/LICENSE.
"
}
Where
node=“0xa35d592ec6e5289a387cba1d5f82be794f495bd5a361a1fb314687c6aefea1f4”=namehash(“v3-core-license-grants.uniswap.eth”)
Testing
We have simulated the two individual transactions in Tenderly, and we get successful transactions generating the following event logs:
setSubnodeRecord()
- NewOwner: {
“Node”:“0xec9ec573cf97ad1c270be71ac1de3b382790cb346036130c7d7ff844bf8f4974”
“Label”:“0x15ff9b5bd7642701a10e5ea8fb29c957ffda4854cd028e9f6218506e6b509af2”
“owner”:“0x1a9c8182c09f50c8318d769245bea52c32be35bc”
}
- NewResolver: {
“Node”:“0xa35d592ec6e5289a387cba1d5f82be794f495bd5a361a1fb314687c6aefea1f4”
“Resolver”:“0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41”
}
setText()
- TextChanged: {
“Node”: “0xa35d592ec6e5289a387cba1d5f82be794f495bd5a361a1fb314687c6aefea1f4”,
“IndexedKey”:“0x2516c29f14a1d89a415d7a3c3e8c3201e2ea4e2d9531ef0821f8c347525af95c”,
“Key”: “Voltz Uni v3 Additional Use Grant”
}