@settlemint/solidity-token-erc20-crowdsale
Version:
Smart contract set to build an ERC20 token sale in SettleMint
191 lines (185 loc) • 4.97 kB
TypeScript
// This file was autogenerated by hardhat-viem, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable
import type { Address } from "viem";
import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
import "@nomicfoundation/hardhat-viem/types";
export interface IVestingVault$Type {
"_format": "hh-sol-artifact-1",
"contractName": "IVestingVault",
"sourceName": "contracts/library/IVestingVault.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "releaseTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
}
],
"name": "VestingLockedIn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "releaseTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
}
],
"name": "VestingReleased",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "beneficiary_",
"type": "address"
},
{
"internalType": "uint256",
"name": "releaseTime_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenAmount_",
"type": "uint256"
}
],
"name": "addBeneficiary",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "release",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "token",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "beneficary_",
"type": "address"
}
],
"name": "vestingFor",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"internalType": "uint256",
"name": "releaseTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
}
],
"internalType": "struct IVestingVault.Vesting[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}
declare module "@nomicfoundation/hardhat-viem/types" {
export function deployContract(
contractName: "IVestingVault",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<IVestingVault$Type["abi"]>>;
export function deployContract(
contractName: "contracts/library/IVestingVault.sol:IVestingVault",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<IVestingVault$Type["abi"]>>;
export function sendDeploymentTransaction(
contractName: "IVestingVault",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<IVestingVault$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function sendDeploymentTransaction(
contractName: "contracts/library/IVestingVault.sol:IVestingVault",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<IVestingVault$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function getContractAt(
contractName: "IVestingVault",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<IVestingVault$Type["abi"]>>;
export function getContractAt(
contractName: "contracts/library/IVestingVault.sol:IVestingVault",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<IVestingVault$Type["abi"]>>;
}