Bläddra i källkod

Removed mintingFinished. (#1351)

* Removed mintingFinished from ERC20Mintable.

* Removed MintingFinished from ERC721Mintable.

* Removed MintingFinished event.
Nicolás Venturo 7 år sedan
förälder
incheckning
5fdeaa81d5

+ 0 - 32
contracts/token/ERC20/ERC20Mintable.sol

@@ -8,22 +8,6 @@ import "../../access/roles/MinterRole.sol";
  * @dev ERC20 minting logic
  */
 contract ERC20Mintable is ERC20, MinterRole {
-  event MintingFinished();
-
-  bool private _mintingFinished = false;
-
-  modifier onlyBeforeMintingFinished() {
-    require(!_mintingFinished);
-    _;
-  }
-
-  /**
-   * @return true if the minting is finished.
-   */
-  function mintingFinished() public view returns(bool) {
-    return _mintingFinished;
-  }
-
   /**
    * @dev Function to mint tokens
    * @param to The address that will receive the minted tokens.
@@ -36,25 +20,9 @@ contract ERC20Mintable is ERC20, MinterRole {
   )
     public
     onlyMinter
-    onlyBeforeMintingFinished
     returns (bool)
   {
     _mint(to, amount);
     return true;
   }
-
-  /**
-   * @dev Function to stop minting new tokens.
-   * @return True if the operation was successful.
-   */
-  function finishMinting()
-    public
-    onlyMinter
-    onlyBeforeMintingFinished
-    returns (bool)
-  {
-    _mintingFinished = true;
-    emit MintingFinished();
-    return true;
-  }
 }

+ 0 - 33
contracts/token/ERC721/ERC721Mintable.sol

@@ -8,22 +8,6 @@ import "../../access/roles/MinterRole.sol";
  * @dev ERC721 minting logic
  */
 contract ERC721Mintable is ERC721Full, MinterRole {
-  event MintingFinished();
-
-  bool private _mintingFinished = false;
-
-  modifier onlyBeforeMintingFinished() {
-    require(!_mintingFinished);
-    _;
-  }
-
-  /**
-   * @return true if the minting is finished.
-   */
-  function mintingFinished() public view returns(bool) {
-    return _mintingFinished;
-  }
-
   /**
    * @dev Function to mint tokens
    * @param to The address that will receive the minted tokens.
@@ -36,7 +20,6 @@ contract ERC721Mintable is ERC721Full, MinterRole {
   )
     public
     onlyMinter
-    onlyBeforeMintingFinished
     returns (bool)
   {
     _mint(to, tokenId);
@@ -50,26 +33,10 @@ contract ERC721Mintable is ERC721Full, MinterRole {
   )
     public
     onlyMinter
-    onlyBeforeMintingFinished
     returns (bool)
   {
     mint(to, tokenId);
     _setTokenURI(tokenId, tokenURI);
     return true;
   }
-
-  /**
-   * @dev Function to stop minting new tokens.
-   * @return True if the operation was successful.
-   */
-  function finishMinting()
-    public
-    onlyMinter
-    onlyBeforeMintingFinished
-    returns (bool)
-  {
-    _mintingFinished = true;
-    emit MintingFinished();
-    return true;
-  }
 }

+ 18 - 110
test/token/ERC20/behaviors/ERC20Mintable.behavior.js

@@ -11,136 +11,44 @@ function shouldBehaveLikeERC20Mintable (minter, [anyone]) {
   const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
 
   describe('as a mintable token', function () {
-    describe('mintingFinished', function () {
-      context('when token minting is not finished', function () {
-        it('returns false', async function () {
-          (await this.token.mintingFinished()).should.equal(false);
-        });
-      });
-
-      context('when token minting is finished', function () {
-        beforeEach(async function () {
-          await this.token.finishMinting({ from: minter });
-        });
-
-        it('returns true', async function () {
-          (await this.token.mintingFinished()).should.equal(true);
-        });
-      });
-    });
+    describe('mint', function () {
+      const amount = 100;
 
-    describe('finishMinting', function () {
       context('when the sender has minting permission', function () {
         const from = minter;
 
-        context('when token minting was not finished', function () {
-          it('finishes token minting', async function () {
-            await this.token.finishMinting({ from });
-
-            (await this.token.mintingFinished()).should.equal(true);
-          });
-
-          it('emits a mint finished event', async function () {
-            const { logs } = await this.token.finishMinting({ from });
-
-            await expectEvent.inLogs(logs, 'MintingFinished');
-          });
-        });
-
-        context('when token minting was already finished', function () {
-          beforeEach(async function () {
-            await this.token.finishMinting({ from });
-          });
-
-          it('reverts', async function () {
-            await assertRevert(this.token.finishMinting({ from }));
-          });
+        context('for a zero amount', function () {
+          shouldMint(0);
         });
-      });
-
-      context('when the sender doesn\'t have minting permission', function () {
-        const from = anyone;
 
-        context('when token minting was not finished', function () {
-          it('reverts', async function () {
-            await assertRevert(this.token.finishMinting({ from }));
-          });
+        context('for a non-zero amount', function () {
+          shouldMint(amount);
         });
 
-        context('when token minting was already finished', function () {
+        function shouldMint (amount) {
           beforeEach(async function () {
-            await this.token.finishMinting({ from: minter });
-          });
-
-          it('reverts', async function () {
-            await assertRevert(this.token.finishMinting({ from }));
-          });
-        });
-      });
-    });
-
-    describe('mint', function () {
-      const amount = 100;
-
-      context('when the sender has minting permission', function () {
-        const from = minter;
-
-        context('when token minting is not finished', function () {
-          context('for a zero amount', function () {
-            shouldMint(0);
+            ({ logs: this.logs } = await this.token.mint(anyone, amount, { from }));
           });
 
-          context('for a non-zero amount', function () {
-            shouldMint(amount);
+          it('mints the requested amount', async function () {
+            (await this.token.balanceOf(anyone)).should.be.bignumber.equal(amount);
           });
 
-          function shouldMint (amount) {
-            beforeEach(async function () {
-              ({ logs: this.logs } = await this.token.mint(anyone, amount, { from }));
-            });
-
-            it('mints the requested amount', async function () {
-              (await this.token.balanceOf(anyone)).should.be.bignumber.equal(amount);
-            });
-
-            it('emits a mint and a transfer event', async function () {
-              const transferEvent = expectEvent.inLogs(this.logs, 'Transfer', {
-                from: ZERO_ADDRESS,
-                to: anyone,
-              });
-              transferEvent.args.value.should.be.bignumber.equal(amount);
+          it('emits a mint and a transfer event', async function () {
+            const transferEvent = expectEvent.inLogs(this.logs, 'Transfer', {
+              from: ZERO_ADDRESS,
+              to: anyone,
             });
-          }
-        });
-
-        context('when token minting is finished', function () {
-          beforeEach(async function () {
-            await this.token.finishMinting({ from: minter });
+            transferEvent.args.value.should.be.bignumber.equal(amount);
           });
-
-          it('reverts', async function () {
-            await assertRevert(this.token.mint(anyone, amount, { from }));
-          });
-        });
+        }
       });
 
       context('when the sender doesn\'t have minting permission', function () {
         const from = anyone;
 
-        context('when token minting is not finished', function () {
-          it('reverts', async function () {
-            await assertRevert(this.token.mint(anyone, amount, { from }));
-          });
-        });
-
-        context('when token minting is already finished', function () {
-          beforeEach(async function () {
-            await this.token.finishMinting({ from: minter });
-          });
-
-          it('reverts', async function () {
-            await assertRevert(this.token.mint(anyone, amount, { from }));
-          });
+        it('reverts', async function () {
+          await assertRevert(this.token.mint(anyone, amount, { from }));
         });
       });
     });

+ 0 - 29
test/token/ERC721/ERC721MintBurn.behavior.js

@@ -117,35 +117,6 @@ function shouldBehaveLikeMintAndBurnERC721 (
         });
       });
     });
-
-    describe('finishMinting', function () {
-      it('allows the minter to finish minting', async function () {
-        const { logs } = await this.token.finishMinting({ from: minter });
-        expectEvent.inLogs(logs, 'MintingFinished');
-      });
-    });
-
-    context('mintingFinished', function () {
-      beforeEach(async function () {
-        await this.token.finishMinting({ from: minter });
-      });
-
-      describe('mint', function () {
-        it('reverts', async function () {
-          await assertRevert(
-            this.token.mint(owner, thirdTokenId, { from: minter })
-          );
-        });
-      });
-
-      describe('mintWithTokenURI', function () {
-        it('reverts', async function () {
-          await assertRevert(
-            this.token.mintWithTokenURI(owner, thirdTokenId, MOCK_URI, { from: minter })
-          );
-        });
-      });
-    });
   });
 }