List of supported functions (ERC-1155 standard):
- ✅ balanceOf(address account, uint256 id)
- ✅ balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)
- ✅ setApprovalForAll(address _operator, bool _approved)
- ✅ isApprovedForAll(address _owner, address _operator)
- ✅ safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes calldata _data)
- ✅ safeBatchTransferFrom(address _from, address _to, uint256[] calldata _ids, uint256[] calldata _values, bytes calldata _data)
- ✅ uri(uint256 _id)
- ✅ setURI(address _from, address _to, uint256[] calldata _ids, uint256[] calldata _values, bytes calldata _data)
List of non-standard functions:
- ✅ mint(address to, uint256 id, uint256 amount, bytes calldata data)
- ✅ batchMint(address to, uint256 id, uint256 amount, bytes calldata data)
List of events:
- ✅ event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values );
- ✅ event TransferSingle( address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value );
- ✅ event ApprovalForAll( address indexed account, address indexed operator, bool approved );
- Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
-
Install solidity compiler https://docs.soliditylang.org/en/latest/installing-solidity.html#installing-the-solidity-compiler
-
Build Yul contracts and check tests pass
forge test
Run tests (compiles yul then fetch resulting bytecode in test)
forge test
To see the console logs during tests
forge test -vvv