The system is an aggregator smart contract that leverages Permit2-payment to allow NFT buyers to buy NFTs from multiple sources in a single transaction or with a single signature. It supports popular marketplaces like OpenSea, Blur, LooksRare, X2Y2, among others.
git clone git@github.com:ngduythao/nft-marketplace-aggregator
cd nft-marketplace-aggregator
pnpm install # install Solhint, Prettier, and other Node.js deps
Build the contracts:
$ forge build
Delete the build artifacts and cache directories:
$ forge clean
Compile the contracts:
$ forge build
Get a test coverage report:
$ forge coverage
Deploy to Anvil:
$ forge script script/DeployFoo.s.sol --broadcast --fork-url http://localhost:8545
For this script to work, you need to have a MNEMONIC
environment variable set to a valid
BIP39 mnemonic.
For instructions on how to deploy to a testnet or mainnet, check out the Solidity Scripting tutorial.
Format the contracts:
$ forge fmt
Get a gas report:
$ forge test --gas-report
Lint the contracts:
$ pnpm lint
Run the tests:
$ forge test
- abigger87/femplate
- cleanunicorn/ethereum-smartcontract-template
- foundry-rs/forge-template
- FrankieIsLost/forge-template
- FrankieIsLost/forge-template
- PaulRBerg/hardhat-template
This project is licensed under MIT.