diff options
author | Fabio Berger <me@fabioberger.com> | 2018-06-02 08:29:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-02 08:29:44 +0800 |
commit | d50fbac5f937602d7a90343ea8ff88cee5c4542f (patch) | |
tree | d1c818e64b75c1f4fed1c7d797892fb0d35dd779 /packages/types/src/index.ts | |
parent | 62e60e2ba6d07b9b892b4f2e92a5421c54f5fa20 (diff) | |
parent | d3c64bd5b493dc1779a24c7c051c255106a4292a (diff) | |
download | dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.tar dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.tar.gz dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.tar.bz2 dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.tar.lz dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.tar.xz dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.tar.zst dexon-sol-tools-d50fbac5f937602d7a90343ea8ff88cee5c4542f.zip |
Merge pull request #636 from 0xProject/refactor/order-utils/for-v2
Refactor order-utils for v2
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; +} |