Commit 23d4dad3 authored by vicotor's avatar vicotor

update script.

parent a0611ce6
......@@ -15,3 +15,4 @@ node_modules
# Hardhat Ignition default folder for deployments against a local node
ignition/deployments/chain-31337
.idea
This diff is collapsed.
......@@ -3,10 +3,15 @@ pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract GasToken is ERC20 {
address owner;
modifier onlyOwner() {
require(msg.sender == owner, "only owner can call this function");
_;
}
constructor(uint256 initialSupply, string memory name, string memory symbol) ERC20(name, symbol) {
_mint(msg.sender, initialSupply);
}
function mint(address to, uint256 amount) public {
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount * 10 **this.decimals());
}
}
\ No newline at end of file
......@@ -22,8 +22,8 @@ module.exports = {
},
networks: {
test:{
accounts,
url: "http://127.0.0.1:8545",
accounts: [process.env.PRIVATE_KEY],
url: "https://achain.bitheart.org",
},
},
};
This diff is collapsed.
......@@ -5,6 +5,7 @@
"hardhat": "^2.22.19"
},
"dependencies": {
"@ethereumjs/tx": "^5.4.0",
"@openzeppelin/contracts": "^4.9.6",
"dotenv": "^16.4.7"
}
......
......@@ -2,6 +2,13 @@ const { ethers } = require("hardhat");
const tokenABI = require("../abi/token.json");
const portalABI = require("../abi/portal.json");
async function portalInfo(portalAddr) {
const provider = ethers.provider;
const portalContract = new ethers.Contract(portalAddr, portalABI, provider);
const [gasTokey,decimals] = await portalContract.gasPayingToken()
console.log("gas token:", gasTokey, " decimals:", decimals);
}
async function bridge(users, portalAddr, tokenAddr) {
const provider = ethers.provider;
const portalContract = new ethers.Contract(portalAddr, portalABI, provider);
......@@ -15,11 +22,14 @@ async function bridge(users, portalAddr, tokenAddr) {
const contractWithSigner = portalContract.connect(signer);
const usdxWithSigner = tokenContract.connect(signer);
console.log("bridge token for user:", user)
const approve = await usdxWithSigner.approve(portalAddr, value);
await approve.wait();
console.log("approve token to portal contract tx hash:", approve.hash);
const deposit = await contractWithSigner.depositERC20Transaction(user, value, value, 0, false, "");
const nonce = await provider.getTransactionCount(user);
const deposit = await contractWithSigner.depositERC20Transaction(user, value, value, 250000, false, "0x", {gasPrice:1000000000,gasLimit:10000000,nonce:nonce});
await deposit.wait();
console.log("deposit tx hash:", deposit.hash, " for user:", user);
}
......@@ -27,9 +37,9 @@ async function bridge(users, portalAddr, tokenAddr) {
async function main() {
const users = require("../account.json")
const portalAddr = "";
const usdxTokenAddr = ""
const portalAddr = "0xea2e2269f5d0d327a740dcdc82f4e1c2da8453af";
const usdxTokenAddr = "0x9C4bd341cF7134A53B1f34cFa9F3dEa4Fde61c9c"
// await portalInfo(portalAddr);
await bridge(users, portalAddr, usdxTokenAddr);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment