@settlemint/solidity-token-erc20-crowdsale
Version:
Smart contract set to build an ERC20 token sale in SettleMint
176 lines (170 loc) • 4.41 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 ICrowdSale$Type {
"_format": "hh-sol-artifact-1",
"contractName": "ICrowdSale",
"sourceName": "contracts/library/ICrowdSale.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "purchaser",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "TokensPurchased",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "beneficiary",
"type": "address"
}
],
"name": "buyTokens",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "beneficiary",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenAmount",
"type": "uint256"
}
],
"name": "externalBuyTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "fundsRaised",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "token",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokensAvailable",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "wallet",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}
declare module "@nomicfoundation/hardhat-viem/types" {
export function deployContract(
contractName: "ICrowdSale",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<ICrowdSale$Type["abi"]>>;
export function deployContract(
contractName: "contracts/library/ICrowdSale.sol:ICrowdSale",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<ICrowdSale$Type["abi"]>>;
export function sendDeploymentTransaction(
contractName: "ICrowdSale",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<ICrowdSale$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function sendDeploymentTransaction(
contractName: "contracts/library/ICrowdSale.sol:ICrowdSale",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<ICrowdSale$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function getContractAt(
contractName: "ICrowdSale",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<ICrowdSale$Type["abi"]>>;
export function getContractAt(
contractName: "contracts/library/ICrowdSale.sol:ICrowdSale",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<ICrowdSale$Type["abi"]>>;
}