|
@@ -1,55 +1,8 @@
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
-// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/extensions/draft-ERC721Votes.sol)
|
|
|
|
|
|
pragma solidity ^0.8.0;
|
|
|
|
|
|
-import "../ERC721.sol";
|
|
|
-import "../../../governance/utils/Votes.sol";
|
|
|
+// ERC721Votes was marked as draft due to the EIP-712 dependency.
|
|
|
+// EIP-712 is Final as of 2022-08-11. This file is deprecated.
|
|
|
|
|
|
-/**
|
|
|
- * @dev Extension of ERC721 to support voting and delegation as implemented by {Votes}, where each individual NFT counts
|
|
|
- * as 1 vote unit.
|
|
|
- *
|
|
|
- * Tokens do not count as votes until they are delegated, because votes must be tracked which incurs an additional cost
|
|
|
- * on every transfer. Token holders can either delegate to a trusted representative who will decide how to make use of
|
|
|
- * the votes in governance decisions, or they can delegate to themselves to be their own representative.
|
|
|
- *
|
|
|
- * _Available since v4.5._
|
|
|
- */
|
|
|
-abstract contract ERC721Votes is ERC721, Votes {
|
|
|
- /**
|
|
|
- * @dev Adjusts votes when tokens are transferred.
|
|
|
- *
|
|
|
- * Emits a {Votes-DelegateVotesChanged} event.
|
|
|
- */
|
|
|
- function _afterTokenTransfer(
|
|
|
- address from,
|
|
|
- address to,
|
|
|
- uint256 tokenId
|
|
|
- ) internal virtual override {
|
|
|
- _transferVotingUnits(from, to, 1);
|
|
|
- super._afterTokenTransfer(from, to, tokenId);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @dev Adjusts votes when a batch of tokens is transferred.
|
|
|
- *
|
|
|
- * Emits a {Votes-DelegateVotesChanged} event.
|
|
|
- */
|
|
|
- function _afterConsecutiveTokenTransfer(
|
|
|
- address from,
|
|
|
- address to,
|
|
|
- uint256 first,
|
|
|
- uint96 size
|
|
|
- ) internal virtual override {
|
|
|
- _transferVotingUnits(from, to, size);
|
|
|
- super._afterConsecutiveTokenTransfer(from, to, first, size);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @dev Returns the balance of `account`.
|
|
|
- */
|
|
|
- function _getVotingUnits(address account) internal view virtual override returns (uint256) {
|
|
|
- return balanceOf(account);
|
|
|
- }
|
|
|
-}
|
|
|
+import "./ERC721Votes.sol";
|