
Security News
Node.js Drops Bug Bounty Rewards After Funding Dries Up
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.
@radarrelay/types
Advanced tools
Custom type definitions used by the Radar API and SDK
The order type specified by the user.
enum UserOrderType {
BUY = 'BUY',
SELL = 'SELL'
}
The order type used by Radar on the backend.
enum RadarOrderType {
BID = 'BID',
ASK = 'ASK'
}
Various order states used by Radar.
enum RadarOrderState {
OPEN = 'OPEN',
FILLED = 'FILLED',
CANCELLED = 'CANCELLED',
EXPIRED = 'EXPIRED',
UNFUNDED = 'UNFUNDED'
}
The order book WebSocket action.
enum WebsocketAction {
FILL = 'FILL',
NEW = 'NEW',
CANCEL = 'CANCEL',
REMOVE = 'REMOVE'
}
The WebSocket request topic.
enum WebsocketRequestTopic {
BOOK = 'BOOK',
TICKER = 'TICKER',
CANDLE = 'CANDLE'
}
The type of WebSocket request.
enum WebsocketRequestType {
SUBSCRIBE = 'SUBSCRIBE',
UNSUBSCRIBE = 'UNSUBSCRIBE'
}
Information specific to a single token.
interface RadarToken {
address: string;
symbol: string;
name: string;
decimals: number;
zeroex_official: boolean;
active: boolean;
createdDate: string;
quote: boolean;
}
Top-Level information about the most recent trade and best bid/ask for a given market.
interface RadarTicker {
transactionHash: string; // Last trade tx hash
price: BigNumber; // Last trade price
size: BigNumber; // Last trade size (in quote)
timestamp: number; // Timestamp of last trade
bestBid: BigNumber; // Best bid on the book
bestAsk: BigNumber; // Best ask on the book
spreadPercentage: BigNumber; // The bid-ask spread percentage
}
Order book depth information and 24 hour volume statistics for a given market.
interface RadarStats {
numBidsWithinRange: number; // Number of bids within a defined range (Example: Within 20% of the best bid)
numAsksWithinRange: number; // Number of asks within a defined range (Example: Within 20% of the best ask)
baseTokenAvailable: BigNumber; // Amount of base token available on the book
quoteTokenAvailable: BigNumber; // Amount of quote token available on the book
volume24Hour: BigNumber; // 24 hour volume
percentChange24Hour: BigNumber; // 24 hour price change percentage
}
Historial information for a given market.
interface RadarHistory {
price24Hour: BigNumber[]; // The 24 hour price history
}
General Market Information
interface RadarMarketBase {
displayName: string; // Example: ZRX/WETH
baseTokenAddress: string;
quoteTokenAddress: string;
baseTokenDecimals: number;
quoteTokenDecimals: number;
quoteIncrement: number; // Maximum precision allowed for the market. Example: 7 (decimal places)
minOrderSize: BigNumber; // Calculated min base token size based on last trade price
maxOrderSize: BigNumber; // Calculated max base token size
score: number; // A score used to rank most active markets
}
Market information for a base/quote token pair.
interface RadarMarket extends Partial<RadarMarketBase> {
id: string; // Example: ZRX-WETH. (Mandatory)
ticker?: RadarTicker; // (Optional)
stats?: RadarStats; // (Optional)
history?: RadarHistory; // (Optional)
}
ZeroEx Order
interface Order {
senderAddress: string;
makerAddress: string;
takerAddress: string;
makerFee: BigNumber;
takerFee: BigNumber;
makerAssetAmount: BigNumber;
takerAssetAmount: BigNumber;
makerAssetData: string;
takerAssetData: string;
salt: BigNumber;
exchangeAddress: string;
feeRecipientAddress: string;
expirationTimeSeconds: BigNumber;
}
ZeroEx Signed Order
interface SignedOrder extends Order {
signature: string;
}
ZRX Signed Order with included order state.
interface RadarSignedOrder {
orderHash: string;
type: RadarOrderType;
state: RadarOrderState;
baseTokenAddress: string;
quoteTokenAddress: string;
remainingBaseTokenAmount: BigNumber, // converted amount
remainingQuoteTokenAmount: BigNumber // converted amount
price: BigNumber;
createdDate: BigNumber; // unix
signedOrder: SignedOrder;
}
A request for an unsigned order at the specified quantity and price, which can then we signed and POSTed back.
interface RadarLimitOrder {
type: UserOrderType;
quantity: BigNumber;
price: BigNumber;
expiration: BigNumber;
}
An unsigned order at the specified quantity and price.
interface UnsignedOrder {
senderAddress: string;
makerAddress: 'SET';
takerAddress: string;
makerFee: BigNumber;
takerFee: BigNumber;
makerAssetAmount: BigNumber;
takerAssetAmount: BigNumber;
makerAssetData: string;
takerAssetData: string;
salt: BigNumber;
exchangeAddress: string;
feeRecipientAddress: string;
expirationTimeSeconds: BigNumber;
signature: 'SET';
}
A request for fillable orders, up to the specified quantity, at the best price.
interface RadarMarketOrder {
type: UserOrderType;
quantity : BigNumber;
}
A response with price information and fillable orders at the best price.
interface RadarMarketOrderResponse {
averagePrice: BigNumber;
bestPrice: BigNumber;
worstPrice: BigNumber;
spread: BigNumber;
orders: SignedOrder[];
}
Fee information for a given market.
interface RadarOrderFeeResponse {
makerFee: BigNumber;
takerFee: BigNumber;
feeRecipientAddress: string;
gasEstimate?: BigNumber;
}
The orderbook for a given market.
interface RadarBook {
baseTokenAddress: string;
quoteTokenAddress: string;
bids: RadarSignedOrder[];
asks: RadarSignedOrder[];
}
Open-high-low-close chart data.
interface Ohlc {
open: BigNumber;
high: BigNumber;
low: BigNumber;
close: BigNumber;
}
interface RadarCandle extends Ohlc {
startBlock: number;
startBlockTimestamp: number;
endBlock: number; // the last block included in this candle (inclusive)
endBlockTimestamp: number;
baseTokenVolume: BigNumber;
quoteTokenVolume: BigNumber;
}
A fill without the RadarSignedOrder information.
interface RadarFill extends MarketEvent, OnChainEvent {
type: UserOrderType;
blockNumber: number;
makerAddress: string;
takerAddress: string;
feeRecipientAddress: string;
makerFeePaid: BigNumber; // converted
takerFeePaid: BigNumber; // converted
filledBaseTokenAmount: BigNumber; // converted
filledQuoteTokenAmount: BigNumber; // converted
orderHash: string;
timestamp: number;
outlier: boolean; // Whether or not the fill is an outlier
}
An event tied to a market (base/quote).
interface MarketEvent {
baseTokenAddress: string;
quoteTokenAddress: string;
}
An event containing a RadarSignedOrder.
interface OrderEvent {
order: RadarSignedOrder;
}
An on-chain event (transaction).
interface OnChainEvent {
transactionHash: string;
}
interface RadarNewOrder extends MarketEvent, OrderEvent { }
interface RadarRemoveOrder extends MarketEvent {
reason: string;
orderType: RadarOrderType;
orderHash: string;
}
interface RadarCancelOrder extends MarketEvent, OnChainEvent {
orderType: RadarOrderType;
orderHash: string;
}
interface RadarFillOrder extends RadarFill, OrderEvent {
}
interface WebsocketEvent {
action: WebsocketAction;
event: RadarFillOrder | RadarNewOrder | RadarCancelOrder | RadarRemoveOrder;
}
Radar Request Types utilized by the Websocket Endpoint.
interface RadarWebsocketRequest {
type: WebsocketRequestType;
requestId?: number;
}
interface RadarSubscribeRequest extends RadarWebsocketRequest {
type: WebsocketRequestType.SUBSCRIBE;
topic: WebsocketRequestTopic;
market: string;
}
interface RadarUnsubscribeRequest extends RadarWebsocketRequest {
type: WebsocketRequestType.UNSUBSCRIBE;
topic: WebsocketRequestTopic;
market: string;
}
Radar Response Types utilized by the Websocket Endpoint.
interface RadarWebsocketResponse {
type: WebsocketRequestType | 'ERROR';
requestId?: number;
}
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE.md file for details.
FAQs
Custom type definitions used by the Radar API and SDK
The npm package @radarrelay/types receives a total of 24 weekly downloads. As such, @radarrelay/types popularity was classified as not popular.
We found that @radarrelay/types demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.