Skip to content

Instantly share code, notes, and snippets.

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
interface IToken {
function approve(address _spender, uint256 _value) external;
function balanceOf(address who) external view returns (uint256);
function allowance(address _owner, address _spender)
external
@Falilah
Falilah / IUSDT.sol
Last active February 16, 2023 13:16
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
interface IUSDT {
function approve(address _spender, uint256 _value) external;
function balanceOf(address who) external view returns (uint256);
function allowance(address _owner, address _spender)
external
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
//users stake usdt
//user get 20% APY CVIII as reward;
// tken ratio 1: 1
contract stakERC20 is Ownable {
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.17;
struct Data{
string name;
uint Id;
uint age;
string gender;
bool status;
}
require("dotenv").config({ path: ".env" });
import { BytesLike } from "ethers";
import { ethers } from "hardhat";
// import * as dotenv from "dotenv";
// import IMultiSig from "../typechain-types/Imultisig.sol"
async function main() {
let provider = {
PrivateKey: process.env.PRIVATE_KEY as BytesLike,
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
import "./multisig.sol";
contract MultiSigFactory {
//a factory contract that create multiple clones of multisig.sol
//a function that create a new multisig
//an array that holds contract addresses created
//a function that calls the approve function in multisig.sol