Browse Source

Add Transfer event when token is minted to be fully ERC20 compliant &
tests

SylTi 8 years ago
parent
commit
4fe837704b
2 changed files with 8 additions and 2 deletions
  1. 1 0
      contracts/token/MintableToken.sol
  2. 7 2
      test/MintableToken.js

+ 1 - 0
contracts/token/MintableToken.sol

@@ -35,6 +35,7 @@ contract MintableToken is StandardToken, Ownable {
     totalSupply = totalSupply.add(_amount);
     balances[_to] = balances[_to].add(_amount);
     Mint(_to, _amount);
+    Transfer(0x0, _to, _amount);
     return true;
   }
 

+ 7 - 2
test/MintableToken.js

@@ -23,8 +23,13 @@ contract('Mintable', function(accounts) {
   });
 
   it('should mint a given amount of tokens to a given address', async function() {
-    await token.mint(accounts[0], 100);
-    
+    const result = await token.mint(accounts[0], 100);
+    assert.equal(result.logs[0].event, 'Mint');
+    assert.equal(result.logs[0].args.to.valueOf(), accounts[0]);
+    assert.equal(result.logs[0].args.amount.valueOf(), 100);
+    assert.equal(result.logs[1].event, 'Transfer');
+    assert.equal(result.logs[1].args.from.valueOf(), 0x0);
+
     let balance0 = await token.balanceOf(accounts[0]);
     assert(balance0, 100);