271 lines
11 KiB
TypeScript
271 lines
11 KiB
TypeScript
import {
|
|
ExchangeContractErrs,
|
|
PublicNodeUrlsByNetworkId,
|
|
ZeroExJsDocSections,
|
|
SmartContractsDocSections,
|
|
Docs,
|
|
ContractAddresses,
|
|
Networks,
|
|
WebsitePaths,
|
|
} from 'ts/types';
|
|
import BigNumber from 'bignumber.js';
|
|
|
|
const INFURA_API_KEY = 'T5WSC8cautR4KXyYgsRs';
|
|
|
|
export const constants = {
|
|
ANGELLIST_URL: 'https://angel.co/0xproject/jobs',
|
|
STAGING_DOMAIN: 'staging-0xproject.s3-website-us-east-1.amazonaws.com',
|
|
PRODUCTION_DOMAIN: '0xproject.com',
|
|
DEVELOPMENT_DOMAIN: '0xproject.dev:3572',
|
|
BIGNUMBERJS_GITHUB_URL: 'http://mikemcl.github.io/bignumber.js',
|
|
BITLY_ACCESS_TOKEN: 'ffc4c1a31e5143848fb7c523b39f91b9b213d208',
|
|
BITLY_ENDPOINT: 'https://api-ssl.bitly.com',
|
|
BLOG_URL: 'https://blog.0xproject.com/latest',
|
|
CUSTOM_BLUE: '#60a4f4',
|
|
DEFAULT_DERIVATION_PATH: `44'/60'/0'`,
|
|
ETHER_FAUCET_ENDPOINT: 'https://faucet.0xproject.com',
|
|
FEE_RECIPIENT_ADDRESS: '0x0000000000000000000000000000000000000000',
|
|
FIREFOX_U2F_ADDON: 'https://addons.mozilla.org/en-US/firefox/addon/u2f-support-add-on/',
|
|
GITHUB_URL: 'https://github.com/0xProject',
|
|
GITHUB_0X_JS_URL: 'https://github.com/0xProject/0x.js',
|
|
GITHUB_CONTRACTS_URL: 'https://github.com/0xProject/contracts',
|
|
GITHUB_WIKI_URL: 'https://github.com/0xProject/wiki',
|
|
HTTP_NO_CONTENT_STATUS_CODE: 204,
|
|
ACCEPT_DISCLAIMER_LOCAL_STORAGE_KEY: 'didAcceptPortalDisclaimer',
|
|
LINKEDIN_0X_URL: 'https://www.linkedin.com/company/0x',
|
|
LEDGER_PROVIDER_NAME: 'Ledger',
|
|
METAMASK_PROVIDER_NAME: 'Metamask',
|
|
GENESIS_ORDER_BLOCK_BY_NETWORK_ID: {
|
|
1: 4145578,
|
|
42: 3117574,
|
|
50: 0,
|
|
} as {[networkId: number]: number},
|
|
PUBLIC_PROVIDER_NAME: '0x Public',
|
|
// The order matters. We first try first node and only then fall back to others.
|
|
PUBLIC_NODE_URLS_BY_NETWORK_ID: {
|
|
[1]: [
|
|
`https://mainnet.infura.io/${INFURA_API_KEY}`,
|
|
],
|
|
[42]: [
|
|
`https://kovan.infura.io/${INFURA_API_KEY}`,
|
|
],
|
|
} as PublicNodeUrlsByNetworkId,
|
|
PARITY_SIGNER_PROVIDER_NAME: 'Parity Signer',
|
|
GENERIC_PROVIDER_NAME: 'Injected Web3',
|
|
MAKER_FEE: new BigNumber(0),
|
|
MAINNET_NAME: 'Main network',
|
|
MAINNET_NETWORK_ID: 1,
|
|
METAMASK_CHROME_STORE_URL: 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn',
|
|
// tslint:disable-next-line:max-line-length
|
|
PARITY_CHROME_STORE_URL: 'https://chrome.google.com/webstore/detail/parity-ethereum-integrati/himekenlppkgeaoeddcliojfddemadig',
|
|
MIST_DOWNLOAD_URL: 'https://github.com/ethereum/mist/releases',
|
|
NULL_ADDRESS: '0x0000000000000000000000000000000000000000',
|
|
ROLLBAR_ACCESS_TOKEN: 'a6619002b51c4464928201e6ea94de65',
|
|
DOCS_SCROLL_DURATION_MS: 0,
|
|
DOCS_CONTAINER_ID: 'documentation',
|
|
HOME_SCROLL_DURATION_MS: 500,
|
|
REDDIT_URL: 'https://reddit.com/r/0xproject',
|
|
STANDARD_RELAYER_API_GITHUB: 'https://github.com/0xProject/standard-relayer-api/blob/master/README.md',
|
|
SUCCESS_STATUS: 200,
|
|
S3_0XJS_DOCUMENTATION_JSON_ROOT: 'https://s3.amazonaws.com/0xjs-docs-jsons',
|
|
S3_SMART_CONTRACTS_DOCUMENTATION_JSON_ROOT: 'https://s3.amazonaws.com/smart-contracts-docs-json',
|
|
UNAVAILABLE_STATUS: 503,
|
|
TAKER_FEE: new BigNumber(0),
|
|
TESTNET_NAME: 'Kovan',
|
|
TESTNET_NETWORK_ID: 42,
|
|
TESTRPC_NETWORK_ID: 50,
|
|
TWITTER_URL: 'https://twitter.com/0xproject',
|
|
ETH_DECIMAL_PLACES: 18,
|
|
MINT_AMOUNT: new BigNumber('100000000000000000000'),
|
|
WEB3_DOCS_URL: 'https://github.com/ethereum/wiki/wiki/JavaScript-API',
|
|
WEB3_PROVIDER_DOCS_URL: 'https://github.com/ethereum/wiki/wiki/JavaScript-API#example-7',
|
|
ZEROEX_CHAT_URL: 'https://chat.0xproject.com',
|
|
// Projects
|
|
ETHFINEX_URL: 'https://www.bitfinex.com/ethfinex',
|
|
RADAR_RELAY_URL: 'https://radarrelay.com',
|
|
PARADEX_URL: 'https://paradex.io',
|
|
DYDX_URL: 'https://dydx.exchange',
|
|
MELONPORT_URL: 'https://melonport.com',
|
|
DISTRICT_0X_URL: 'https://district0x.io',
|
|
DHARMA_URL: 'https://dharma.io',
|
|
LENDROID_URL: 'https://lendroid.com',
|
|
MAKER_URL: 'https://makerdao.com',
|
|
ARAGON_URL: 'https://aragon.one',
|
|
BLOCKNET_URL: 'https://blocknet.co',
|
|
OCEAN_URL: 'http://the0cean.com',
|
|
STATUS_URL: 'https://status.im',
|
|
AUGUR_URL: 'https://augur.net',
|
|
AUCTUS_URL: 'https://auctus.org',
|
|
OPEN_ANX_URL: 'https://www.openanx.org',
|
|
|
|
iconUrlBySymbol: {
|
|
'REP': '/images/token_icons/augur.png',
|
|
'DGD': '/images/token_icons/digixdao.png',
|
|
'WETH': '/images/token_icons/ether_erc20.png',
|
|
'MLN': '/images/token_icons/melon.png',
|
|
'GNT': '/images/token_icons/golem.png',
|
|
'MKR': '/images/token_icons/makerdao.png',
|
|
'ZRX': '/images/token_icons/zero_ex.png',
|
|
'ANT': '/images/token_icons/aragon.png',
|
|
'BNT': '/images/token_icons/bancor.png',
|
|
'BAT': '/images/token_icons/basicattentiontoken.png',
|
|
'CVC': '/images/token_icons/civic.png',
|
|
'EOS': '/images/token_icons/eos.png',
|
|
'FUN': '/images/token_icons/funfair.png',
|
|
'GNO': '/images/token_icons/gnosis.png',
|
|
'ICN': '/images/token_icons/iconomi.png',
|
|
'OMG': '/images/token_icons/omisego.png',
|
|
'SNT': '/images/token_icons/status.png',
|
|
'STORJ': '/images/token_icons/storjcoinx.png',
|
|
'PAY': '/images/token_icons/tenx.png',
|
|
'QTUM': '/images/token_icons/qtum.png',
|
|
'DNT': '/images/token_icons/district0x.png',
|
|
'SNGLS': '/images/token_icons/singularity.png',
|
|
'EDG': '/images/token_icons/edgeless.png',
|
|
'1ST': '/images/token_icons/firstblood.jpg',
|
|
'WINGS': '/images/token_icons/wings.png',
|
|
'BQX': '/images/token_icons/bitquence.png',
|
|
'LUN': '/images/token_icons/lunyr.png',
|
|
'RLC': '/images/token_icons/iexec.png',
|
|
'MCO': '/images/token_icons/monaco.png',
|
|
'ADT': '/images/token_icons/adtoken.png',
|
|
'CFI': '/images/token_icons/cofound-it.png',
|
|
'ROL': '/images/token_icons/etheroll.png',
|
|
'WGNT': '/images/token_icons/golem.png',
|
|
'MTL': '/images/token_icons/metal.png',
|
|
'NMR': '/images/token_icons/numeraire.png',
|
|
'SAN': '/images/token_icons/santiment.png',
|
|
'TAAS': '/images/token_icons/taas.png',
|
|
'TKN': '/images/token_icons/tokencard.png',
|
|
'TRST': '/images/token_icons/trust.png',
|
|
} as {[symbol: string]: string},
|
|
networkNameById: {
|
|
1: Networks.mainnet,
|
|
3: Networks.ropsten,
|
|
4: Networks.rinkeby,
|
|
42: Networks.kovan,
|
|
} as {[symbol: number]: string},
|
|
networkIdByName: {
|
|
[Networks.mainnet]: 1,
|
|
[Networks.ropsten]: 3,
|
|
[Networks.rinkeby]: 4,
|
|
[Networks.kovan]: 42,
|
|
} as {[networkName: string]: number},
|
|
// Note: This needs to be kept in sync with the types exported in index.ts. Unfortunately there is
|
|
// currently no way to extract the re-exported types from index.ts via TypeDoc :(
|
|
public0xjsTypes: [
|
|
'Order',
|
|
'SignedOrder',
|
|
'ECSignature',
|
|
'ZeroExError',
|
|
'EventCallback',
|
|
'EventCallbackAsync',
|
|
'EventCallbackSync',
|
|
'ExchangeContractErrs',
|
|
'ContractEvent',
|
|
'Token',
|
|
'ExchangeEvents',
|
|
'IndexedFilterValues',
|
|
'SubscriptionOpts',
|
|
'BlockParam',
|
|
'OrderFillOrKillRequest',
|
|
'OrderCancellationRequest',
|
|
'OrderFillRequest',
|
|
'ContractEventEmitter',
|
|
'Web3Provider',
|
|
'ContractEventArgs',
|
|
'LogCancelArgs',
|
|
'LogFillArgs',
|
|
'LogErrorContractEventArgs',
|
|
'LogFillContractEventArgs',
|
|
'LogCancelContractEventArgs',
|
|
'TokenEvents',
|
|
'ExchangeContractEventArgs',
|
|
'TransferContractEventArgs',
|
|
'ApprovalContractEventArgs',
|
|
'TokenContractEventArgs',
|
|
'ZeroExConfig',
|
|
'TransactionReceiptWithDecodedLogs',
|
|
'LogWithDecodedArgs',
|
|
'DecodedLogArgs',
|
|
'MethodOpts',
|
|
'ValidateOrderFillableOpts',
|
|
'OrderTransactionOpts',
|
|
'ContractEventArg',
|
|
'LogEvent',
|
|
'LogEntry',
|
|
'DecodedLogEvent',
|
|
],
|
|
menuSmartContracts: {
|
|
introduction: [
|
|
SmartContractsDocSections.Introduction,
|
|
],
|
|
contracts: [
|
|
SmartContractsDocSections.Exchange,
|
|
SmartContractsDocSections.TokenRegistry,
|
|
SmartContractsDocSections.ZRXToken,
|
|
SmartContractsDocSections.EtherToken,
|
|
SmartContractsDocSections.TokenTransferProxy,
|
|
],
|
|
},
|
|
menu0xjs: {
|
|
introduction: [
|
|
ZeroExJsDocSections.introduction,
|
|
],
|
|
install: [
|
|
ZeroExJsDocSections.installation,
|
|
],
|
|
topics: [
|
|
ZeroExJsDocSections.async,
|
|
ZeroExJsDocSections.errors,
|
|
ZeroExJsDocSections.versioning,
|
|
],
|
|
zeroEx: [
|
|
ZeroExJsDocSections.zeroEx,
|
|
],
|
|
contracts: [
|
|
ZeroExJsDocSections.exchange,
|
|
ZeroExJsDocSections.token,
|
|
ZeroExJsDocSections.tokenRegistry,
|
|
ZeroExJsDocSections.etherToken,
|
|
ZeroExJsDocSections.proxy,
|
|
],
|
|
types: [
|
|
ZeroExJsDocSections.types,
|
|
],
|
|
},
|
|
menuSubsectionToVersionWhenIntroduced: {
|
|
[ZeroExJsDocSections.etherToken]: '0.7.1',
|
|
[ZeroExJsDocSections.proxy]: '0.8.0',
|
|
},
|
|
docToPath: {
|
|
[Docs.ZeroExJs]: WebsitePaths.ZeroExJs,
|
|
[Docs.SmartContracts]: WebsitePaths.SmartContracts,
|
|
},
|
|
contractAddresses: {
|
|
'1.0.0': {
|
|
[Networks.mainnet]: {
|
|
[SmartContractsDocSections.Exchange]: '0x12459c951127e0c374ff9105dda097662a027093',
|
|
[SmartContractsDocSections.TokenTransferProxy]: '0x8da0d80f5007ef1e431dd2127178d224e32c2ef4',
|
|
[SmartContractsDocSections.ZRXToken]: '0xe41d2489571d322189246dafa5ebde1f4699f498',
|
|
[SmartContractsDocSections.EtherToken]: '0x2956356cd2a2bf3202f771f50d3d14a367b48070',
|
|
[SmartContractsDocSections.TokenRegistry]: '0x926a74c5c36adf004c87399e65f75628b0f98d2c',
|
|
},
|
|
[Networks.ropsten]: {
|
|
[SmartContractsDocSections.Exchange]: '0x479cc461fecd078f766ecc58533d6f69580cf3ac',
|
|
[SmartContractsDocSections.TokenTransferProxy]: '0x4e9aad8184de8833365fea970cd9149372fdf1e6',
|
|
[SmartContractsDocSections.ZRXToken]: '0xa8e9fa8f91e5ae138c74648c9c304f1c75003a8d',
|
|
[SmartContractsDocSections.EtherToken]: '0xc00fd9820cd2898cc4c054b7bf142de637ad129a',
|
|
[SmartContractsDocSections.TokenRegistry]: '0x6b1a50f0bb5a7995444bd3877b22dc89c62843ed',
|
|
},
|
|
[Networks.kovan]: {
|
|
[SmartContractsDocSections.Exchange]: '0x90fe2af704b34e0224bf2299c838e04d4dcf1364',
|
|
[SmartContractsDocSections.TokenTransferProxy]: '0x087Eed4Bc1ee3DE49BeFbd66C662B434B15d49d4',
|
|
[SmartContractsDocSections.ZRXToken]: '0x6ff6c0ff1d68b964901f986d4c9fa3ac68346570',
|
|
[SmartContractsDocSections.EtherToken]: '0x05d090b51c40b020eab3bfcb6a2dff130df22e9c',
|
|
[SmartContractsDocSections.TokenRegistry]: '0xf18e504561f4347bea557f3d4558f559dddbae7f',
|
|
},
|
|
},
|
|
} as ContractAddresses,
|
|
};
|