- NFT721 support breeding system
- Integrate VRF
- Contract upgradeable
- Support Galler Launchpad [ref]
Node >= 10.x && yarn > 1.x
$ node --version
v16.15.0
$ npm install --global yarn
$ yarn --version
1.22.18
Install dependencies
$ yarn
- Compile contract
$ yarn compile
- Run tests
$ yarn test
- Run linter to analyze convention and security for smart contracts
$ yarn sol:linter
- Format smart contracts
$ yarn sol:prettier
- Format typescript scripts for unit tests, deployment and upgrade
$ yarn ts:prettier
- Note: Updated husky hook for pre-commit
- Config
.env
ADMIN_PRIVATE_KEY=<admin private key>
TREASURY_ADDR=<treasury address>
MINTER_ADDR=<minter address>
BASE_URI=<superpass base uri>
- Deploy on BSC Testnet
$ yarn deploy:bsctest
- Config
.env
ADMIN_PRIVATE_KEY=<admin private key>
TREASURY_ADDR=<treasury address>
MINTER_ADDR=<minter address>
BUSD_ADDR=<busd erc20 address>
SING_ADDR=<sing erc20 address>
BASE_URI=<superpass base uri>
- Deploy on BSC Mainnet
$ yarn deploy:mainnet
Note: After the first deployment succeed, please save and keep file .oppenzeppelin
private since it's important to upgrade contract later.
- Clean cache and precompiled folders to avoid conflict errors
$ rm -rf artifacts cache .oppenzeppelin
- Put your folder
.oppenzeppelin
into root directory - Update your smart contracts
- Run upgrade via
ProxyAdmin
contract
$ yarn upgrade:testnet
OR
$ yarn upgrade:mainnet
For more information, you can check this link here.