Skip to content

Commit 87bcbf8

Browse files
authored
[gms-1228] remove draft references from 1155 (#191)
1 parent d90165c commit 87bcbf8

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

contracts/token/erc1155/preset/draft-ImmutableERC1155.sol renamed to contracts/token/erc1155/preset/ImmutableERC1155.sol

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ pragma solidity 0.8.19;
55
import {ImmutableERC1155Base} from "../abstract/ImmutableERC1155Base.sol";
66

77
/**
8-
* @title draft-ImmutableERC1155
9-
* @author
10-
* @notice This contract is experimental and is in draft. It should be thoroughly reviewed before using.
11-
* It is possible for this contract to receive breaking changes, and backwards compatibility is not insured.
8+
* @title ImmutableERC1155
9+
* @author @jasonzwli, Immutable
1210
*/
1311

1412
contract ImmutableERC1155 is ImmutableERC1155Base {
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# ERC1155 contracts
2+
3+
The ImmutableERC1155 contracts allows clients to mint multiple different tokens with different token ids within the same collection. The contract features methods to allow for minting multiples of multiple token ids to simplify the minting flow and reduce gas costs. This contract is built on top of the [Openzeppelin implemention of EIP-1155](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC1155/ERC1155.sol).
4+
5+
[Read more On the Threat Model](../../../audits/202312-threat-model-preset-erc1155.md)
6+
[Read more On the EIP](https://eips.ethereum.org/EIPS/eip-1155)
7+
8+
## preset/ImmutableERC1155
9+
10+
The ImmutableERC1155 contract is a version of the Immutable's preset 1155 contract. It has been internally audited and is ready to be used. The contract contains all external facing interfaces that are needed to interact(read and write) with deployed ERC1155 collections.
11+
12+
## abstract/ERC1155Permit
13+
14+
This is an abstract contract that is used as an ancestor to the preset 1155. It contains the permit feature for the preset, allowing token owners to give approval and permission to a secure and trusted actor. This action is gasless for the token owner but will require gas from the approved operator. Please note that using permits in an ERC1155 collections exposes all the tokens owned by an address to the approved operator. Please double check to make sure the operator is secure and trusted.
15+
16+
## abstract/IERC1155Permit
17+
18+
Provides the required interface for ERC1155Permit.
19+
20+
## abstract/ImmutableERC1155Base
21+
22+
This is another abstract contract used as an ancestor to the preset 1155. It implements many of the internal methods for the preset that are not directly public facing for everyday uses. It contains functionalities to update royalties, set URIs and manage collection roles.

test/token/erc1155/ImmutableERC1155.t.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
pragma solidity 0.8.19;
44

55
import "forge-std/Test.sol";
6-
import {ImmutableERC1155} from "../../../contracts/token/erc1155/preset/draft-ImmutableERC1155.sol";
6+
import {ImmutableERC1155} from "../../../contracts/token/erc1155/preset/ImmutableERC1155.sol";
77
import {IImmutableERC1155Errors} from "../../../contracts/errors/Errors.sol";
88
import {OperatorAllowlistEnforcementErrors} from "../../../contracts/errors/Errors.sol";
99
import {OperatorAllowlistUpgradeable} from "../../../contracts/allowlist/OperatorAllowlistUpgradeable.sol";

0 commit comments

Comments
 (0)