Skip to content

Commit

Permalink
fix: update contract name and deploy script
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielZhangReal committed Dec 14, 2023
1 parent ef47372 commit e836f53
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 4 deletions.
3 changes: 3 additions & 0 deletions standard-bridge-custom-token/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ cd ./standard-bridge-custom-token
# step 3:
npx hardhat run scripts/deploy.js --network manta-mainnet

# or
npx hardhat run scripts/deployBridgeFlagToken.js --network manta-mainnet

# step 4:
# configure the l2TokenAddress address in the console into config

Expand Down
8 changes: 8 additions & 0 deletions standard-bridge-custom-token/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ const TOKENS = {
l2TokenAddress: "0xA2B0b1DF7FbD966560A302E9E2cFB9d0f115FfD6",
isTestnet: true,
},
TestUSDT: {
name: "Manta Tether USD",
symbol: "maUSDT",
decimals: 6,
l1TokenAddress: "0xf4b2cbc3ba04c478f0dc824f4806ac39982dce73",
l2TokenAddress: "",
isTestnet: true,
},
MATIC: {
name: "Matic Token",
symbol: "MATIC",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ pragma solidity 0.8.15;

import {OptimismMintableERC20} from "@eth-optimism/contracts-bedrock/src/universal/OptimismMintableERC20.sol";

contract MantaMintableERC20 is OptimismMintableERC20 {
contract MantaMintableERC20WithBridgeFlag is OptimismMintableERC20 {
address public admin;
bool public bridgePaused;

modifier onlyAdmin() {
require(admin == msg.sender, "MantaMintableERC20: Only Admin");
require(admin == msg.sender, "MantaMintableERC20WithBridgeFlag: Only Admin");
_;
}

Expand All @@ -25,7 +25,7 @@ contract MantaMintableERC20 is OptimismMintableERC20 {
function setAdmin(address _newAdmin) external onlyAdmin {
require(
_newAdmin != address(0),
"MantaMintableERC20: invalid new admin"
"MantaMintableERC20WithBridgeFlag: invalid new admin"
);
admin = _newAdmin;
}
Expand All @@ -39,7 +39,7 @@ contract MantaMintableERC20 is OptimismMintableERC20 {
}

function burn(address _from, uint256 _amount) external override {
require(!bridgePaused, "MantaMintableERC20: bridge paused");
require(!bridgePaused, "MantaMintableERC20WithBridgeFlag: bridge paused");
super.burn(_from, _amount);
}
}
42 changes: 42 additions & 0 deletions standard-bridge-custom-token/scripts/deployBridgeFlagToken.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
require("dotenv").config();

const { ethers, run } = require("hardhat");
const { TOKENS } = require("../config");

async function main(token) {
const l2CustomERC20Factory = await ethers.getContractFactory(
"MantaMintableERC20WithBridgeFlag"
);
const args = [
"0x4200000000000000000000000000000000000010",
token.l1TokenAddress,
token.name,
token.symbol,
token.decimals,
];
const l2CustomERC20 = await l2CustomERC20Factory.deploy(...args);
console.log(`${token.symbol} L2 Address: ${l2CustomERC20.address}`);

await l2CustomERC20.deployTransaction.wait();

await run("verify:verify", {
address: l2CustomERC20.address,
constructorArguments: args,
contract: "contracts/MantaMintableERC20WithBridgeFlag.sol:MantaMintableERC20WithBridgeFlag"
});
}

const tokenInfo = TOKENS[process.env.DEPLOY_TOKEN_NAME];
if (!tokenInfo) {
console.error('Invalid Token: "process.env.DEPLOY_TOKEN_NAME"');
return;
}
if (tokenInfo.l2TokenAddress) {
console.error(`Already Deployed: ${tokenInfo.l2TokenAddress}`);
return;
}

main(tokenInfo).catch((error) => {
console.error(error);
process.exitCode = 1;
});

0 comments on commit e836f53

Please sign in to comment.