diff --git a/ethereum/contracts/dev-contracts/Cronos.sol b/ethereum/contracts/dev-contracts/Cronos.sol deleted file mode 100644 index 38761374..00000000 --- a/ethereum/contracts/dev-contracts/Cronos.sol +++ /dev/null @@ -1,57 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 - -pragma solidity 0.8.20; - -contract Cronos { - string public name = "Cronos"; - string public symbol = "CRO"; - uint8 public decimals = 18; - address private _admin; - - event Approval(address indexed src, address indexed guy, uint256 wad); - event Transfer(address indexed src, address indexed dst, uint256 wad); - event Deposit(address indexed dst, uint256 wad); - event Withdrawal(address indexed src, uint256 wad); - - mapping(address => uint256) public balanceOf; - mapping(address => mapping(address => uint256)) public allowance; - - constructor(address admin) { - _admin = admin; - } - - function totalSupply() public view returns (uint256) { - return address(this).balance; - } - - function approve(address guy, uint256 wad) public returns (bool) { - allowance[msg.sender][guy] = wad; - emit Approval(msg.sender, guy, wad); - return true; - } - - function transfer(address dst, uint256 wad) public returns (bool) { - return transferFrom(msg.sender, dst, wad); - } - - function transferFrom(address src, address dst, uint256 wad) public returns (bool) { - require(balanceOf[src] >= wad); - - if (src != msg.sender && allowance[src][msg.sender] != type(uint256).max) { - require(allowance[src][msg.sender] >= wad); - allowance[src][msg.sender] -= wad; - } - - balanceOf[src] -= wad; - balanceOf[dst] += wad; - - emit Transfer(src, dst, wad); - - return true; - } - - function mint(address dest, uint wad) external { - require(msg.sender == _admin, "only admin can mint"); - balanceOf[dest] += wad; - } -} diff --git a/ethereum/contracts/dev-contracts/CronosTestnet.sol b/ethereum/contracts/dev-contracts/CronosTestnet.sol new file mode 100644 index 00000000..cb1d1226 --- /dev/null +++ b/ethereum/contracts/dev-contracts/CronosTestnet.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: Apache-2.0 + +pragma solidity 0.8.20; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; + +contract CronosTestnet is ERC20, Ownable { + uint8 private _decimals = 18; + + constructor() ERC20("Cronos Testnet", "TCRO"){ + } + + function mint(address dest, uint wad) public onlyOwner returns (bool) { + _mint(dest, wad); + return true; + } + + function decimals() public view override returns (uint8) { + return _decimals; + } +} diff --git a/ethereum/scripts/deploy-erc20.ts b/ethereum/scripts/deploy-erc20.ts index 6ea11219..2bad5339 100644 --- a/ethereum/scripts/deploy-erc20.ts +++ b/ethereum/scripts/deploy-erc20.ts @@ -29,8 +29,8 @@ async function deployToken(token: TokenDescription, wallet: Wallet): Promise token.symbol == "CRO")!.address; + const croToken = tokens.find((token: { symbol: string }) => token.symbol == "TCRO")!.address; return { ZkSync: { MailboxFacet: getAddressFromEnv("CONTRACTS_MAILBOX_FACET_ADDR"),