aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-03-16 17:27:12 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-03-16 17:27:12 +0800
commit8f8577b7c6387c13799fc78c448d9d19cf361f40 (patch)
tree67ee8770644b2b83f2ccd764973c3d1bd1081890 /packages
parentf6c01520ae75d173937f0847ac45e636b06f4146 (diff)
downloaddexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.tar
dexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.tar.gz
dexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.tar.bz2
dexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.tar.lz
dexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.tar.xz
dexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.tar.zst
dexon-sol-tools-8f8577b7c6387c13799fc78c448d9d19cf361f40.zip
Move opcodes to constants
Diffstat (limited to 'packages')
-rw-r--r--packages/sol-cov/src/constants.ts5
-rw-r--r--packages/sol-cov/src/instructions.ts9
-rw-r--r--packages/sol-cov/test/instructions_test.ts6
3 files changed, 11 insertions, 9 deletions
diff --git a/packages/sol-cov/src/constants.ts b/packages/sol-cov/src/constants.ts
index 970734f2d..64d2228a3 100644
--- a/packages/sol-cov/src/constants.ts
+++ b/packages/sol-cov/src/constants.ts
@@ -1,3 +1,8 @@
+// tslint:disable:number-literal-format
export const constants = {
NEW_CONTRACT: 'NEW_CONTRACT',
+ PUSH1: 0x60,
+ PUSH2: 0x61,
+ PUSH32: 0x7f,
+ TIMESTAMP: 0x42,
};
diff --git a/packages/sol-cov/src/instructions.ts b/packages/sol-cov/src/instructions.ts
index c6506e58d..40987dbe5 100644
--- a/packages/sol-cov/src/instructions.ts
+++ b/packages/sol-cov/src/instructions.ts
@@ -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);
diff --git a/packages/sol-cov/test/instructions_test.ts b/packages/sol-cov/test/instructions_test.ts
index f64ec11ed..195dfce2f 100644
--- a/packages/sol-cov/test/instructions_test.ts
+++ b/packages/sol-cov/test/instructions_test.ts
@@ -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);