MyEIP1155V1 is a smart contract that extends the ERC1155 token standard and integrates access control functionalities. It allows the owner to mint new tokens, set URIs for token types, manage a whitelist of approved addresses, and assign special roles to addresses for administrative tasks.
Initializes the contract with a base URI for tokens.
Sets a new URI for the tokens. Only an address with the URI_SETTER_ROLE can call this function.
Gets the URI associated with a given token ID.
Mints a new token of a particular ID and sends it to a specified account. Only an address with the MINTER_ROLE can call this function, and the recipient account must be whitelisted.
Mints new tokens of multiple IDs and sends them to a specified account. Similar to the mint function but allows for batch processing.
Grants the MINTER_ROLE to a specified address. Only an address with the ADMIN_ROLE can call this function.
Revokes the MINTER_ROLE from a specified address. Only an address with the ADMIN_ROLE can call this function.
Adds a specified address to the whitelist. Only an address with the ADMIN_ROLE can call this function.
Removes a specified address from the whitelist. Only an address with the ADMIN_ROLE can call this function.
Checks whether a specified address is whitelisted. Returns a boolean value.
Checks whether the contract supports an interface with a specified ID.
Sets new metadata for a specific token ID. This can be used to associate additional information with a token.
The MyEIP1155V2 contract extends the MyEIP1155V1 contract and introduces additional functionality for managing token metadata. This allows for the association of string metadata with specific token IDs, and is designed for testing and further extension of the contract features.
Sets new metadata for a specific token ID.
The Proxy contract allows for the transparent upgrading of contract logic while preserving contract state and the address of the contract. It delegates calls to an implementation contract, which can be upgraded by an admin account.
Initializes the Proxy contract with the initial implementation and admin address.
Returns the current implementation address.
Returns the current admin address.
Upgrades the contract to a new implementation.