Skip to content

Commit

Permalink
Merge branch 'main' of github.com:toknowwhy/theunit-contracts
Browse files Browse the repository at this point in the history
  • Loading branch information
zhoushuren committed Nov 30, 2023
2 parents 09eb920 + 531996e commit 8819259
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 0 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"deploy:ticket:arbitrumGoerli": "forge script script/DeployTicket.s.sol:DeployTicket --rpc-url https://arbitrum-goerli.infura.io/v3/$API_KEY_INFURA --broadcast --verify --etherscan-api-key $API_KEY_ARBISCAN",
"create:ticket:arbitrumGoerli": "forge script script/CreateTicket.s.sol:CreateTicket $TIMESTAMP --sig 'run(uint256)' --rpc-url https://arbitrum-goerli.infura.io/v3/$API_KEY_INFURA --broadcast --etherscan-api-key $API_KEY_ARBISCAN",
"mint:ticket:arbitrumGoerli": "forge script script/MintTicket.s.sol:MintTicket $TICKET $TO $AMOUNT --sig 'run(address,address,uint256)' --rpc-url https://arbitrum-goerli.infura.io/v3/$API_KEY_INFURA --broadcast --etherscan-api-key $API_KEY_ARBISCAN",
"deploy:collateral:arbitrumGoerli": "forge script script/DeployMintTestCollateral.s.sol:DeployMintTestCollateral $TO $AMOUNT --sig 'run(address,uint256)' --rpc-url https://arbitrum-goerli.infura.io/v3/$API_KEY_INFURA --broadcast --verify --etherscan-api-key $API_KEY_ARBISCAN",


"generate:arbitrumGoerli": "ts-node ./script/generateContracts.ts -- 421613",
Expand Down
18 changes: 18 additions & 0 deletions script/DeployMintTestCollateral.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.21 <0.9.0;

import { BaseScript } from "./Base.s.sol";
import { TestCollateral } from "../src/test/TestCollateral.sol";
import { TicketFactory } from "../src/core/TicketFactory.sol";
import { console2 } from "forge-std/console2.sol";

contract DeployMintTestCollateral is BaseScript {
function run(address to, uint256 amount) public broadcast returns (bool) {

TestCollateral collateral = new TestCollateral(broadcaster);
console2.log("Test Collateral deployed at: ", address(collateral));
collateral.mint(to, amount * 1e18);

return true;
}
}
37 changes: 37 additions & 0 deletions src/test/TestCollateral.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";

contract TestCollateral is ERC20, ERC20Burnable, ERC20Pausable, Ownable, ERC20Permit {
constructor(address initialOwner)
ERC20("TestCollateral", "TCOL")
Ownable(initialOwner)
ERC20Permit("TestCollateral")
{}

function pause() public onlyOwner {
_pause();
}

function unpause() public onlyOwner {
_unpause();
}

function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}

// The following functions are overrides required by Solidity.

function _update(address from, address to, uint256 value)
internal
override(ERC20, ERC20Pausable)
{
super._update(from, to, value);
}
}

0 comments on commit 8819259

Please sign in to comment.