Immutable Contracts
<p align="center"><img src="https://cdn.dribbble.com/users/1299339/screenshots/7133657/media/837237d447d36581ebd59ec36d30daea.gif" width="280"/></p>Immutable Contracts is a library of smart contracts targeted at developers who wish to quickly build and deploy their smart contracts on the Immutable X and Immutable zkEVM, a general-purpose permissionless L2 zero-knowledge rollup. The library allows developers to build on contracts curated by Immutable, including (but not limited to):
-
Token presets, e.g. ERC721
-
Bridging contracts
-
Marketplace and AMM contracts
-
Smart Contract Wallets
-
Random Number Generation
These contracts are feature-rich and are the recommended standard on Immutable zkEVM intended for all users and partners within the ecosystem.
Setup
Installation
$ yarn add @imtbl/contracts
Usage
Contracts
Once the contracts package is installed, use the contracts from the library by importing them:
pragma solidity >=0.8.19 <0.8.29;
import "@imtbl/contracts/contracts/token/erc721/preset/ImmutableERC721.sol";
contract MyERC721 is ImmutableERC721 {
constructor(
address owner,
string memory name,
string memory symbol,
string memory baseURI,
string memory contractURI,
address operatorAllowlist,
address royaltyReceiver,
uint96 feeNumerator
) ImmutableERC721(
owner,
name,
symbol,
baseURI,
contractURI,
operatorAllowlist,
royaltyReceiver,
feeNumerator
)
{}
}