Move opcodes to constants
This commit is contained in:
parent
f6c01520ae
commit
8f8577b7c6
@ -1,3 +1,8 @@
|
||||
// tslint:disable:number-literal-format
|
||||
export const constants = {
|
||||
NEW_CONTRACT: 'NEW_CONTRACT',
|
||||
PUSH1: 0x60,
|
||||
PUSH2: 0x61,
|
||||
PUSH32: 0x7f,
|
||||
TIMESTAMP: 0x42,
|
||||
};
|
||||
|
@ -1,9 +1,8 @@
|
||||
// tslint:disable:number-literal-format
|
||||
const PUSH1 = 0x60;
|
||||
const PUSH32 = 0x7f;
|
||||
const isPush = (inst: number) => inst >= PUSH1 && inst <= PUSH32;
|
||||
import { constants } from './constants';
|
||||
|
||||
const pushDataLength = (inst: number) => inst - PUSH1 + 1;
|
||||
const isPush = (inst: number) => inst >= constants.PUSH1 && inst <= constants.PUSH32;
|
||||
|
||||
const pushDataLength = (inst: number) => inst - constants.PUSH1 + 1;
|
||||
|
||||
const instructionLength = (inst: number) => (isPush(inst) ? pushDataLength(inst) + 1 : 1);
|
||||
|
||||
|
@ -3,6 +3,7 @@ import * as fs from 'fs';
|
||||
import 'mocha';
|
||||
import * as path from 'path';
|
||||
|
||||
import { constants } from '../src/constants';
|
||||
import { getPcToInstructionIndexMapping } from '../src/instructions';
|
||||
|
||||
const expect = chai.expect;
|
||||
@ -10,10 +11,7 @@ const expect = chai.expect;
|
||||
describe('instructions', () => {
|
||||
describe('#getPcToInstructionIndexMapping', () => {
|
||||
it('correctly maps pcs to instruction indexed', () => {
|
||||
const PUSH1 = 0x60;
|
||||
const PUSH2 = 0x61;
|
||||
const TIMESTAMP = 0x42;
|
||||
const bytecode = new Uint8Array([PUSH1, 42, PUSH2, 1, 2, TIMESTAMP]);
|
||||
const bytecode = new Uint8Array([constants.PUSH1, 42, constants.PUSH2, 1, 2, constants.TIMESTAMP]);
|
||||
const pcToInstruction = getPcToInstructionIndexMapping(bytecode);
|
||||
const expectedPcToInstruction = { '0': 0, '2': 1, '5': 2 };
|
||||
expect(pcToInstruction).to.be.deep.equal(expectedPcToInstruction);
|
||||
|
Loading…
x
Reference in New Issue
Block a user