/evm_contracts_staking_nft

Staking contract for NFT - ERC721, ERC1155

Primary LanguageTypeScriptMIT LicenseMIT

About

Installation

yarn install

Usage

Build

yarn compile

Contract size

yarn contract-size

Test

yarn test

TypeChain

Compile the smart contracts and generate TypeChain artifacts:

yarn typechain

Lint Solidity

Lint the Solidity code:

yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

yarn lint:ts

Coverage

Generate the code coverage report:

yarn coverage

Report Gas

See the gas usage per unit test and average gas per method call:

REPORT_GAS=true yarn test

Clean

Delete the smart contract artifacts, the coverage reports and the Hardhat cache:

yarn clean

Verify

yarn verify <network_name> <deployed_contract_address> <constructor params>
// TODO: add your own SC arguments or empty
yarn verify <network_name> <deployed_contract_address> --constructor-args verify/erc20token.args.ts

For multiple arguments, follow this guide.

Deploy

  • Environment variables: Create a .env file with its values in .env.example

localhost

// on terminal-1
$ npx hardhat node

// on terminal-2
$ yarn hardhat deploy:Escrow --network localhost

ETH Testnet - Rinkeby

  • Deploy the contracts
yarn hardhat deploy:Escrow --network rinkeby

ETH Mainnet

  • Deploy the contracts
yarn hardhat deploy:Escrow --network mainnet