@ultrade/shared 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/baseModel/base.model.d.ts +26 -0
  2. package/dist/baseModel/index.d.ts +2 -0
  3. package/dist/common/auth.helper.d.ts +4 -0
  4. package/dist/common/auth.helper.js +367 -0
  5. package/dist/common/awsKms.d.ts +2 -0
  6. package/dist/common/awsKms.js +265 -0
  7. package/dist/common/big-number.helper.d.ts +38 -0
  8. package/dist/common/big-number.helper.js +263 -0
  9. package/dist/common/index.d.ts +11 -0
  10. package/dist/common/index.js +2541 -0
  11. package/dist/common/indexer.helper.d.ts +2 -0
  12. package/dist/common/indexer.helper.js +387 -0
  13. package/dist/common/logger.d.ts +32 -0
  14. package/dist/common/logger.js +188 -0
  15. package/dist/common/mappers/codexAsset.mapper.d.ts +2 -0
  16. package/dist/common/mappers/codexAsset.mapper.js +40 -0
  17. package/dist/common/mappers/codexBalance.mapper.d.ts +2 -0
  18. package/dist/common/mappers/codexBalance.mapper.js +38 -0
  19. package/dist/common/mappers/index.d.ts +3 -0
  20. package/dist/common/mappers/index.js +1421 -0
  21. package/dist/common/mappers/trade.mapper.d.ts +6 -0
  22. package/dist/common/mappers/trade.mapper.js +1343 -0
  23. package/dist/common/migration.helpers.d.ts +4 -0
  24. package/dist/common/migration.helpers.js +44 -0
  25. package/dist/common/redis.helper.d.ts +27 -0
  26. package/dist/common/redis.helper.js +269 -0
  27. package/dist/common/secret.helper.d.ts +28 -0
  28. package/dist/common/secret.helper.js +144 -0
  29. package/dist/common/timestamp.helper.d.ts +1 -0
  30. package/dist/common/timestamp.helper.js +41 -0
  31. package/dist/common/utils/assert.d.ts +1 -0
  32. package/dist/common/utils/assert.js +32 -0
  33. package/dist/common/utils/decode.d.ts +5 -0
  34. package/dist/common/utils/decode.js +206 -0
  35. package/dist/common/utils/index.d.ts +9 -0
  36. package/dist/common/utils/index.js +122 -0
  37. package/dist/common/utils/social.d.ts +1 -0
  38. package/dist/common/utils/social.js +30 -0
  39. package/dist/common/utils/stat.d.ts +1 -0
  40. package/dist/common/utils/stat.js +274 -0
  41. package/dist/constants/allowedUrls.d.ts +1 -0
  42. package/dist/constants/auth.d.ts +2 -0
  43. package/dist/constants/cctp.d.ts +3 -0
  44. package/dist/constants/codex.d.ts +11 -0
  45. package/dist/constants/env.d.ts +6 -0
  46. package/dist/constants/index.d.ts +7 -0
  47. package/dist/constants/index.js +455 -0
  48. package/dist/constants/queue.d.ts +39 -0
  49. package/dist/constants/response.d.ts +82 -0
  50. package/dist/constants/settings.d.ts +2 -0
  51. package/dist/constants/social.d.ts +3 -0
  52. package/dist/constants/withdrawalWalletsMessage.d.ts +1 -0
  53. package/dist/enums/chains.enum.d.ts +50 -0
  54. package/dist/enums/db/account/index.d.ts +19 -0
  55. package/dist/enums/db/affiliate.enum.d.ts +7 -0
  56. package/dist/enums/db/available-pair-settings.enum.d.ts +12 -0
  57. package/dist/enums/db/chains.d.ts +30 -0
  58. package/dist/enums/db/common.enum.d.ts +4 -0
  59. package/dist/enums/db/component/index.d.ts +22 -0
  60. package/dist/enums/db/index.d.ts +21 -0
  61. package/dist/enums/db/market-maker.enum.d.ts +15 -0
  62. package/dist/enums/db/notification-center/userNotification.enum.d.ts +36 -0
  63. package/dist/enums/db/order-side.enum.d.ts +5 -0
  64. package/dist/enums/db/order-status.enum.d.ts +8 -0
  65. package/dist/enums/db/order-type.enum.d.ts +7 -0
  66. package/dist/enums/db/pending-actions.enum.d.ts +6 -0
  67. package/dist/enums/db/relayer.enum.d.ts +23 -0
  68. package/dist/enums/db/setting-type.enum.d.ts +8 -0
  69. package/dist/enums/db/social-action.enum.d.ts +24 -0
  70. package/dist/enums/db/social-prompt.enum.d.ts +8 -0
  71. package/dist/enums/db/social.enum.d.ts +10 -0
  72. package/dist/enums/db/state-type.enum.d.ts +9 -0
  73. package/dist/enums/db/trade.enums.d.ts +10 -0
  74. package/dist/enums/db/tradingKeyType.enum.d.ts +4 -0
  75. package/dist/enums/db/upgrade.enum.d.ts +5 -0
  76. package/dist/enums/db/withdrawal-wallet.enum.d.ts +5 -0
  77. package/dist/enums/index.d.ts +5 -0
  78. package/dist/enums/index.js +893 -0
  79. package/dist/enums/maintenanceMode.enum.d.ts +10 -0
  80. package/dist/enums/notification.enum.d.ts +7 -0
  81. package/dist/enums/social.enum.d.ts +10 -0
  82. package/dist/helpers/Encoding.d.ts +33 -0
  83. package/dist/helpers/Encoding.js +318 -0
  84. package/dist/helpers/algo.helper.d.ts +14 -0
  85. package/dist/helpers/algo.helper.js +1211 -0
  86. package/dist/helpers/api.helper.d.ts +16 -0
  87. package/dist/helpers/api.helper.js +1652 -0
  88. package/dist/helpers/assert.helper.d.ts +10 -0
  89. package/dist/helpers/assert.helper.js +1677 -0
  90. package/dist/helpers/atomic.helper.d.ts +21 -0
  91. package/dist/helpers/atomic.helper.js +712 -0
  92. package/dist/helpers/balance.helper.d.ts +13 -0
  93. package/dist/helpers/balance.helper.js +4330 -0
  94. package/dist/helpers/codex/common.helper.d.ts +24 -0
  95. package/dist/helpers/codex/common.helper.js +4246 -0
  96. package/dist/helpers/codex/index.d.ts +6 -0
  97. package/dist/helpers/codex/index.js +4246 -0
  98. package/dist/helpers/codex/mbr.helper.d.ts +6 -0
  99. package/dist/helpers/codex/mbr.helper.js +4246 -0
  100. package/dist/helpers/codex/mna.helper.d.ts +2 -0
  101. package/dist/helpers/codex/mna.helper.js +4246 -0
  102. package/dist/helpers/codex/order.helper.d.ts +6 -0
  103. package/dist/helpers/codex/order.helper.js +4246 -0
  104. package/dist/helpers/codex/setGlobal.helper.d.ts +27 -0
  105. package/dist/helpers/codex/setGlobal.helper.js +4312 -0
  106. package/dist/helpers/codex/transfer.helper.d.ts +21 -0
  107. package/dist/helpers/codex/transfer.helper.js +4246 -0
  108. package/dist/helpers/codex/txn.helper.d.ts +13 -0
  109. package/dist/helpers/codex/txn.helper.js +4246 -0
  110. package/dist/helpers/codex.helper.d.ts +106 -0
  111. package/dist/helpers/codex.helper.js +4246 -0
  112. package/dist/helpers/email.helper.d.ts +5 -0
  113. package/dist/helpers/email.helper.js +112 -0
  114. package/dist/helpers/eth.helper.d.ts +12 -0
  115. package/dist/helpers/eth.helper.js +4246 -0
  116. package/dist/helpers/hummingbots.helper.d.ts +2 -0
  117. package/dist/helpers/hummingbots.helper.js +163 -0
  118. package/dist/helpers/index.d.ts +5 -0
  119. package/dist/helpers/index.js +837 -0
  120. package/dist/helpers/interval.helpers.d.ts +9 -0
  121. package/dist/helpers/interval.helpers.js +110 -0
  122. package/dist/helpers/liquidity.helper.d.ts +6 -0
  123. package/dist/helpers/liquidity.helper.js +81 -0
  124. package/dist/helpers/order.helper.d.ts +7 -0
  125. package/dist/helpers/order.helper.js +946 -0
  126. package/dist/helpers/pair.helper.d.ts +9 -0
  127. package/dist/helpers/pair.helper.js +938 -0
  128. package/dist/helpers/pointSystem.helper.d.ts +14 -0
  129. package/dist/helpers/pointSystem.helper.js +392 -0
  130. package/dist/helpers/ticker.helpers.d.ts +8 -0
  131. package/dist/helpers/ticker.helpers.js +358 -0
  132. package/dist/helpers/vaa.helper.d.ts +2 -0
  133. package/dist/helpers/vaa.helper.js +4350 -0
  134. package/dist/helpers/withdraw.helper.d.ts +14 -0
  135. package/dist/helpers/withdraw.helper.js +4784 -0
  136. package/dist/interfaces/accountInfo.interface.d.ts +15 -0
  137. package/dist/interfaces/algostreamer/index.d.ts +49 -0
  138. package/dist/interfaces/api/affiliate.interface.d.ts +71 -0
  139. package/dist/interfaces/cache.interface.d.ts +25 -0
  140. package/dist/interfaces/confirmed-txn.interface.d.ts +46 -0
  141. package/dist/interfaces/controller.interface.d.ts +6 -0
  142. package/dist/interfaces/db/baseModel.interface.d.ts +5 -0
  143. package/dist/interfaces/db/hummingbot/index.d.ts +18 -0
  144. package/dist/interfaces/db/index.d.ts +10 -0
  145. package/dist/interfaces/db/market/index.d.ts +313 -0
  146. package/dist/interfaces/db/marketing/index.d.ts +48 -0
  147. package/dist/interfaces/db/notification_center/index.d.ts +33 -0
  148. package/dist/interfaces/db/relayer/index.d.ts +56 -0
  149. package/dist/interfaces/db/social/index.d.ts +188 -0
  150. package/dist/interfaces/db/softDeleteModel.interface.d.ts +4 -0
  151. package/dist/interfaces/db/white_label/index.d.ts +161 -0
  152. package/dist/interfaces/db/withdrawal_wallets/index.d.ts +12 -0
  153. package/dist/interfaces/dto/index.d.ts +62 -0
  154. package/dist/interfaces/emailService.interface.d.ts +4 -0
  155. package/dist/interfaces/index.d.ts +17 -0
  156. package/dist/interfaces/index.js +1319 -0
  157. package/dist/interfaces/kmsService.interface.d.ts +4 -0
  158. package/dist/interfaces/last-look-trade.interface.d.ts +10 -0
  159. package/dist/interfaces/market.interface.d.ts +17 -0
  160. package/dist/interfaces/order.interface.d.ts +162 -0
  161. package/dist/interfaces/pair.interface.d.ts +10 -0
  162. package/dist/interfaces/query.interface.d.ts +6 -0
  163. package/dist/interfaces/services/accountCache.interface.d.ts +15 -0
  164. package/dist/interfaces/services/algod.interface.d.ts +5 -0
  165. package/dist/interfaces/services/balances.interface.d.ts +11 -0
  166. package/dist/interfaces/services/coin-market-cap.interface.d.ts +124 -0
  167. package/dist/interfaces/services/index.d.ts +8 -0
  168. package/dist/interfaces/services/price-model.interface.d.ts +4 -0
  169. package/dist/interfaces/services/price-service.interface.d.ts +8 -0
  170. package/dist/interfaces/services/socialActivity.interface.d.ts +48 -0
  171. package/dist/interfaces/services/tmc.interface.d.ts +9 -0
  172. package/dist/interfaces/streaming.interface.d.ts +95 -0
  173. package/dist/interfaces/timestream.interface.d.ts +29 -0
  174. package/dist/interfaces/trading.interface.d.ts +235 -0
  175. package/dist/interfaces/tradingKey.interface.d.ts +26 -0
  176. package/dist/interfaces/transfer.interface.d.ts +12 -0
  177. package/dist/interfaces/wallet.interface.d.ts +89 -0
  178. package/dist/interfaces/withdrawalWallets.interface.d.ts +14 -0
  179. package/dist/types/algo-order.type.d.ts +10 -0
  180. package/dist/types/amm/amm.d.ts +163 -0
  181. package/dist/types/api/request.types.d.ts +99 -0
  182. package/dist/types/codex.types.d.ts +28 -0
  183. package/dist/types/hummingbots.types.d.ts +23 -0
  184. package/dist/types/index.d.ts +8 -0
  185. package/dist/types/index.js +362 -0
  186. package/dist/types/notification.type.d.ts +10 -0
  187. package/dist/types/settings.type.d.ts +162 -0
  188. package/dist/types/state.type.d.ts +4 -0
  189. package/package.json +78 -0
@@ -0,0 +1,4 @@
1
+ export interface IKmsService {
2
+ decrypt(value: string): Promise<string>;
3
+ encrypt(value: string): Promise<string>;
4
+ }
@@ -0,0 +1,10 @@
1
+ import { LastLookAction } from "@enums";
2
+ export interface LastLookTrade {
3
+ userId: string;
4
+ tradeId: number;
5
+ tradeAmount: string;
6
+ tradePrice: string;
7
+ orderId: number;
8
+ action: LastLookAction;
9
+ timeout: number;
10
+ }
@@ -0,0 +1,17 @@
1
+ export interface IFeeRatesParams {
2
+ pairId?: number;
3
+ walletAddress?: string;
4
+ companyId?: number;
5
+ }
6
+ export interface IFeeRatesResponse {
7
+ takerFee: number;
8
+ makerFee: number;
9
+ }
10
+ export interface GetHistoryParams {
11
+ symbol: string;
12
+ interval: string;
13
+ startTime: number;
14
+ endTime: number;
15
+ limit: number;
16
+ page: number;
17
+ }
@@ -0,0 +1,162 @@
1
+ import { OrderSide, OrderType, Chains } from "@enums";
2
+ import { IRangeParamsDto } from "@interfaces";
3
+ export interface IOrderDataInMsg {
4
+ address: string;
5
+ chainId: Chains;
6
+ orderSide: OrderSideShort;
7
+ orderType: OrderTypeShort;
8
+ price: string;
9
+ amount: string;
10
+ expiredTime: number;
11
+ random: number;
12
+ companyId: number;
13
+ decimalPrice: number | string;
14
+ version: number;
15
+ }
16
+ export interface IOrderData extends IOrderDataInMsg {
17
+ expiredDate?: Date;
18
+ baseTokenAddress: number | string;
19
+ baseTokenChainId: number;
20
+ priceTokenAddress: number | string;
21
+ priceTokenChainId: number;
22
+ }
23
+ export type OrderSideShort = "B" | "S";
24
+ export type OrderTypeShort = "L" | "I" | "P" | "M";
25
+ export interface ICreateOrderData extends IOrderData {
26
+ baseChain: string;
27
+ baseCurrency: string;
28
+ baseDecimal: number;
29
+ priceChain: string;
30
+ priceCurrency: string;
31
+ priceDecimal: number;
32
+ }
33
+ export interface ICancelOrderMsgData {
34
+ orderId: number;
35
+ orderSide: OrderSideShort;
36
+ orderType: OrderTypeShort;
37
+ amount: string;
38
+ price: string;
39
+ baseTokenAddress: number | string;
40
+ baseChain: string;
41
+ baseCurrency: string;
42
+ baseDecimal: number;
43
+ priceTokenAddress: number | string;
44
+ priceChain: string;
45
+ priceCurrency: string;
46
+ priceDecimal: number;
47
+ }
48
+ export interface IGetOrdersDto extends IRangeParamsDto {
49
+ symbol?: string;
50
+ status?: number;
51
+ type?: number;
52
+ companyId?: number;
53
+ }
54
+ export interface IOrdersQuery extends IGetOrdersDto {
55
+ userId: string;
56
+ pairId?: number;
57
+ }
58
+ export interface ICreateOrderDto extends IOrderDataInMsg {
59
+ pairId: number;
60
+ }
61
+ export interface ICancelOrderData {
62
+ orderId: number;
63
+ address: string;
64
+ tradingKey?: string;
65
+ }
66
+ export interface ICancelOrdersData {
67
+ orderIds?: Array<number>;
68
+ pairId?: number;
69
+ }
70
+ export interface IOpenOrderDto {
71
+ orderId: number;
72
+ pair: string;
73
+ price: string;
74
+ amount: string;
75
+ filledAmount: string;
76
+ total: string;
77
+ filledTotal: string;
78
+ userId: string;
79
+ chainId: number;
80
+ side: OrderSide;
81
+ companyId: number;
82
+ expiryAt: Date;
83
+ directSettle?: boolean;
84
+ type: OrderType;
85
+ message: string;
86
+ signature: string;
87
+ tradingKey: string;
88
+ isRematch?: boolean;
89
+ }
90
+ export interface IOpenRematchOrderDto extends IOpenOrderDto {
91
+ originalAmount?: string;
92
+ originalFilledAmount?: string;
93
+ originalTotal?: string;
94
+ originalFilledTotal?: string;
95
+ }
96
+ export interface IOpenOrder {
97
+ orderId: number;
98
+ pair: string;
99
+ price: number;
100
+ amount: string;
101
+ filledAmount: string;
102
+ total: string;
103
+ filledTotal: string;
104
+ userId: string;
105
+ chainId: number;
106
+ side: OrderSide;
107
+ companyId: number;
108
+ directSettle?: boolean;
109
+ type: OrderType;
110
+ isRematch?: boolean;
111
+ expiryAt: Date;
112
+ message: string;
113
+ signature: string;
114
+ tradingKey: string;
115
+ }
116
+ export interface CancelOrder {
117
+ orderId: number;
118
+ pairId: number;
119
+ pair: string;
120
+ price: string;
121
+ side: OrderSide;
122
+ type: OrderType;
123
+ userId: string;
124
+ chainId: number;
125
+ amount: string;
126
+ filledAmount: string;
127
+ }
128
+ export interface ProcessOrder {
129
+ pair: string;
130
+ pairId: number;
131
+ side: number;
132
+ type: OrderType;
133
+ price: string;
134
+ amount: string;
135
+ total: string;
136
+ userId: string;
137
+ chainId: number;
138
+ companyId: number;
139
+ expiryAt: Date;
140
+ message: string;
141
+ signature: string;
142
+ tradingKey?: string;
143
+ }
144
+ export interface ICancelOrderDto {
145
+ orderId: number;
146
+ price: string;
147
+ side: OrderSide;
148
+ }
149
+ interface ICancelOrderOperation {
150
+ operation: "cancel";
151
+ orderData: ICancelOrderDto;
152
+ }
153
+ interface IAddOrderOperation {
154
+ operation: "add";
155
+ orderData: IOpenOrderDto;
156
+ }
157
+ interface IRematchOrderOperation {
158
+ operation: "rematch";
159
+ orderData: IOpenOrderDto;
160
+ }
161
+ export type IOrderOperation = ICancelOrderOperation | IAddOrderOperation | IRematchOrderOperation;
162
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface AddressChain {
2
+ address: string;
3
+ chainId: number;
4
+ }
5
+ export interface PairToken extends AddressChain {
6
+ }
7
+ export interface PairTokenInfo extends PairToken {
8
+ name: string;
9
+ decimal: number;
10
+ }
@@ -0,0 +1,6 @@
1
+ export interface IRangeParamsDto {
2
+ startTime?: string;
3
+ endTime?: string;
4
+ limit?: string;
5
+ page?: string;
6
+ }
@@ -0,0 +1,15 @@
1
+ import { IAccount, IAccountInfo } from '@interfaces';
2
+ import { LastLookAction, MarketMakerRebateTier, KYCAuthenticationStatus } from '@enums';
3
+ export interface AccountInfo extends IAccount, IAccountInfo {
4
+ lastLook?: {
5
+ defaultAction: LastLookAction;
6
+ defaultTimeout: number;
7
+ };
8
+ loggedOnce?: boolean;
9
+ lastTradedAt?: Date;
10
+ tradesPerDay?: number;
11
+ marketMakerTier: MarketMakerRebateTier | 0;
12
+ mmTakerFee: number;
13
+ kycStatus?: KYCAuthenticationStatus;
14
+ signInCompanyId?: number;
15
+ }
@@ -0,0 +1,5 @@
1
+ export interface AlgodClientOptions {
2
+ url: string;
3
+ token?: string;
4
+ port?: string | number;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { BalanceActionType, AddressChain } from '@interfaces';
2
+ export type IBalanceInfo = {
3
+ account: AddressChain;
4
+ token: AddressChain;
5
+ amount: string;
6
+ locked?: string;
7
+ action?: BalanceActionType;
8
+ actionId?: number;
9
+ operation?: 'update';
10
+ ts?: number;
11
+ };
@@ -0,0 +1,124 @@
1
+ export type CoinMarketCapConfig = {
2
+ apiToken: string;
3
+ };
4
+ export type CoinMarketCapAsset = {
5
+ id: number;
6
+ rank: number;
7
+ name: string;
8
+ symbol: string;
9
+ slug: string;
10
+ is_active: number;
11
+ first_historical_data: string;
12
+ last_historical_data: string;
13
+ platform: null | {
14
+ id: number;
15
+ name: string;
16
+ symbol: string;
17
+ slug: string;
18
+ token_address: string;
19
+ };
20
+ };
21
+ export type CoinMarketCapResponseStatus = {
22
+ timestamp: string;
23
+ error_code: number;
24
+ error_message: string | null;
25
+ elapsed: number;
26
+ credit_count: number;
27
+ };
28
+ export type CryptocurrencyMapResponse = {
29
+ data: CoinMarketCapAsset[];
30
+ status: CoinMarketCapResponseStatus;
31
+ };
32
+ export type CryptocurrencyQuotesLatestResponse = {
33
+ data: {
34
+ [id: string]: {
35
+ id: number;
36
+ name: string;
37
+ symbol: string;
38
+ slug: string;
39
+ is_active: number;
40
+ is_fiat: number;
41
+ circulating_supply: number;
42
+ total_supply: number;
43
+ max_supply: number | null;
44
+ date_added: string;
45
+ num_market_pairs: number;
46
+ cmc_rank: number;
47
+ last_updated: string;
48
+ tags: string[];
49
+ platform: null | {
50
+ id: number;
51
+ name: string;
52
+ symbol: string;
53
+ slug: string;
54
+ token_address: string;
55
+ };
56
+ self_reported_circulating_supply: number | null;
57
+ self_reported_market_cap: number | null;
58
+ quote: {
59
+ USD: {
60
+ price: number;
61
+ volume_24h: number;
62
+ volume_change_24h: number;
63
+ percent_change_1h: number;
64
+ percent_change_24h: number;
65
+ percent_change_7d: number;
66
+ percent_change_30d: number;
67
+ market_cap: number;
68
+ market_cap_dominance: number;
69
+ fully_diluted_market_cap: number;
70
+ last_updated: string;
71
+ };
72
+ };
73
+ };
74
+ };
75
+ status: CoinMarketCapResponseStatus;
76
+ };
77
+ export interface CryptocurrencyInfoResponse {
78
+ data: Record<string, CryptocurrencyInfo>;
79
+ status: CoinMarketCapStatus;
80
+ }
81
+ export interface CryptocurrencyInfo {
82
+ urls: {
83
+ website: string[];
84
+ technical_doc: string[];
85
+ twitter: string[];
86
+ reddit: string[];
87
+ message_board: string[];
88
+ announcement: string[];
89
+ chat: string[];
90
+ explorer: string[];
91
+ source_code: string[];
92
+ };
93
+ logo: string;
94
+ id: number;
95
+ name: string;
96
+ symbol: string;
97
+ slug: string;
98
+ description: string;
99
+ notice?: string | null;
100
+ date_added: string;
101
+ date_launched: string;
102
+ tags: string[];
103
+ category: 'coin' | 'token';
104
+ platform: PlatformInfo | null;
105
+ self_reported_circulating_supply?: number | null;
106
+ self_reported_market_cap?: number | null;
107
+ self_reported_tags?: string[] | null;
108
+ infinite_supply?: boolean;
109
+ }
110
+ export interface PlatformInfo {
111
+ id: number;
112
+ name: string;
113
+ slug: string;
114
+ symbol: string;
115
+ token_address: string;
116
+ }
117
+ export interface CoinMarketCapStatus {
118
+ timestamp: string;
119
+ error_code: number;
120
+ error_message: string | null;
121
+ elapsed: number;
122
+ credit_count: number;
123
+ notice: string | null;
124
+ }
@@ -0,0 +1,8 @@
1
+ export * from './accountCache.interface';
2
+ export * from './algod.interface';
3
+ export * from './balances.interface';
4
+ export * from './coin-market-cap.interface';
5
+ export * from './price-model.interface';
6
+ export * from './price-service.interface';
7
+ export * from './socialActivity.interface';
8
+ export * from './tmc.interface';
@@ -0,0 +1,4 @@
1
+ import { PriceObject } from '@interfaces';
2
+ export interface IPriceModel extends Map<number, number> {
3
+ serialize(): PriceObject;
4
+ }
@@ -0,0 +1,8 @@
1
+ import { ICodexAsset, IPriceModel } from '@interfaces';
2
+ export interface PriceProvider {
3
+ getPrices(assets: Pick<ICodexAsset, 'id' | 'coinmarketcapId'>[]): Promise<IPriceModel | null>;
4
+ compareAssetWithCoinmarketId(assets: ICodexAsset[], isMainnet: boolean): Promise<ICodexAsset[]>;
5
+ }
6
+ export type PriceObject = {
7
+ [key: string]: number;
8
+ };
@@ -0,0 +1,48 @@
1
+ import { AccountInfo } from '@interfaces';
2
+ export interface SocialAccountInfo extends AccountInfo {
3
+ companyId: number;
4
+ companyWallet?: string;
5
+ }
6
+ export type SaveCompanyTweet = {
7
+ tweetId: string;
8
+ companyId: number;
9
+ createdAt: Date;
10
+ text: string;
11
+ isProcessed: boolean;
12
+ isComment: boolean;
13
+ expiresAt?: Date;
14
+ seasonId: number;
15
+ };
16
+ export type ConnectTelegram = {
17
+ telegramId: string;
18
+ userName: string;
19
+ companyId: number;
20
+ };
21
+ export type TwitterAccSettings = {
22
+ refreshToken?: string;
23
+ canFollowAccounts: boolean;
24
+ canCreateTweets: boolean;
25
+ canLikeTweets: boolean;
26
+ };
27
+ export type ConnectTwitter = {
28
+ userName: string;
29
+ address: string;
30
+ id: string;
31
+ name: string;
32
+ companyId: number;
33
+ settings: TwitterAccSettings;
34
+ };
35
+ export type ConnectDiscord = {
36
+ userName: string;
37
+ id: string;
38
+ name: string;
39
+ companyId: number;
40
+ };
41
+ export type SaveAction<ActionType> = {
42
+ socialId?: string;
43
+ userName?: string;
44
+ actionId: ActionType;
45
+ companyId: number;
46
+ referenceId?: string;
47
+ seasonId: number;
48
+ };
@@ -0,0 +1,9 @@
1
+ export interface IEvmChainInfo {
2
+ providerUrl: string;
3
+ token: string;
4
+ tmc: string;
5
+ dispencer: string;
6
+ wss: string;
7
+ chainId: string;
8
+ whChainId: string;
9
+ }
@@ -0,0 +1,95 @@
1
+ import { OperationStatusEnum, OrderSide, OrderStatus, OrderType } from "@enums";
2
+ import { Notification } from "@types";
3
+ export interface CancelStreamTrade {
4
+ pairId: number;
5
+ pairKey: string;
6
+ userId: string;
7
+ orderId: number;
8
+ side: OrderSide;
9
+ isBuyer: boolean;
10
+ isMaker: boolean;
11
+ tradeId: number;
12
+ amount: string;
13
+ price: string;
14
+ total: string;
15
+ fee: number;
16
+ created: number;
17
+ buyOrderId: number;
18
+ sellOrderId: number;
19
+ }
20
+ export interface CodexBalances {
21
+ amount: number;
22
+ loginAddress: string;
23
+ loginChainId: string;
24
+ tokenChainId: string;
25
+ tokenId: string;
26
+ }
27
+ export interface IStreamTransfer {
28
+ transferId: number;
29
+ completedAt?: number;
30
+ txnId?: string;
31
+ loginAddress: string;
32
+ status: OperationStatusEnum;
33
+ }
34
+ export interface IAddStreamOrder {
35
+ type: 'add';
36
+ orderData: IAddStreamOrderData;
37
+ }
38
+ export interface ICancelStreamOrder {
39
+ type: 'cancel';
40
+ orderData: IUpdateStreamOrderData;
41
+ }
42
+ export interface IUpdateStreamOrder {
43
+ type: 'update';
44
+ orderData: IUpdateStreamOrderData;
45
+ }
46
+ export interface IAddStreamOrderData {
47
+ userId: string;
48
+ pairId: number;
49
+ id: number;
50
+ side: OrderSide;
51
+ type: OrderType;
52
+ price: string;
53
+ amount: string;
54
+ total: string;
55
+ createdAt: number;
56
+ }
57
+ export type AddOrderEvent = [
58
+ number,
59
+ string,
60
+ string,
61
+ number,
62
+ number,
63
+ number,
64
+ string,
65
+ string,
66
+ string,
67
+ number
68
+ ];
69
+ export interface IUpdateStreamOrderData {
70
+ userId: string;
71
+ pairId: number;
72
+ id: number;
73
+ status: OrderStatus;
74
+ executedPrice: string;
75
+ filledAmount: string;
76
+ filledTotal: string;
77
+ updatedAt: number;
78
+ completedAt?: number;
79
+ }
80
+ export type UpdateOrderEvent = [
81
+ number,
82
+ string,
83
+ string,
84
+ number,
85
+ number,
86
+ string,
87
+ string,
88
+ string,
89
+ number,
90
+ number
91
+ ];
92
+ export type NewNotificaionEvent = Notification & {
93
+ companyId: number;
94
+ address: string | null;
95
+ };
@@ -0,0 +1,29 @@
1
+ export interface Candle {
2
+ open: number;
3
+ high: number;
4
+ low: number;
5
+ close: number;
6
+ volume: number;
7
+ quote: number;
8
+ timestamp: number;
9
+ tradeCount: number;
10
+ }
11
+ export interface Ticker {
12
+ t: number;
13
+ v: number;
14
+ h: number;
15
+ l: number;
16
+ o: number;
17
+ c: number;
18
+ q: number;
19
+ }
20
+ export interface CompanyAffiliateRevenue {
21
+ affiliateId: number;
22
+ totalAffiliateRevenue: number;
23
+ totalCompanyRevenue: number;
24
+ totalTradingVolume: number;
25
+ }
26
+ export interface AffiliateRevenueSnapshot {
27
+ time: number;
28
+ totalRevenue: number;
29
+ }