diff --git a/EIPS/eip-1202.md b/EIPS/eip-1202.md index 9ab0f843a315d..c3bcbb1a936ab 100644 --- a/EIPS/eip-1202.md +++ b/EIPS/eip-1202.md @@ -8,6 +8,7 @@ status: Draft type: Standards Track category: ERC created: 2018-07-08 +requires: 5269 --- ## Abstract @@ -23,12 +24,11 @@ Voting is one of the earliest example of EVM programming, and also a key to DAO/ 1. Allow general UI and applications to be built on top of a standardized voting to allow more general user to participate, and encourage more DApp and DAO to think about their governance 2. Allow delegate voting / smart contract voting, automatic voting 3. Allow voting results to be recorded on-chain, in a standard way, and allow DAOs and DApps to honor the voting result programmatically. -4. Allow the compatibility with token standard such as [EIP-20](./eip-20.md) or other new standards([EIP-777](./eip-777.md)) and item standard such as [EIP-721](./eip-721.md) +4. Allow the compatibility with token standard such as [ERC-20](./eip-20.md) or other new standards([ERC-777](./eip-777.md)) and item standard such as [ERC-721](./eip-721.md) 5. Create massive potential for interoperability within Ethereum echo systems and other system. -6. Allow setting voting deadline, allow determine on single or multiple options. Allow requiring voting orders. (trade-off is interface complexity, we might need [EIP-20](./eip-20.md) approach and later a [EIP-777](./eip-777.md) for advanced voting) +6. Allow setting voting deadline, allow determine on single or multiple options. Allow requiring voting orders. (trade-off is interface complexity, we might need [ERC-20](./eip-20.md) approach and later a [ERC-777](./eip-777.md) for advanced voting) 7. Recording the voting with weights with token amount. 8. Possibly allow trust-worthy privacy-safe voting and anonymous voting (with either voter address being un-associated with the vote they cast, given a list of randomized/obfuscated voting options). - 9. Possibly allow result in reward by voting participation or voting result. ### Non-Goal / Out of Scope @@ -37,14 +37,14 @@ Voting is one of the earliest example of EVM programming, and also a key to DAO/ 2. **Eligibility or Weights**: Some of the implementing want to have weights or eligibility to vote to be configurable. Such as OpenZeppelin's implementation of GovernorBravo uses snapshot. Aslo weights calculation such as quadratic voting is not within the scope of this EIP. This EIP is intend to be flexible for any current and new voting weights calculation. 3. **Proposal**: We intentionally leave Proposal out of scope. Proposals are going to be identified by `proposalId` but what information of the proposal includes, -whether they are on-chain or off-chain and whether they are exeutable, is leaved out from this proposal. A separate EIP could be proposed to address this particular use case. See one of such proposals [EIP-5247](./eip-5247.md) +whether they are on-chain or off-chain and whether they are exeutable, is leaved out from this proposal. A separate EIP could be proposed to address this particular use case. See one of such proposals [ERC-5247](./eip-5247.md) 4. **Signature Aggregations / Endorsement**: When implementing contracts want to allow user to submit their vote or approval of vote offline and have some other -account to generate the transaction, the signature aggregations or endorsements are not in scope of this EIP. A separate EIP could be proposed to address this particular use case. See one of such proposals here [EIP-5453](./eip-5453.md). +account to generate the transaction, the signature aggregations or endorsements are not in scope of this EIP. A separate EIP could be proposed to address this particular use case. See one of such proposals here [ERC-5453](./eip-5453.md). ### Use-cases 1. Determine on issuing new token, issuing more token or issuing sub-token -2. Determine on creating new item under [EIP-721](./eip-721.md) +2. Determine on creating new item under [ERC-721](./eip-721.md) 3. Determine on election on certain person or smart contract to be delegated leader for project or subproject 4. Determine on auditing result ownership allowing migration of smart contract proxy address @@ -108,6 +108,9 @@ interface IERC1202MultiVote { } ``` +3. the compliant contract SHOULD implement [ERC-5269](./eip-5269.md) interface. + + ### Getting Info: Voting Period, Eligibility, Weight ```solidity