diff options
Diffstat (limited to 'packages/types/src/index.ts')
-rw-r--r-- | packages/types/src/index.ts | 75 |
1 files changed, 71 insertions, 4 deletions
diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 47f3e3239..5a4d23a9e 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,6 +1,9 @@ import { BigNumber } from 'bignumber.js'; import { ContractAbi, DecodedLogArgs, LogEntry, LogWithDecodedArgs, TransactionReceipt } from 'ethereum-types'; +// HACK: Rather then extending from OrderWithoutExchangeAddress +// we don't, because our docs don't expand inherited types, and it's unnecessarily +// confusing to introduce the user to the OrderWithoutExchangeAddress type. export interface Order { senderAddress: string; makerAddress: string; @@ -12,16 +15,28 @@ export interface Order { makerAssetData: string; takerAssetData: string; salt: BigNumber; + exchangeAddress: string; feeRecipientAddress: string; expirationTimeSeconds: BigNumber; } -export interface SignedOrder extends UnsignedOrder { - signature: string; +export interface OrderWithoutExchangeAddress { + senderAddress: string; + makerAddress: string; + takerAddress: string; + makerFee: BigNumber; + takerFee: BigNumber; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerAssetData: string; + takerAssetData: string; + salt: BigNumber; + feeRecipientAddress: string; + expirationTimeSeconds: BigNumber; } -export interface UnsignedOrder extends Order { - exchangeAddress: string; +export interface SignedOrder extends Order { + signature: string; } /** @@ -34,6 +49,14 @@ export interface ECSignature { } /** + * Validator signature components + */ +export interface ValidatorSignature { + validatorAddress: string; + signature: string; +} + +/** * Errors originating from the 0x exchange contract */ export enum ExchangeContractErrs { @@ -106,3 +129,47 @@ export interface Token { symbol: string; decimals: number; } + +export enum SignatureType { + Illegal, + Invalid, + EIP712, + EthSign, + Caller, + Wallet, + Validator, + PreSigned, + Trezor, +} + +/** + * Elliptic Curve signature + */ +export interface ECSignature { + v: number; + r: string; + s: string; +} + +export enum AssetProxyId { + INVALID, + ERC20, + ERC721, +} + +export interface ERC20ProxyData { + assetProxyId: AssetProxyId; + tokenAddress: string; +} + +export interface ERC721ProxyData { + assetProxyId: AssetProxyId; + tokenAddress: string; + tokenId: BigNumber; +} + +export interface ProxyData { + assetProxyId: AssetProxyId; + tokenAddress?: string; + data?: any; +} |