Skip to content

Commit

Permalink
Merge pull request #23 from windingtree/feat/improve-stage-setup
Browse files Browse the repository at this point in the history
feat: 🎸 New Sokol deployment
  • Loading branch information
kostysh authored Oct 13, 2022
2 parents 3bea344 + 7bc3e5c commit a34f485
Show file tree
Hide file tree
Showing 82 changed files with 8,979 additions and 19,404 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ coverage*
inheritance-graph.dot
docs
dist
temp

# dotenv
.env*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@ import '@openzeppelin/contracts/token/ERC20/ERC20.sol';
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol';
import '@openzeppelin/contracts/security/Pausable.sol';
import '@openzeppelin/contracts/access/AccessControl.sol';
import '@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol';
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20 is ERC20, ERC20Burnable, Pausable, AccessControl, ERC20Permit, ERC20FlashMint {
contract MockERC20Dec18 is ERC20, ERC20Burnable, Pausable, AccessControl {
bytes32 public constant PAUSER_ROLE = keccak256('PAUSER_ROLE');
bytes32 public constant MINTER_ROLE = keccak256('MINTER_ROLE');

constructor() ERC20('MockERC20', 'MTK') ERC20Permit('MockERC20') {
constructor(string memory name, string memory symbol) ERC20(name, symbol) {
_grantRole(DEFAULT_ADMIN_ROLE, msg.sender);
_grantRole(PAUSER_ROLE, msg.sender);
_grantRole(MINTER_ROLE, msg.sender);
Expand All @@ -35,7 +33,7 @@ contract MockERC20 is ERC20, ERC20Burnable, Pausable, AccessControl, ERC20Permit
address from,
address to,
uint256 amount
) internal override whenNotPaused {
) internal virtual override whenNotPaused {
super._beforeTokenTransfer(from, to, amount);
}
}
19 changes: 19 additions & 0 deletions contracts/test/MockERC20Dec18Permit.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import '@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol';
import './MockERC20Dec18.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20Dec18Permit is MockERC20Dec18, ERC20Permit {

constructor(string memory name, string memory symbol) MockERC20Dec18(name, symbol) ERC20Permit(name) {}

function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal override(ERC20, MockERC20Dec18) whenNotPaused {
super._beforeTokenTransfer(from, to, amount);
}
}
14 changes: 14 additions & 0 deletions contracts/test/MockERC20Dec6.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import './MockERC20Dec18.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20Dec6 is MockERC20Dec18 {

constructor(string memory name, string memory symbol) MockERC20Dec18(name, symbol) {}

function decimals() public pure override(ERC20) returns (uint8) {
return 6;
}
}
14 changes: 14 additions & 0 deletions contracts/test/MockERC20Dec6Permit.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import './MockERC20Dec18Permit.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20Dec6Permit is MockERC20Dec18Permit {

constructor(string memory name, string memory symbol) MockERC20Dec18Permit(name, symbol) {}

function decimals() public pure override(ERC20) returns (uint8) {
return 6;
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import '@openzeppelin/contracts/token/ERC20/ERC20.sol';
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol';
import '@openzeppelin/contracts/security/Pausable.sol';
import '@openzeppelin/contracts/access/AccessControl.sol';
import '@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol';
import '@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol';
import './MockERC20Dec18.sol';

contract MockWrappedERC20 is ERC20, ERC20Burnable, Pausable, AccessControl, ERC20Permit, ERC20FlashMint {
contract MockWrappedERC20Dec18 is MockERC20Dec18 {
event Deposit(address indexed dst, uint256 wad);
event Withdrawal(address indexed src, uint256 wad);

constructor() ERC20('MockWERC20', 'WMTK') ERC20Permit('MockWERC20') {}
constructor(string memory name, string memory symbol) MockERC20Dec18(name, symbol) {}

receive() external payable {
deposit();
Expand Down
24 changes: 24 additions & 0 deletions contracts/upgradeable/test/MockERC20Dec18PermitUpgradeable.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import '@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol';
import './MockERC20Dec18Upgradeable.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20Dec18PermitUpgradeable is
MockERC20Dec18Upgradeable,
ERC20PermitUpgradeable
{
function initialize(string memory name, string memory symbol) public override initializer {
super.initialize(name, symbol);
__ERC20Permit_init(name);
}

function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal override(ERC20Upgradeable, MockERC20Dec18Upgradeable) whenNotPaused {
super._beforeTokenTransfer(from, to, amount);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,22 @@ import '@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol';
import '@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol';
import '@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol';
import '@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol';
import '@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol';
import '@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20Upgradeable is
contract MockERC20Dec18Upgradeable is
ERC20Upgradeable,
ERC20BurnableUpgradeable,
PausableUpgradeable,
AccessControlUpgradeable,
ERC20PermitUpgradeable,
ERC20FlashMintUpgradeable
AccessControlUpgradeable
{
bytes32 public constant PAUSER_ROLE = keccak256('PAUSER_ROLE');
bytes32 public constant MINTER_ROLE = keccak256('MINTER_ROLE');

function initialize() public initializer {
__ERC20_init('MockERC20', 'MTK');
function initialize(string memory name, string memory symbol) public virtual initializer {
__ERC20_init(name, symbol);
__ERC20Burnable_init();
__Pausable_init();
__AccessControl_init();
__ERC20Permit_init('MockERC20');
__ERC20FlashMint_init();

_grantRole(DEFAULT_ADMIN_ROLE, msg.sender);
_grantRole(PAUSER_ROLE, msg.sender);
Expand All @@ -49,7 +43,7 @@ contract MockERC20Upgradeable is
address from,
address to,
uint256 amount
) internal override whenNotPaused {
) internal virtual override whenNotPaused {
super._beforeTokenTransfer(from, to, amount);
}
}
13 changes: 13 additions & 0 deletions contracts/upgradeable/test/MockERC20Dec6PermitUpgradeable.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import '@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol';
import './MockERC20Dec18PermitUpgradeable.sol';

/// @custom:security-contact security@windingtree.com
contract MockERC20Dec6PermitUpgradeable is MockERC20Dec18PermitUpgradeable
{
function decimals() public pure override returns (uint8) {
return 6;
}
}
36 changes: 36 additions & 0 deletions contracts/upgradeable/test/MockWrappedERC20Dec18Upgradeable.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.13;

import './MockERC20Dec18Upgradeable.sol';

/// @custom:security-contact security@windingtree.com
contract MockWrappedERC20Dec18Upgradeable is MockERC20Dec18Upgradeable
{
event Deposit(address indexed dst, uint256 wad);
event Withdrawal(address indexed src, uint256 wad);

receive() external payable {
deposit();
}

function deposit() public payable {
_mint(msg.sender, msg.value);
emit Deposit(msg.sender, msg.value);
}

function withdraw(uint256 wad) public payable {
require(balanceOf(msg.sender) >= wad);
_burn(msg.sender, wad);
address payable sender = payable(msg.sender);
sender.transfer(wad);
emit Withdrawal(msg.sender, wad);
}

function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal override whenNotPaused {
super._beforeTokenTransfer(from, to, amount);
}
}
75 changes: 0 additions & 75 deletions contracts/upgradeable/test/MockWrappedERC20Upgradeable.sol

This file was deleted.

Loading

0 comments on commit a34f485

Please sign in to comment.