NFT deployed to: 0xC09Ff9115C1CE86a3F1Bd501a625772fd299cd42 PwnNFT contract deployed to:
Hit the deposit function of the NFT contract with one wallet. You can then use the frontend to steal those funds from another wallet by exploiting via re-entrancy
Easiest way to trigger a deposit on the original contract is by uploading the ABI to https://eth95.dev/
You have to be on the AVAX Fuji network, though this works on any EVM chain. Further improvements include suggesting a chain switch to metamask if the wrong chain is detected.
Before running any command, you need to create a .env file and set a BIP-39 compatible mnemonic as an environment
variable. Follow the example in .env.example. If you don't already have a mnemonic, use this website to generate one.
Then, proceed with installing dependencies:
$ yarn installCompile the smart contracts with Hardhat:
$ yarn compileCompile the smart contracts and generate TypeChain artifacts:
$ yarn typechainLint the Solidity code:
$ yarn lint:solLint the TypeScript code:
$ yarn lint:tsRun the Mocha tests:
$ yarn testGenerate the code coverage report:
$ yarn coverageSee the gas usage per unit test and average gas per method call:
$ REPORT_GAS=true yarn testDelete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ yarn cleanDeploy the contracts to Hardhat Network:
$ yarn deploy --greeting "Bonjour, le monde!"If you use VSCode, you can enjoy syntax highlighting for your Solidity code via the hardhat-vscode extension.
If you can't get the Waffle matchers to work, try to
make your ethers package version match the version used by the @ethereum-waffle/chai package. Seem
#111 for more details.