Smart Contracts
Contracts and contract types
Contracts Library
Instamint maintains a library of smart contracts that serve different purposes. This includes ERC721 and ERC1155 contracts and variations of them. Each deployed smart contract is identified by a name ("moniker") and the name is identified during API calls. A moniker maps to an existing smart contract deployed on chain, and thus a smart contract address.
Moniker | Description | Location |
---|---|---|
INSTA1 | Clean OpenZeppelin 4.4.1 ERC721 | ../ethereum/contracts/Instamint721.sol |
INSTA2 | Clean OpenZeppelin 4.4.1 ERC1155 | ../ethereum/contracts/Instamint1155.sol |
All smart contracts can be found at https://github.com/instamint/smartcontracts
Smart contracts can be deployed or minted to. When deployed, a smart contract type is specified. For example, deploying a new ERC721 or ERC115 and assigning it a moniker. If minting to an existing smart contract, as is the case with an ERC721 or ERC1155, a moniker is used in lieu of a contract address.
Algorand ASAs
For Algorand ASA’s, a token and smart contract are identical and therefore specifying a contract type of ARC3 both deploys and mints the asset. By default, an ASA's unit name is INSTA. This will be overridable in the Q4 2022 release.
Contract Types Library
New contracts, above and beyond INSTA1 and INSTA2 can be deployed by specifying the contractType
parameter to one of the following types.
Type | Description | Reference |
---|---|---|
erc721 | Deploys the latest version of OpenZeppelin ERC721 | |
erc1155 | Deploys the latest version of OpenZeppelin ERC721 | |
arc3 | Deploys and mints an Algorand Asset | |
arc18 | Deploys, mints and adds royalties to Algorand Asset |
Last updated