solid-grinder 1.1.0

A CLI that goes along with building blocks of smart contract. Along with our front-end snippets, this toolbox can reduce L2 gas cost by encoding calldata for dApps development to use as little bytes of calldata as possible.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function formatLines(...lines) {
  return [...indentEach(0, lines)].join('\n') + '\n';
}

function* indentEach(indent, lines) {
  for (const line of lines) {
    if (Array.isArray(line)) {
      yield* indentEach(indent + 1, line);
    } else {
      const padding = '    '.repeat(indent);
      yield* line.split('\n').map(subline => (subline === '' ? '' : padding + subline));
    }
  }
}

module.exports = formatLines;