Merge pull request #477 from facuspagnuolo/feaure/create_detailed_erc20_interface
Create detailed ERC20 interface
This commit is contained in:
15
contracts/token/DetailedERC20.sol
Normal file
15
contracts/token/DetailedERC20.sol
Normal file
@ -0,0 +1,15 @@
|
||||
pragma solidity ^0.4.11;
|
||||
|
||||
import './ERC20.sol';
|
||||
|
||||
contract DetailedERC20 is ERC20 {
|
||||
string public name;
|
||||
string public symbol;
|
||||
uint8 public decimals;
|
||||
|
||||
function DetailedERC20(string _name, string _symbol, uint8 _decimals) {
|
||||
name = _name;
|
||||
symbol = _symbol;
|
||||
decimals = _decimals;
|
||||
}
|
||||
}
|
||||
35
test/DetailedERC20.js
Normal file
35
test/DetailedERC20.js
Normal file
@ -0,0 +1,35 @@
|
||||
const BigNumber = web3.BigNumber;
|
||||
|
||||
require('chai')
|
||||
.use(require('chai-as-promised'))
|
||||
.use(require('chai-bignumber')(BigNumber))
|
||||
.should();
|
||||
|
||||
const DetailedERC20Mock = artifacts.require('./helpers/DetailedERC20Mock.sol');
|
||||
|
||||
contract('DetailedERC20', accounts => {
|
||||
let detailedERC20 = null;
|
||||
|
||||
const _name = "My Detailed ERC20";
|
||||
const _symbol = "MDT";
|
||||
const _decimals = 18;
|
||||
|
||||
beforeEach(async function() {
|
||||
detailedERC20 = await DetailedERC20Mock.new(_name, _symbol, _decimals);
|
||||
});
|
||||
|
||||
it('has a name', async function () {
|
||||
const name = await detailedERC20.name();
|
||||
name.should.be.equal(_name);
|
||||
});
|
||||
|
||||
it('has a symbol', async function () {
|
||||
const symbol = await detailedERC20.symbol();
|
||||
symbol.should.be.equal(_symbol);
|
||||
});
|
||||
|
||||
it('has an amount of decimals', async function () {
|
||||
const decimals = await detailedERC20.decimals();
|
||||
decimals.should.be.bignumber.equal(_decimals)
|
||||
});
|
||||
});
|
||||
8
test/helpers/DetailedERC20Mock.sol
Normal file
8
test/helpers/DetailedERC20Mock.sol
Normal file
@ -0,0 +1,8 @@
|
||||
pragma solidity ^0.4.11;
|
||||
|
||||
import '../../contracts/token/StandardToken.sol';
|
||||
import '../../contracts/token/DetailedERC20.sol';
|
||||
|
||||
contract DetailedERC20Mock is StandardToken, DetailedERC20 {
|
||||
function DetailedERC20Mock(string _name, string _symbol, uint8 _decimals) DetailedERC20(_name, _symbol, _decimals) {}
|
||||
}
|
||||
Reference in New Issue
Block a user