aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-utils/src/types.ts
blob: b08e74e718f9e32ee38c88664d8bab90dd487fd7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
export enum OrderError {
    InvalidSignature = 'INVALID_SIGNATURE',
}

/**
 * The requisite message prefix (is any) to add to an `eth_sign` request.
 */
export enum MessagePrefixType {
    None = 'NONE',
    EthSign = 'ETH_SIGN',
    Trezor = 'TREZOR',
}

/**
 * Options related to message prefixing of messages sent to `eth_sign`
 * Some signers prepend a message prefix (e.g Parity Signer, Ledger, TestRPC), while
 * others require it already be prepended (e.g Metamask). In addition, different signers
 * expect slightly different prefixes (See: https://github.com/ethereum/go-ethereum/issues/14794).
 * Depending on the signer that will receive your signing request, you must specify the
 * desired prefix and whether it should be added before making the `eth_sign` request.
 */
export interface MessagePrefixOpts {
    prefixType: MessagePrefixType;
    shouldAddPrefixBeforeCallingEthSign: boolean;
}

export enum TradeSide {
    Maker = 'maker',
    Taker = 'taker',
}

export enum TransferType {
    Trade = 'trade',
    Fee = 'fee',
}

export interface EIP712Parameter {
    name: string;
    type: EIP712Types;
}

export interface EIP712Schema {
    name: string;
    parameters: EIP712Parameter[];
}

export enum EIP712Types {
    Address = 'address',
    Bytes = 'bytes',
    Bytes32 = 'bytes32',
    String = 'string',
    Uint256 = 'uint256',
}