|
|
|
@ -123,7 +123,7 @@ module.exports = { |
|
|
|
|
const expectedContent = 'contract ERC20Burnable is ERC20Burnable, ERC20, IERC20Metadata, IERC20, Context' |
|
|
|
|
checkEditorHoverContent(browser, path, expectedContent, 25) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -276,15 +276,20 @@ contract BallotHoverTest { |
|
|
|
|
|
|
|
|
|
const myToken = ` |
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
pragma solidity ^0.8.9; |
|
|
|
|
pragma solidity ^0.8.20; |
|
|
|
|
|
|
|
|
|
import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; |
|
|
|
|
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; |
|
|
|
|
import "@openzeppelin/contracts/security/Pausable.sol"; |
|
|
|
|
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol"; |
|
|
|
|
import "@openzeppelin/contracts/access/Ownable.sol"; |
|
|
|
|
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol"; |
|
|
|
|
|
|
|
|
|
contract MyToken is ERC20, ERC20Burnable, Pausable, Ownable { |
|
|
|
|
constructor() ERC20("MyToken", "MTK") {} |
|
|
|
|
contract MyToken is ERC20, ERC20Burnable, ERC20Pausable, Ownable, ERC20Permit { |
|
|
|
|
constructor(address initialOwner) |
|
|
|
|
ERC20("MyToken", "MTK") |
|
|
|
|
Ownable(initialOwner) |
|
|
|
|
ERC20Permit("MyToken") |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
function pause() public onlyOwner { |
|
|
|
|
_pause(); |
|
|
|
@ -298,12 +303,14 @@ contract MyToken is ERC20, ERC20Burnable, Pausable, Ownable { |
|
|
|
|
_mint(to, amount); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function _beforeTokenTransfer(address from, address to, uint256 amount) |
|
|
|
|
// The following functions are overrides required by Solidity.
|
|
|
|
|
|
|
|
|
|
function _update(address from, address to, uint256 value) |
|
|
|
|
internal |
|
|
|
|
whenNotPaused |
|
|
|
|
override |
|
|
|
|
override(ERC20, ERC20Pausable) |
|
|
|
|
{ |
|
|
|
|
super._beforeTokenTransfer(from, to, amount); |
|
|
|
|
super._update(from, to, value); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
` |