Smart Contracts
Contracts and contract types
Last updated
Contracts and contract types
Last updated
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 |
---|---|---|
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.
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.
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 |
---|---|---|
INSTA1
Clean OpenZeppelin 4.4.1 ERC721
../ethereum/contracts/Instamint721.sol
INSTA2
Clean OpenZeppelin 4.4.1 ERC1155
../ethereum/contracts/Instamint1155.sol
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