From bc8fc534332b5ea82f881bdd3a75773384714f4d Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Thu, 25 May 2017 19:47:11 +0200 Subject: Add initial exchange contract function, set up web3Wrapper, added types and utils --- src/ts/types.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/ts/types.ts (limited to 'src/ts/types.ts') diff --git a/src/ts/types.ts b/src/ts/types.ts new file mode 100644 index 000000000..01380af02 --- /dev/null +++ b/src/ts/types.ts @@ -0,0 +1,30 @@ +import * as _ from 'lodash'; + +// Utility function to create a K:V from a list of strings +// Adapted from: https://basarat.gitbooks.io/typescript/content/docs/types/literal-types.html +function strEnum(values: string[]): {[key: string]: string} { + return _.reduce(values, (result, key) => { + result[key] = key; + return result; + }, Object.create(null)); +} + +export const ZeroExError = strEnum([ + 'CONTRACT_DOES_NOT_EXIST', + 'UNHANDLED_ERROR', + 'USER_HAS_NO_ASSOCIATED_ADDRESSES', +]); +export type ZeroExError = keyof typeof ZeroExError; + +/** + * Elliptic Curve signature + */ +export interface ECSignature { + v: number; + r: string; + s: string; +} + +export interface ExchangeContract { + isValidSignature: any; +} -- cgit v1.2.3