1 | const { format, sign } = require('../util');
|
2 | const abiCoder = require('../abi');
|
3 |
|
4 | function signature(type) {
|
5 | return format.hex(sign.sha3(Buffer.from(type)));
|
6 | }
|
7 |
|
8 | function formatSignature({ name, inputs }) {
|
9 | return `${name}(${inputs.map(param => abiCoder(param).type).join(',')})`;
|
10 | }
|
11 |
|
12 | function formatFullName({ name, inputs }) {
|
13 | return `${name}(${inputs.map(param => `${abiCoder(param).type} ${param.indexed ? 'indexed ' : ''}${param.name}`).join(', ')})`;
|
14 | }
|
15 |
|
16 | module.exports = {
|
17 | signature,
|
18 | formatSignature,
|
19 | formatFullName,
|
20 | };
|