1 | const { format } = require('../util');
|
2 | const BaseCoder = require('./BaseCoder');
|
3 | const { padBuffer } = require('./util');
|
4 |
|
5 | class AddressCoder extends BaseCoder {
|
6 | static from({ type, name }) {
|
7 | if (type !== 'address') {
|
8 | return undefined;
|
9 | }
|
10 | return new this({ type, name });
|
11 | }
|
12 |
|
13 | |
14 |
|
15 |
|
16 |
|
17 | encode(address) {
|
18 | return padBuffer(format.address(address));
|
19 | }
|
20 |
|
21 | |
22 |
|
23 |
|
24 |
|
25 | decode(stream) {
|
26 | return format.address(`0x${stream.read(40)}`);
|
27 | }
|
28 | }
|
29 |
|
30 | module.exports = AddressCoder;
|