Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
openzeppelin-contracts-upgradeable
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
俞永鹏
openzeppelin-contracts-upgradeable
Commits
f3a0a6a4
Commit
f3a0a6a4
authored
Sep 25, 2018
by
Francisco Giordano
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
convert ERC721Full, ERC721Enumerable, ERC721Metadata to initializers
parent
416c4ced
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
10 deletions
+25
-10
ERC721FullMock.sol
contracts/mocks/ERC721FullMock.sol
+6
-4
ERC721Enumerable.sol
contracts/token/ERC721/ERC721Enumerable.sol
+6
-2
ERC721Full.sol
contracts/token/ERC721/ERC721Full.sol
+7
-2
ERC721Metadata.sol
contracts/token/ERC721/ERC721Metadata.sol
+6
-2
No files found.
contracts/mocks/ERC721FullMock.sol
View file @
f3a0a6a4
pragma solidity ^0.4.24;
pragma solidity ^0.4.24;
import "../Initializable.sol";
import "../token/ERC721/ERC721Full.sol";
import "../token/ERC721/ERC721Full.sol";
import "../token/ERC721/ERC721Mintable.sol";
import "../token/ERC721/ERC721Mintable.sol";
import "../token/ERC721/ERC721Burnable.sol";
import "../token/ERC721/ERC721Burnable.sol";
...
@@ -10,11 +11,12 @@ import "../token/ERC721/ERC721Burnable.sol";
...
@@ -10,11 +11,12 @@ import "../token/ERC721/ERC721Burnable.sol";
* This mock just provides a public mint and burn functions for testing purposes,
* This mock just provides a public mint and burn functions for testing purposes,
* and a public setter for metadata URI
* and a public setter for metadata URI
*/
*/
contract ERC721FullMock is ERC721Full, ERC721Mintable, ERC721Burnable {
contract ERC721FullMock is
Initializable,
ERC721Full, ERC721Mintable, ERC721Burnable {
constructor(string name, string symbol) public
constructor(string name, string symbol) public
ERC721Mintable()
{
ERC721Full(name, symbol)
ERC721Full.initialize(name, symbol);
{}
ERC721Mintable.initialize();
}
function exists(uint256 tokenId) public view returns (bool) {
function exists(uint256 tokenId) public view returns (bool) {
return _exists(tokenId);
return _exists(tokenId);
...
...
contracts/token/ERC721/ERC721Enumerable.sol
View file @
f3a0a6a4
pragma solidity ^0.4.24;
pragma solidity ^0.4.24;
import "../../Initializable.sol";
import "./IERC721Enumerable.sol";
import "./IERC721Enumerable.sol";
import "./ERC721.sol";
import "./ERC721.sol";
import "../../introspection/ERC165.sol";
import "../../introspection/ERC165.sol";
contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
contract ERC721Enumerable is
Initializable,
ERC165, ERC721, IERC721Enumerable {
// Mapping from owner to list of owned token IDs
// Mapping from owner to list of owned token IDs
mapping(address => uint256[]) private _ownedTokens;
mapping(address => uint256[]) private _ownedTokens;
...
@@ -29,7 +30,10 @@ contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
...
@@ -29,7 +30,10 @@ contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
/**
/**
* @dev Constructor function
* @dev Constructor function
*/
*/
constructor() public {
function initialize() public initializer {
ERC165.initialize();
ERC721.initialize();
// register the supported interface to conform to ERC721 via ERC165
// register the supported interface to conform to ERC721 via ERC165
_registerInterface(_InterfaceId_ERC721Enumerable);
_registerInterface(_InterfaceId_ERC721Enumerable);
}
}
...
...
contracts/token/ERC721/ERC721Full.sol
View file @
f3a0a6a4
pragma solidity ^0.4.24;
pragma solidity ^0.4.24;
import "../../Initializable.sol";
import "./ERC721.sol";
import "./ERC721.sol";
import "./ERC721Enumerable.sol";
import "./ERC721Enumerable.sol";
import "./ERC721Metadata.sol";
import "./ERC721Metadata.sol";
...
@@ -11,9 +12,13 @@ import "./ERC721Metadata.sol";
...
@@ -11,9 +12,13 @@ import "./ERC721Metadata.sol";
* Moreover, it includes approve all functionality using operator terminology
* Moreover, it includes approve all functionality using operator terminology
* @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
* @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
*/
*/
contract ERC721Full is ERC721, ERC721Enumerable, ERC721Metadata {
contract ERC721Full is
Initializable,
ERC721, ERC721Enumerable, ERC721Metadata {
constructor(string name, string symbol) ERC721Metadata(name,
symbol)
function initialize(string name, string
symbol)
public
public
initializer
{
{
ERC721.initialize();
ERC721Enumerable.initialize();
ERC721Metadata.initialize(name, symbol);
}
}
}
}
contracts/token/ERC721/ERC721Metadata.sol
View file @
f3a0a6a4
pragma solidity ^0.4.24;
pragma solidity ^0.4.24;
import "../../Initializable.sol";
import "./ERC721.sol";
import "./ERC721.sol";
import "./IERC721Metadata.sol";
import "./IERC721Metadata.sol";
import "../../introspection/ERC165.sol";
import "../../introspection/ERC165.sol";
contract ERC721Metadata is ERC165, ERC721, IERC721Metadata {
contract ERC721Metadata is
Initializable,
ERC165, ERC721, IERC721Metadata {
// Token name
// Token name
string internal _name;
string internal _name;
...
@@ -26,7 +27,10 @@ contract ERC721Metadata is ERC165, ERC721, IERC721Metadata {
...
@@ -26,7 +27,10 @@ contract ERC721Metadata is ERC165, ERC721, IERC721Metadata {
/**
/**
* @dev Constructor function
* @dev Constructor function
*/
*/
constructor(string name, string symbol) public {
function initialize(string name, string symbol) public initializer {
ERC165.initialize();
ERC721.initialize();
_name = name;
_name = name;
_symbol = symbol;
_symbol = symbol;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment