Profile of Agora in Optimism
Posts by Agora
-
Governor Update Proposal #3: Enable onchain treasury execution
by Agora - No Role
Posted on: Oct. 30, 2024, 12:28 p.m.
Content: Thanks for questions and sorry for any confusion.
With the timelock deployment, the proposer and executor roles will be granted to the governor. After a proposal passes, anyone can queue it to the timelock and execute it once the timelock period ends.
As for canceling, the governor manager, proposer, and timelock can cancel a proposal. Given that the governor manager is the foundation multisig, they would have veto privileges to cancel proposals.
The security council will also play a crucial role in providing a veto function should anything malicious get queued but these processes are still being ironed out.
Likes: 1
Replies: 0
No replies yet.
-
Looking Ahead: Long-term Onchain Governance Architecture
by Agora - No Role
Posted on: Oct. 17, 2024, 4:23 p.m.
Content: Updating this thread with a link to the proposal to turn on onchain Gov Fund execution, as mentioned in the parent post:
Governor Update Proposal # 3 : Enable onchain treasury execution Protocol Upgrade
Executive Summary
Hi I’m Kent, CTO of Agora. Agora is the governance software company focused on contributing to the Optimism token house governor and its frontend at vote.optimism.io. We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.
This update to the governance smart contract of the token house will allow allow the execution of token transfer proposals onchain directly. Whereas today, proposals on Optimism are voted onchain, but executed manual…
Likes: 4
Replies: 0
No replies yet.
-
Governor Update Proposal #3: Enable onchain treasury execution
by Agora - No Role
Posted on: Oct. 17, 2024, 4:19 p.m.
Content: Executive Summary
Hi I’m Kent, CTO of Agora. Agora is the governance software company focused on contributing to the Optimism token house governor and its frontend at vote.optimism.io 15 . We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.
This update to the governance smart contract of the token house will allow allow the execution of token transfer proposals onchain directly. Whereas today, proposals on Optimism are voted onchain, but executed manually by the Optimism Foundation according to the outcome of the vote, this upgrade will make it such that for OP token transfer proposals are executed fully onchain, automatically, and without relying on the Foundation.
Note that for non-treasury token transfer proposals (such as protocol and governance upgrades) execution will continue to be conducted the by OP Foundation as before.
As part of this update, we’re also introducing minor patches that address findings from a previous audit 2 .
If this vote passes, the Optimism foundation will upgrade governor contract to the new implementation specified below.
Motivation
Onchain Execution of treasury transfers moves us along the path towards progressive decentralization, in line with the strategy outlined in the Working Constitution 1 and the Long-term Onchain Governance Architecture. 5 With this proposal, we’re incredibly excited to take the first of a series of steps towards decentralization.
Specifications
Contract Changed
Optimism governor
The Optimism Governor 1 would be changed as part of this upgrade. Please review the pull request here:
github.com/voteagora/optimism-governor
feat: permissioned timelock support 9
voteagora:onchain-exec-permissionless ← voteagora:onchain-exec-only
opened
Oct 15 , 2024
cairoeth
+ 118
- 93
The deployed code can be found here: 0 xecbf 4 ed 9 f 47302 f 00 f 0 f 039 a 691 e 7 db 83 bdd 2624 5
There are no state changes to any proposals and votes in this upgrade. The only state change will be to store the upgrade block number
Voting module
This upgrade also introduces a minor fix to the governor approval voting module. Please review the pull request here:
feat: timelock support by cairoeth · Pull Request # 31 · voteagora/optimism-governor 6
The deployed code can be found here: 0 x 8060 B 18290 F 48 fc 0 bF 2149 EEb 2 F 3 c 280 bDe 7674 f. 3
Proposal types configurator
This upgrade also introduces a minor fix to the proposal types configurator. Please review the pull request here:
feat: timelock support by cairoeth · Pull Request # 31 · voteagora/optimism-governor 1
The deployed code can be found here: 0 xCE 52 b 7 cc 490523 B 3 e 81 C 3076 D 5 ae 5 Cca 9 a 3 e 2 D 6 F 4
Timelock (newly deployed)
In addition to changes to existing contracts, a new Timelock 2 contract will be be deployed and hooked up to the governor after the proposal is successful. The Timelock introduces a delay before a successful proposal can be executed, and is the address ultimately controlling funds in the treasury. The Timelock is using an standard Open Zeppelin library, and will be initialized with roles as such:
Parameter
description
Admin
N/A
Canceller
Governor Contract
Executor
Governor Contract
Delay
3 days
Security Considerations
This change is being audited by Trust 3 Security. Please find their audit report here. 9
Impact Summary
Agora does not anticipate any downtime due to this upgrade. Proposal creation and voting will not be affected.
Applications that integrate with governance contracts should be aware that the contract is changing
Action Plan
If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 2 to new implementation deployed at 0 xecbf 4 ed 9 f 47302 f 00 f 0 f 039 a 691 e 7 db 83 bdd 2624 5 .
Additionally, the admin will disable the previous deployed approval voting module, and enable its updated implementation deployed at 0 x 8060 B 18290 F 48 fc 0 bF 2149 EEb 2 F 3 c 280 bDe 7674 f 3 . Similarly, the admin will point to the new proposal types configurator deployed at 0 xCE 52 b 7 cc 490523 B 3 e 81 C 3076 D 5 ae 5 Cca 9 a 3 e 2 D 6 F 4 .
Once the contract upgrade is complete, the Optimism Foundation will hold treasury transfer dry run on the subsequent voting cycle ( 30 ) as practice.
Upon successful completion of the dry run, the Optimism Foundation will fund the Timelock with OP Tokens for future transfers.
Conclusion
This proposal outlines the “Enable onchain treasury execution” upgrade. This upgrade enables direct onchain execution of treasury
Edit on 10 / 21 : attached audit report and new contract implementation
Likes: 29
Replies: 0
Likers:
lavande,
brichis,
Milo,
bobby,
Megalod,
web3magnetic,
ashrafstakala,
DanSingjoy,
Pumbi,
aiobkhan,
LuukDAO,
Joxes,
Gonna.eth,
AnthiasLabs,
Bunnic,
mastermojo,
polynya,
Chain_L,
Olusoji,
revmiller,
0xDonPepe,
chicco,
jaack,
infinite888,
UniswapFoundation,
cp0x-AlexQ,
ismailemin,
zcf,
fujiar
No replies yet.
-
Governor Update Proposal #3: Enable onchain treasury execution
by Agora - No Role
Posted on: Oct. 17, 2024, 4:19 p.m.
Content: Executive Summary
Hi I’m Kent, CTO of Agora. Agora is the governance software company focused on contributing to the Optimism token house governor and its frontend at vote.optimism.io. We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.
This update to the governance smart contract of the token house will allow allow the execution of token transfer proposals onchain directly. Whereas today, proposals on Optimism are voted onchain, but executed manually by the Optimism Foundation according to the outcome of the vote, this upgrade will make it such that for OP token transfer proposals are executed fully onchain, automatically, and without relying on the Foundation.
Note that for non-treasury token transfer proposals (such as protocol and governance upgrades) execution will continue to be conducted the by OP Foundation as before.
As part of this update, we’re also introducing minor patches that address findings from a previous audit.
If this vote passes, the Optimism foundation will upgrade governor contract to the new implementation specified below.
Motivation
Onchain Execution of treasury transfers moves us along the path towards progressive decentralization, in line with the strategy outlined in the Working Constitution and the Long-term Onchain Governance Architecture. With this proposal, we’re incredibly excited to take the first of a series of steps towards decentralization.
Specifications
Contract Changed
Optimism governor
The Optimism Governor would be changed as part of this upgrade. Please review the pull request here:
github.com/voteagora/optimism-governor
feat: permissioned timelock support
voteagora:onchain-exec-permissionless ← voteagora:onchain-exec-only
opened
Oct 15 , 2024
cairoeth
+ 118
- 93
The deployed code can be found here: 0 xecbf 4 ed 9 f 47302 f 00 f 0 f 039 a 691 e 7 db 83 bdd 2624
There are no state changes to any proposals and votes in this upgrade. The only state change will be to store the upgrade block number
Voting module
This upgrade also introduces a minor fix to the governor approval voting module. Please review the pull request here:
feat: timelock support by cairoeth · Pull Request # 31 · voteagora/optimism-governor
The deployed code can be found here: 0 x 8060 B 18290 F 48 fc 0 bF 2149 EEb 2 F 3 c 280 bDe 7674 f.
Proposal types configurator
This upgrade also introduces a minor fix to the proposal types configurator. Please review the pull request here:
feat: timelock support by cairoeth · Pull Request # 31 · voteagora/optimism-governor
The deployed code can be found here: 0 xCE 52 b 7 cc 490523 B 3 e 81 C 3076 D 5 ae 5 Cca 9 a 3 e 2 D 6 F
Timelock (newly deployed)
In addition to changes to existing contracts, a new Timelock contract will be be deployed and hooked up to the governor after the proposal is successful. The Timelock introduces a delay before a successful proposal can be executed, and is the address ultimately controlling funds in the treasury. The Timelock is using an standard Open Zeppelin library, and will be initialized with roles as such:
Parameter
description
Admin
N/A
Canceller
Governor Contract
Executor
Governor Contract
Delay
3 days
Security Considerations
This change is being audited by Trust Security. Please find their audit report here.
Impact Summary
Agora does not anticipate any downtime due to this upgrade. Proposal creation and voting will not be affected.
Applications that integrate with governance contracts should be aware that the contract is changing
Action Plan
If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 to new implementation deployed at 0 xecbf 4 ed 9 f 47302 f 00 f 0 f 039 a 691 e 7 db 83 bdd 2624 .
Additionally, the admin will disable the previous deployed approval voting module, and enable its updated implementation deployed at 0 x 8060 B 18290 F 48 fc 0 bF 2149 EEb 2 F 3 c 280 bDe 7674 f. Similarly, the admin will point to the new proposal types configurator deployed at 0 xCE 52 b 7 cc 490523 B 3 e 81 C 3076 D 5 ae 5 Cca 9 a 3 e 2 D 6 F.
Once the contract upgrade is complete, the Optimism Foundation will hold treasury transfer dry run on the subsequent voting cycle ( 30 ) as practice.
Upon successful completion of the dry run, the Optimism Foundation will fund the Timelock with OP Tokens for future transfers.
Conclusion
This proposal outlines the “Enable onchain treasury execution” upgrade. This upgrade enables direct onchain execution of treasury
Edit on 10 / 21 : attached audit report and new contract implementation
Likes: 29
Replies: 0
Likers:
lavande,
brichis,
Milo,
bobby,
Megalod,
web3magnetic,
ashrafstakala,
DanSingjoy,
Pumbi,
aiobkhan,
LuukDAO,
Joxes,
Gonna.eth,
AnthiasLabs,
Bunnic,
mastermojo,
polynya,
Chain_L,
Olusoji,
revmiller,
0xDonPepe,
chicco,
jaack,
infinite888,
UniswapFoundation,
cp0x-AlexQ,
ismailemin,
zcf,
fujiar
No replies yet.
-
Agora Updates & Feedback thread
by Agora - No Role
Posted on: May 28, 2024, 6:07 p.m.
Content: Hey Michael - good eye! For transparency, this transaction was to let projects and individuals who’ve received grants vote with some portion of their funds.
The transaction you’ve identified was sent to a multisig controlled by the Foundation, and used advanced delegation (which is a new featured built by Agora) to make the process of bulk delegation easier to manage.
Agora does not control this address, and was not the recipient of these funds. Although I can see the potential confusion since yitong.eth did send some a bit of OP into this multisig for testing purposes when we were helping the Foundation set up this complex delegation schema.
Please let us know if we can provide any additional transparency!
Likes: 4
Replies: 0
No replies yet.
-
Governor Update Proposal #2: Improvements to advanced delegation allowance calculations
by Agora - No Role
Posted on: May 17, 2024, 1:45 p.m.
Content: Executive Summary Hi I’m Kent, CTO of Agora. Agora is the governance software company contributing to the Optimism token house governor and its frontend at vote.optimism.io. We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation. This Governor upgrade introduces improvements to the Alligator allowance storage system that enabled partial delegation and sub delegation for OP voters. Since it’s launch in December of 2023 , delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed. If this vote passes, the Optimism foundation will upgrade the governor contract to the new implementation Agora deployed shortly after the end of the veto period. Motivation As part of the v 2 upgrade of the token housewe shipped in December, we enabled a new feature called “advanced delegation”, which allows token holders to delegate their voting power to multiple delegates without splitting their balance. This facilitates governance participation for large funds, partners and the foundation, who have complex token storage requirements. This improvement builds on the real world experience of using advanced delegation and Alligator in the wild and covers scenarios that we did not capture during testing, especially situations such as: A partially delegates to B and C C partially delegates to D and E E partially delegates to F Y partially delegates to W and Z Z partially delegates to A and F Without this change, depending on how these votes were partially delegated either via absolute or relative weights, there is a chance that F’s voting power would have been less than it should have been. It’s important to note that this hasn’t happened in production, and this update to make sure it doesn’t. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed. Impact to voters: Delegates with advanced voting power will have a better user experience especially if they find themselves in complex delegation states where some users delegated to them with relative power, and other delegated to them with absolute power. Note on timing: We’re aware that delegates were previously asked to vote on another advanced delegation upgrade proposal, so some may be wondering why these updates were not batched. The reason for this is that, due to auditor availability, we could only ship the full scope of changes several weeks after they were completed. Some of the changes included improvements to the voting experience – so we worked out a deal with the audit team to audit that part first so that voters may benefit from that change asap. This current vote is for the rest of the changes. Specifications Contract Changed The Optimism Governor would be changed as part of this upgrade. Please review the pull request here: github.com/voteagora/governor fix: allowance calculation in alligator voteagora:main ← voteagora:alligator-allowance-fix opened Mar 16 , 2024 jjranalli + 664 - 107 fixes how allowances are calculated in complex subdelegation scenarios. the m…ain correction comes from the assumption that: - absolute allowances are related to **all votes cast by a delegate** regardless of authority chains - relative allowances are related to **votes cast by a delegate via a certain authority chain** this should fix should solve most scenarios, but more tests (especially fuzz) are needed to make sure all edge cases are covered and the desired outcome is always achieved. --- Note: this also adds new helpers useful for writing tests - `createAuthorityChain` - `createBasicAuthorities` The deployed code can be found here: https://optimistic.etherscan.io/address/ 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 . There are no state changes to any governance contracts in this upgrade. Security Considerations This change has been audited by Open Zeppelin. There were no issues identified given that it’s a minimal change which doesn’t affect the rest of the contract logic. In the unlikely scenario that we’ll need to make any changes to address issues, we’ll update this thread to inform the community on next steps. CleanShot 2024 - 05 - 17 at 09 . 42 . 34 @ 2 x 1234 × 476 100 KB The OpenZeppelin Audit Report is attached here. Password to view is: 1 jw 2 KTKDdJ 356 UMb Impact Summary Agora does not anticipate any downtime due to this upgrade. As of this proposal there is a small number of users with advanced voting power, therefore the potential exposure is minimal. Action Plan If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 to new implementation deployed at 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 If a critical security issue is discovered before upgrading, Agora will collaborate with the community to extensively communicate that the upgrade will no longer occur. Conclusion This proposal outlines changes to the governor that will allow for more complex delegation states to be achieved by OP voters using the Alligator contract. These improvements have been audited and no issues have been found.
Likes: 3
Replies: 1
Replies:
- FractalVisions: Agora:
Since it’s launch in December of 2023, delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
This is interesting. Is there any difference in the results of the votes that were affected by this ?
We want to know how significant of an impact this had on the outcome.
-
[FINAL] Governor Update Proposal #2: Improvements to advanced delegation allowance calculations
by Agora - No Role
Posted on: May 17, 2024, 1:45 p.m.
Content: Executive Summary Hi I’m Kent, CTO of Agora. Agora is the governance software company contributing to the Optimism token house governor and its frontend at vote.optimism.io 3 . We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation. This Governor upgrade introduces improvements to the Alligator allowance storage system that enabled partial delegation and sub delegation for OP voters. Since it’s launch in December of 2023 , delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed. If this vote passes, the Optimism foundation will upgrade the governor contract to the new implementation Agora deployed shortly after the end of the veto period. Motivation As part of the v 2 upgrade of the token house 1 we shipped in December, we enabled a new feature called “advanced delegation”, which allows token holders to delegate their voting power to multiple delegates without splitting their balance. This facilitates governance participation for large funds, partners and the foundation, who have complex token storage requirements. This improvement builds on the real world experience of using advanced delegation and Alligator in the wild and covers scenarios that we did not capture during testing, especially situations such as: A partially delegates to B and C C partially delegates to D and E E partially delegates to F Y partially delegates to W and Z Z partially delegates to A and F Without this change, depending on how these votes were partially delegated either via absolute or relative weights, there is a chance that F’s voting power would have been less than it should have been. It’s important to note that this hasn’t happened in production, and this update to make sure it doesn’t. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed. Impact to voters: Delegates with advanced voting power will have a better user experience especially if they find themselves in complex delegation states where some users delegated to them with relative power, and other delegated to them with absolute power. Note on timing: We’re aware that delegates were previously asked to vote on another advanced delegation upgrade proposal, so some may be wondering why these updates were not batched. The reason for this is that, due to auditor availability, we could only ship the full scope of changes several weeks after they were completed. Some of the changes included improvements to the voting experience – so we worked out a deal with the audit team to audit that part first so that voters may benefit from that change asap. This current vote is for the rest of the changes. Specifications Contract Changed The Optimism Governor 3 would be changed as part of this upgrade. Please review the pull request here: github.com/voteagora/governor fix: allowance calculation in alligator 3 voteagora:main ← voteagora:alligator-allowance-fix opened Mar 16 , 2024 jjranalli + 664 - 107 fixes how allowances are calculated in complex subdelegation scenarios. the m…ain correction comes from the assumption that: - absolute allowances are related to **all votes cast by a delegate** regardless of authority chains - relative allowances are related to **votes cast by a delegate via a certain authority chain** this should fix should solve most scenarios, but more tests (especially fuzz) are needed to make sure all edge cases are covered and the desired outcome is always achieved. --- Note: this also adds new helpers useful for writing tests - `createAuthorityChain` - `createBasicAuthorities` The deployed code can be found here: https://optimistic.etherscan.io/address/ 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 . There are no state changes to any governance contracts in this upgrade. Security Considerations This change has been audited by Open Zeppelin. There were no issues identified given that it’s a minimal change which doesn’t affect the rest of the contract logic. In the unlikely scenario that we’ll need to make any changes to address issues, we’ll update this thread to inform the community on next steps. CleanShot 2024 - 05 - 17 at 09 . 42 . 34 @ 2 x 1234 × 476 100 KB The OpenZeppelin Audit Report is attached here 1 . Password to view is: 1 jw 2 KTKDdJ 356 UMb Impact Summary Agora does not anticipate any downtime due to this upgrade. As of this proposal there is a small number of users with advanced voting power, therefore the potential exposure is minimal. Action Plan If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 to new implementation deployed at 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 If a critical security issue is discovered before upgrading, Agora will collaborate with the community to extensively communicate that the upgrade will no longer occur. Conclusion This proposal outlines changes to the governor that will allow for more complex delegation states to be achieved by OP voters using the Alligator contract. These improvements have been audited and no issues have been found.
Likes: 6
Replies: 1
Replies:
- FractalVisions: Agora:
Since it’s launch in December of 2023, delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
This is interesting. Is there any difference in the results of the votes that were affected by this ?
We want to know how significant of an impact this had on the outcome.
-
[FINAL] Governor Update Proposal #2: Improvements to advanced delegation allowance calculations
by Agora - No Role
Posted on: May 17, 2024, 9:45 a.m.
Content: Executive Summary
Hi I’m Kent, CTO of Agora. Agora is the governance software company contributing to the Optimism token house governor and its frontend at vote.optimism.io. We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.
This Governor upgrade introduces improvements to the Alligator allowance storage system that enabled partial delegation and sub delegation for OP voters. Since it’s launch in December of 2023 , delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
If this vote passes, the Optimism foundation will upgrade the governor contract to the new implementation Agora deployed shortly after the end of the veto period.
Motivation
As part of the v 2 upgrade of the token housewe shipped in December, we enabled a new feature called “advanced delegation”, which allows token holders to delegate their voting power to multiple delegates without splitting their balance. This facilitates governance participation for large funds, partners and the foundation, who have complex token storage requirements.
This improvement builds on the real world experience of using advanced delegation and Alligator in the wild and covers scenarios that we did not capture during testing, especially situations such as:
A partially delegates to B and C
C partially delegates to D and E
E partially delegates to F
Y partially delegates to W and Z
Z partially delegates to A and F
Without this change, depending on how these votes were partially delegated either via absolute or relative weights, there is a chance that F’s voting power would have been less than it should have been. It’s important to note that this hasn’t happened in production, and this update to make sure it doesn’t.
We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
Impact to voters:
Delegates with advanced voting power will have a better user experience especially if they find themselves in complex delegation states where some users delegated to them with relative power, and other delegated to them with absolute power.
Note on timing:
We’re aware that delegates were previously asked to vote on another advanced delegation upgrade proposal, so some may be wondering why these updates were not batched. The reason for this is that, due to auditor availability, we could only ship the full scope of changes several weeks after they were completed. Some of the changes included improvements to the voting experience – so we worked out a deal with the audit team to audit that part first so that voters may benefit from that change asap. This current vote is for the rest of the changes.
Specifications
Contract Changed
The Optimism Governor would be changed as part of this upgrade. Please review the pull request here:
github.com/voteagora/governor
fix: allowance calculation in alligator
voteagora:main ← voteagora:alligator-allowance-fix
opened
Mar 16 , 2024
jjranalli
+ 664
- 107
fixes how allowances are calculated in complex subdelegation scenarios.
the m…ain correction comes from the assumption that:
- absolute allowances are related to **all votes cast by a delegate** regardless of authority chains
- relative allowances are related to **votes cast by a delegate via a certain authority chain**
this should fix should solve most scenarios, but more tests (especially fuzz) are needed to make sure all edge cases are covered and the desired outcome is always achieved.
---
Note: this also adds new helpers useful for writing tests
- `createAuthorityChain`
- `createBasicAuthorities`
The deployed code can be found here: https://optimistic.etherscan.io/address/ 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 . There are no state changes to any governance contracts in this upgrade.
Security Considerations
This change has been audited by Open Zeppelin. There were no issues identified given that it’s a minimal change which doesn’t affect the rest of the contract logic. In the unlikely scenario that we’ll need to make any changes to address issues, we’ll update this thread to inform the community on next steps.
CleanShot 2024 - 05 - 17 at 09 . 42 . 34 @ 2 x 1234 × 476 100 KB
The OpenZeppelin Audit Report is attached here. Password to view is: 1 jw 2 KTKDdJ 356 UMb
Impact Summary
Agora does not anticipate any downtime due to this upgrade. As of this proposal there is a small number of users with advanced voting power, therefore the potential exposure is minimal.
Action Plan
If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 to new implementation deployed at 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74
If a critical security issue is discovered before upgrading, Agora will collaborate with the community to extensively communicate that the upgrade will no longer occur.
Conclusion
This proposal outlines changes to the governor that will allow for more complex delegation states to be achieved by OP voters using the Alligator contract. These improvements have been audited and no issues have been found.
Likes: 10
Replies: 1
Replies:
- FractalVisions: Agora:
Since it’s launch in December of 2023, delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
This is interesting. Is there any difference in the results of the votes that were affected by this ?
We want to know how significant of an impact this had on the outcome.
-
[FINAL] Governor Update Proposal #2: Improvements to advanced delegation allowance calculations
by Agora - No Role
Posted on: May 17, 2024, 9:45 a.m.
Content: Executive Summary
Hi I’m Kent, CTO of Agora. Agora is the governance software company contributing to the Optimism token house governor and its frontend at vote.optimism.io 7 . We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.
This Governor upgrade introduces improvements to the Alligator allowance storage system that enabled partial delegation and sub delegation for OP voters. Since it’s launch in December of 2023 , delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
If this vote passes, the Optimism foundation will upgrade the governor contract to the new implementation Agora deployed shortly after the end of the veto period.
Motivation
As part of the v 2 upgrade of the token house 5 we shipped in December, we enabled a new feature called “advanced delegation”, which allows token holders to delegate their voting power to multiple delegates without splitting their balance. This facilitates governance participation for large funds, partners and the foundation, who have complex token storage requirements.
This improvement builds on the real world experience of using advanced delegation and Alligator in the wild and covers scenarios that we did not capture during testing, especially situations such as:
A partially delegates to B and C
C partially delegates to D and E
E partially delegates to F
Y partially delegates to W and Z
Z partially delegates to A and F
Without this change, depending on how these votes were partially delegated either via absolute or relative weights, there is a chance that F’s voting power would have been less than it should have been. It’s important to note that this hasn’t happened in production, and this update to make sure it doesn’t.
We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
Impact to voters:
Delegates with advanced voting power will have a better user experience especially if they find themselves in complex delegation states where some users delegated to them with relative power, and other delegated to them with absolute power.
Note on timing:
We’re aware that delegates were previously asked to vote on another advanced delegation upgrade proposal, so some may be wondering why these updates were not batched. The reason for this is that, due to auditor availability, we could only ship the full scope of changes several weeks after they were completed. Some of the changes included improvements to the voting experience – so we worked out a deal with the audit team to audit that part first so that voters may benefit from that change asap. This current vote is for the rest of the changes.
Specifications
Contract Changed
The Optimism Governor 8 would be changed as part of this upgrade. Please review the pull request here:
github.com/voteagora/governor
fix: allowance calculation in alligator 8
voteagora:main ← voteagora:alligator-allowance-fix
opened
Mar 16 , 2024
jjranalli
+ 664
- 107
fixes how allowances are calculated in complex subdelegation scenarios.
the m…ain correction comes from the assumption that:
- absolute allowances are related to **all votes cast by a delegate** regardless of authority chains
- relative allowances are related to **votes cast by a delegate via a certain authority chain**
this should fix should solve most scenarios, but more tests (especially fuzz) are needed to make sure all edge cases are covered and the desired outcome is always achieved.
---
Note: this also adds new helpers useful for writing tests
- `createAuthorityChain`
- `createBasicAuthorities`
The deployed code can be found here: https://optimistic.etherscan.io/address/ 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 2 . There are no state changes to any governance contracts in this upgrade.
Security Considerations
This change has been audited by Open Zeppelin. There were no issues identified given that it’s a minimal change which doesn’t affect the rest of the contract logic. In the unlikely scenario that we’ll need to make any changes to address issues, we’ll update this thread to inform the community on next steps.
CleanShot 2024 - 05 - 17 at 09 . 42 . 34 @ 2 x 1234 × 476 100 KB
The OpenZeppelin Audit Report is attached here 2 . Password to view is: 1 jw 2 KTKDdJ 356 UMb
Impact Summary
Agora does not anticipate any downtime due to this upgrade. As of this proposal there is a small number of users with advanced voting power, therefore the potential exposure is minimal.
Action Plan
If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 1 to new implementation deployed at 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 2
If a critical security issue is discovered before upgrading, Agora will collaborate with the community to extensively communicate that the upgrade will no longer occur.
Conclusion
This proposal outlines changes to the governor that will allow for more complex delegation states to be achieved by OP voters using the Alligator contract. These improvements have been audited and no issues have been found.
Likes: 10
Replies: 1
Replies:
- FractalVisions: Agora:
Since it’s launch in December of 2023, delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
This is interesting. Is there any difference in the results of the votes that were affected by this ?
We want to know how significant of an impact this had on the outcome.
-
Governor Update Proposal #2: Improvements to advanced delegation allowance calculations
by Agora - No Role
Posted on: May 17, 2024, 9:45 a.m.
Content: Executive Summary
Hi I’m Kent, CTO of Agora. Agora is the governance software company contributing to the Optimism token house governor and its frontend at vote.optimism.io 7 . We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.
This Governor upgrade introduces improvements to the Alligator allowance storage system that enabled partial delegation and sub delegation for OP voters. Since it’s launch in December of 2023 , delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
If this vote passes, the Optimism foundation will upgrade the governor contract to the new implementation Agora deployed shortly after the end of the veto period.
Motivation
As part of the v 2 upgrade of the token house 5 we shipped in December, we enabled a new feature called “advanced delegation”, which allows token holders to delegate their voting power to multiple delegates without splitting their balance. This facilitates governance participation for large funds, partners and the foundation, who have complex token storage requirements.
This improvement builds on the real world experience of using advanced delegation and Alligator in the wild and covers scenarios that we did not capture during testing, especially situations such as:
A partially delegates to B and C
C partially delegates to D and E
E partially delegates to F
Y partially delegates to W and Z
Z partially delegates to A and F
Without this change, depending on how these votes were partially delegated either via absolute or relative weights, there is a chance that F’s voting power would have been less than it should have been. It’s important to note that this hasn’t happened in production, and this update to make sure it doesn’t.
We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
Impact to voters:
Delegates with advanced voting power will have a better user experience especially if they find themselves in complex delegation states where some users delegated to them with relative power, and other delegated to them with absolute power.
Note on timing:
We’re aware that delegates were previously asked to vote on another advanced delegation upgrade proposal, so some may be wondering why these updates were not batched. The reason for this is that, due to auditor availability, we could only ship the full scope of changes several weeks after they were completed. Some of the changes included improvements to the voting experience – so we worked out a deal with the audit team to audit that part first so that voters may benefit from that change asap. This current vote is for the rest of the changes.
Specifications
Contract Changed
The Optimism Governor 8 would be changed as part of this upgrade. Please review the pull request here:
github.com/voteagora/governor
fix: allowance calculation in alligator 8
voteagora:main ← voteagora:alligator-allowance-fix
opened
Mar 16 , 2024
jjranalli
+ 664
- 107
fixes how allowances are calculated in complex subdelegation scenarios.
the m…ain correction comes from the assumption that:
- absolute allowances are related to **all votes cast by a delegate** regardless of authority chains
- relative allowances are related to **votes cast by a delegate via a certain authority chain**
this should fix should solve most scenarios, but more tests (especially fuzz) are needed to make sure all edge cases are covered and the desired outcome is always achieved.
---
Note: this also adds new helpers useful for writing tests
- `createAuthorityChain`
- `createBasicAuthorities`
The deployed code can be found here: https://optimistic.etherscan.io/address/ 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 2 . There are no state changes to any governance contracts in this upgrade.
Security Considerations
This change has been audited by Open Zeppelin. There were no issues identified given that it’s a minimal change which doesn’t affect the rest of the contract logic. In the unlikely scenario that we’ll need to make any changes to address issues, we’ll update this thread to inform the community on next steps.
CleanShot 2024 - 05 - 17 at 09 . 42 . 34 @ 2 x 1234 × 476 100 KB
The OpenZeppelin Audit Report is attached here 2 . Password to view is: 1 jw 2 KTKDdJ 356 UMb
Impact Summary
Agora does not anticipate any downtime due to this upgrade. As of this proposal there is a small number of users with advanced voting power, therefore the potential exposure is minimal.
Action Plan
If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0 xcDF 27 F 107725988 f 2261 Ce 2256 bDfCdE 8 B 382 B 10 1 to new implementation deployed at 0 xb 7 b 1 c 8 d 8 cc 590 b 91623 f 493 af 3 ee 8 c 0 a 0 a 282 b 74 2
If a critical security issue is discovered before upgrading, Agora will collaborate with the community to extensively communicate that the upgrade will no longer occur.
Conclusion
This proposal outlines changes to the governor that will allow for more complex delegation states to be achieved by OP voters using the Alligator contract. These improvements have been audited and no issues have been found.
Likes: 10
Replies: 1
Replies:
- FractalVisions: Agora:
Since it’s launch in December of 2023, delegates using advanced delegation, especially those who received delegation using absolute and relative amounts, could have ended up with less voting power than they should have had. We identified this and other related cases where recorded votes were preventing correct calculation of voting power, which resulted in the additional tests and the logic refactor being proposed.
This is interesting. Is there any difference in the results of the votes that were affected by this ?
We want to know how significant of an impact this had on the outcome.