whales-otc-pre-market-aptos-sdk
Version:
TypeScript SDK for Whales OTC Pre-Market trading on Aptos blockchain
172 lines (151 loc) • 3.18 kB
text/typescript
export interface ConfigData {
version: string;
owner: string;
feePercent: string;
feeWallet: string;
}
export interface OtcOfferData {
orderId: string;
isBuyer: boolean;
owner: string;
exToken: string;
value: string;
deadline: string;
status: string;
}
export enum OTCPreMarketError {
NotUpgrade = 1,
Unauthorized = 2,
InvalidRole = 3,
InvalidTokenState = 4,
InvalidOfferType = 5,
InvalidAmount = 6,
InvalidValue = 7,
InvalidCoinType = 8,
InvalidOfferState = 9,
InsufficientAllocation = 10,
FullMatchRequired = 11,
InvalidTokenId = 12,
InvalidSettleDuration = 13,
InvalidOrderState = 14,
InvalidTableKey = 15,
InvalidSignature = 16,
}
export enum TokenStatus {
Active = 1,
Inactive = 2,
Settle = 3,
Cancelled = 4,
}
export enum TokenCategory {
Point = 1,
PreMarket = 2,
}
export enum OfferType {
Buy = 1,
Sell = 2,
}
export enum OfferStatus {
Open = 1,
Filled = 2,
Cancelled = 3,
}
export enum OrderStatus {
Open = 1,
SettleFilled = 2,
SettleCancelled = 3,
Cancelled = 4,
}
export enum Role {
NoRole = 0,
Admin = 1,
Operator = 2,
}
export enum EventType {
ConfigUpdatedEvent = "ConfigUpdatedEvent",
RoleAddedEvent = "RoleAddedEvent",
RoleRemovedEvent = "RoleRemovedEvent",
OtcOfferCreatedEvent = "OtcOfferCreatedEvent",
OtcOfferFilledEvent = "OtcOfferFilledEvent",
OtcOfferUpdatedEvent = "OtcOfferUpdatedEvent",
OtcOfferCancelledEvent = "OtcOfferCancelledEvent"
}
export interface ConfigUpdatedEvent {
event_name: string;
sender: string;
fee_percent: string;
fee_wallet: string;
block_height: number;
transaction_version: number;
}
export interface RoleAddedEvent {
event_name: string;
sender: string;
user: string;
role: number;
block_height: number;
transaction_version: number;
}
export interface RoleRemovedEvent {
event_name: string;
sender: string;
user: string;
role: number;
block_height: number;
transaction_version: number;
}
export interface OtcOfferCreatedEvent {
event_name: string;
offer_id: string;
order_id: string;
token_id: string;
owner: string;
ex_token: string;
value: string;
deadline: string;
is_buyer: boolean;
status: number;
block_height: number;
transaction_version: number;
}
export interface OtcOfferFilledEvent {
event_name: string;
offer_id: string;
buyer: string;
value: string;
status: number;
block_height: number;
transaction_version: number;
}
export interface OtcOfferUpdatedEvent {
event_name: string;
offer_id: string;
buyer: string;
new_price: string;
new_deadline: string;
status: number;
block_height: number;
transaction_version: number;
}
export interface OtcOfferCancelledEvent {
event_name: string;
offer_id: string;
status: number;
block_height: number;
transaction_version: number;
}
export interface EventWrapper {
event_name: string;
data: string;
block_height: number;
transaction_version: number;
}
export type EventResults = (
| ConfigUpdatedEvent
| RoleAddedEvent
| RoleRemovedEvent
| OtcOfferCreatedEvent
| OtcOfferFilledEvent
| OtcOfferUpdatedEvent
| OtcOfferCancelledEvent
)[];