@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,235 @@
1
+ import { OrderSide, OrderType, TradeStatus } from "@enums";
2
+ import { IPairSetting, PairToken, PairTokenInfo } from "@interfaces";
3
+ export interface InsertTrade {
4
+ buy_order_id?: number;
5
+ sell_order_id?: number;
6
+ buy_user_id?: string;
7
+ sell_user_id?: string;
8
+ price: string;
9
+ amount: string;
10
+ total: string;
11
+ pairId: number;
12
+ status?: TradeStatus;
13
+ createdTimestamp?: number;
14
+ }
15
+ export interface IMatchingTrade {
16
+ pair: string;
17
+ amount: string;
18
+ price: string;
19
+ total: string;
20
+ maker: IMatchingOrder;
21
+ taker: IMatchingOrder | null;
22
+ time: number;
23
+ }
24
+ export interface ICancelingOrder {
25
+ id: number;
26
+ pairId: number;
27
+ userId: string;
28
+ chainId: number;
29
+ price: string;
30
+ amount: string;
31
+ total: string;
32
+ side: OrderSide;
33
+ type: OrderType;
34
+ }
35
+ export interface IMatchingOrder extends ICancelingOrder {
36
+ orderId: number;
37
+ companyId: number;
38
+ expiryAt: Date;
39
+ message: string;
40
+ signature: string;
41
+ tradingKey: string;
42
+ }
43
+ export interface ISettlementOrder extends IMatchingOrder {
44
+ collectionWallet: string;
45
+ collectionWalletChainId: number;
46
+ feeShare: number;
47
+ bdShare?: MatchShareWallet;
48
+ affiliateShare?: MatchShareWallet;
49
+ }
50
+ export type TradeFailReason = 'LOGIC' | 'MIN_BALANCE' | 'NETWORK' | 'TIMEOUT';
51
+ export type TradeSettleResult = {
52
+ success: boolean;
53
+ reason?: TradeFailReason;
54
+ };
55
+ export interface TradeSettle {
56
+ trade_id: number;
57
+ pairId: number;
58
+ created_at: Date;
59
+ buy: ISettlementOrder | null;
60
+ sell: ISettlementOrder | null;
61
+ baseAsset?: PairToken;
62
+ priceAsset?: PairToken;
63
+ amount: string;
64
+ total: string;
65
+ price: string;
66
+ pair: string;
67
+ maker_tier?: number;
68
+ market_maker_tier?: number;
69
+ market_maker_taker_fee?: number;
70
+ pair_maker_fee?: number;
71
+ pair_taker_fee?: number;
72
+ taker_tier?: number;
73
+ superAppId?: number;
74
+ superCompany: MatchCompany;
75
+ expiredOrderBoxes?: string[];
76
+ }
77
+ export interface MatchArgs {
78
+ id: bigint;
79
+ amount: bigint;
80
+ buy: MatchOrder;
81
+ sell: MatchOrder;
82
+ baseAsset: PairToken;
83
+ priceAsset: PairToken;
84
+ fee: MatchFee;
85
+ superCompany: MatchCompany;
86
+ superAppId: number;
87
+ }
88
+ export interface ICollectionWallet {
89
+ collectionWallet?: string;
90
+ collectionWalletChainId?: number;
91
+ }
92
+ export interface MatchCompany extends ICollectionWallet {
93
+ collectionWallet: string;
94
+ collectionWalletChainId: number;
95
+ }
96
+ export interface MatchFee {
97
+ b_share: number;
98
+ s_share: number;
99
+ mfee_tier: string;
100
+ tfee_tier: string;
101
+ mmfee_tier: string;
102
+ mm_tfee: number;
103
+ p_mfee: number;
104
+ p_tfee: number;
105
+ bdMaker?: MatchShareWallet;
106
+ bdTaker?: MatchShareWallet;
107
+ afMaker?: MatchShareWallet;
108
+ afTaker?: MatchShareWallet;
109
+ }
110
+ export interface MatchShareWallet {
111
+ address: string;
112
+ chainId: number;
113
+ feeShare: number;
114
+ }
115
+ export interface MatchOrder extends ICollectionWallet {
116
+ id: number;
117
+ address: string;
118
+ chain: number;
119
+ message: string;
120
+ signature: string;
121
+ companyId: number;
122
+ tradingKey?: string;
123
+ }
124
+ export interface IPair {
125
+ id: number;
126
+ pairId: number;
127
+ pair_key: string;
128
+ base_currency: string;
129
+ price_currency: string;
130
+ base_token_id: number;
131
+ base_id: string;
132
+ base_chain_id: number;
133
+ price_token_id: number;
134
+ price_id: string;
135
+ price_chain_id: number;
136
+ price_decimal: number;
137
+ base_decimal: number;
138
+ is_active: any;
139
+ pair_name: string;
140
+ min_price_increment: string;
141
+ min_order_size: string;
142
+ min_size_increment: string;
143
+ created_at: string;
144
+ updated_at: string;
145
+ inuseWithPartners: number[];
146
+ restrictedCountries: string[];
147
+ pairSettings: IPairSetting[];
148
+ scheduled_delistings?: {
149
+ companyId: number;
150
+ scheduledDelistDate: Date;
151
+ disableNewOrders: boolean;
152
+ }[];
153
+ }
154
+ export interface IPairInfo extends IPair {
155
+ baseAsset: PairTokenInfo;
156
+ priceAsset: PairTokenInfo;
157
+ }
158
+ export interface ICompanyPair extends Omit<IPair, 'scheduled_delistings' | 'pairSettings'> {
159
+ pairSettings: {
160
+ [name: string]: string | object;
161
+ };
162
+ delisting_date?: Date;
163
+ new_orders_disabled?: boolean;
164
+ }
165
+ export interface StatData {
166
+ volume?: string | null;
167
+ total?: string | null;
168
+ openPriceIndex?: number | null;
169
+ openPrice?: string | null;
170
+ openPriceTs?: number | null;
171
+ lastPriceCreated?: number | null;
172
+ lastPrice?: string | null;
173
+ earliestPrice?: string | null;
174
+ earliestPriceTs?: number | null;
175
+ highestPrice?: string | null;
176
+ lowestPrice?: string | null;
177
+ }
178
+ export interface DepthSnapshot {
179
+ buy: string[][];
180
+ sell: string[][];
181
+ ts: number;
182
+ }
183
+ export interface DepthUpdate extends DepthSnapshot {
184
+ ask: {
185
+ price: string;
186
+ qty: string;
187
+ };
188
+ bid: {
189
+ price: string;
190
+ qty: string;
191
+ };
192
+ firstUpdateId: number;
193
+ finalUpdateId: number;
194
+ }
195
+ export type TradeInBook = [
196
+ number,
197
+ string,
198
+ string,
199
+ string,
200
+ number,
201
+ boolean
202
+ ];
203
+ export interface IUserTradeEvent {
204
+ pairId: number;
205
+ pairKey: string;
206
+ userId: string;
207
+ orderId: number;
208
+ isBuyer: boolean;
209
+ isMaker: boolean;
210
+ tradeId: number;
211
+ price: string;
212
+ amount: string;
213
+ total: string;
214
+ timestamp: number;
215
+ status: 'Pending' | 'Confirmed' | 'Rejected';
216
+ fee?: string;
217
+ feeTokenId?: number;
218
+ feeTokenDecimal?: number;
219
+ }
220
+ export type UserTradeEvent = [
221
+ number,
222
+ string,
223
+ string,
224
+ number,
225
+ boolean,
226
+ boolean,
227
+ number,
228
+ string,
229
+ string,
230
+ string,
231
+ number,
232
+ string,
233
+ number,
234
+ number
235
+ ];
@@ -0,0 +1,26 @@
1
+ import { TradingKeyType } from "@enums";
2
+ export interface ITradingKeyMessageData {
3
+ tkAddress: string;
4
+ loginAddress: string;
5
+ loginChainId: number;
6
+ expiredDate?: number;
7
+ }
8
+ export interface ITradingKeyData extends ITradingKeyMessageData {
9
+ device?: string;
10
+ type?: TradingKeyType;
11
+ }
12
+ export interface ITradingKeyDto {
13
+ data: ITradingKeyData;
14
+ message: string;
15
+ encoding?: BufferEncoding;
16
+ signature: string;
17
+ }
18
+ export interface TradingKeyView {
19
+ address: string;
20
+ device: string;
21
+ type: TradingKeyType;
22
+ createdAt: Date;
23
+ expiredAt: Date;
24
+ orders: number;
25
+ }
26
+ export { TradingKeyType };
@@ -0,0 +1,12 @@
1
+ export interface ITransferDto {
2
+ transferId: number;
3
+ senderAddress: string;
4
+ recipientAddress: string;
5
+ tokenId: number;
6
+ amount: string;
7
+ status: string;
8
+ expiredAt: Date;
9
+ whitelistId: number | null;
10
+ txnId: string | null;
11
+ completedAt: Date | null;
12
+ }
@@ -0,0 +1,89 @@
1
+ import { ActionTypeEnum, TradeStatus } from "@enums";
2
+ import { IRangeParamsDto } from "./query.interface";
3
+ export type TechnologyType = "ALGORAND" | "EVM" | "SOLANA";
4
+ export declare enum PROVIDERS {
5
+ PERA = "PERA",
6
+ METAMASK = "METAMASK",
7
+ TRUST_WALLET = "TRUST_WALLET",
8
+ PHANTOM = "PHANTOM",
9
+ WALLET_CONNECT = "WALLET_CONNECT",
10
+ SOLANA_MOBILE = "SOLANA_MOBILE",
11
+ SOLFLARE = "SOLFLARE",
12
+ COINBASE = "COINBASE",
13
+ BACKPACK = "BACKPACK",
14
+ MOBILE = "MOBILE"
15
+ }
16
+ export interface DepositData {
17
+ loginAddress: string;
18
+ loginChainId: number;
19
+ }
20
+ export interface IWalletData {
21
+ address: string;
22
+ technology: TechnologyType;
23
+ }
24
+ export interface ILoginData {
25
+ address: string;
26
+ provider: PROVIDERS;
27
+ chain: string;
28
+ referralToken?: string;
29
+ loginMessage?: string;
30
+ }
31
+ export interface IDtwData {
32
+ loginAddress: string;
33
+ loginChainId: number;
34
+ recipient: string;
35
+ recipientChainId: number;
36
+ tkAddress: string;
37
+ expiredDate: number;
38
+ }
39
+ export interface IDtwDto extends ISignedMessage<IDtwData> {
40
+ }
41
+ export interface ISignedMessage<IType> {
42
+ data: IType;
43
+ encoding?: BufferEncoding;
44
+ message: string;
45
+ signature: string;
46
+ }
47
+ export interface ITransferData {
48
+ loginAddress: string;
49
+ loginChainId: number;
50
+ tokenAmount: string;
51
+ tokenIndex: string | number;
52
+ tokenChainId: number;
53
+ recipient: string;
54
+ recipientChainId: number;
55
+ expiredDate: number;
56
+ random: number;
57
+ }
58
+ export interface IWithdrawData extends Omit<ITransferData, "expiredDate"> {
59
+ fee: number;
60
+ isNative: boolean;
61
+ solanaUsdc?: string;
62
+ }
63
+ export interface IWithdrawDto {
64
+ data: IWithdrawData;
65
+ message: string;
66
+ signature: string;
67
+ encoding?: BufferEncoding;
68
+ }
69
+ export interface CollectionWalletDto {
70
+ data: CollectionWalletData;
71
+ message: string;
72
+ signature: string;
73
+ }
74
+ export interface CollectionWalletData {
75
+ loginAddress: string;
76
+ loginChainId: number;
77
+ companyId: number;
78
+ }
79
+ export interface ITradesQuery extends IRangeParamsDto {
80
+ address: string;
81
+ orderId?: number;
82
+ pairId?: number;
83
+ statuses?: TradeStatus[];
84
+ }
85
+ export interface ITransactionsQuery extends IRangeParamsDto {
86
+ tokenId?: number;
87
+ type?: ActionTypeEnum;
88
+ address: string;
89
+ }
@@ -0,0 +1,14 @@
1
+ import { WithdrawalWalletType, ISignedMessage } from "@interfaces";
2
+ export interface WithdrawalWalletData {
3
+ address: string;
4
+ name: string;
5
+ type: WithdrawalWalletType;
6
+ description?: string;
7
+ }
8
+ export interface CreateWithdrawalWallet extends ISignedMessage<WithdrawalWalletData> {
9
+ }
10
+ export interface UpdateWithdrawalWalletData extends WithdrawalWalletData {
11
+ oldAddress: string;
12
+ }
13
+ export interface UpdateWithdrawalWallet extends ISignedMessage<UpdateWithdrawalWalletData> {
14
+ }
@@ -0,0 +1,10 @@
1
+ import { OrderSideShort, OrderTypeShort } from "../interfaces/order.interface";
2
+ export type AlgoOrder = {
3
+ orderID: number;
4
+ side: OrderSideShort;
5
+ price: string;
6
+ amount: string;
7
+ type: OrderTypeShort;
8
+ directSettle: any;
9
+ storageSlot: any;
10
+ };
@@ -0,0 +1,163 @@
1
+ export interface PoolInfo {
2
+ appId: number | string;
3
+ asset1Id: number;
4
+ asset1UnitName: string;
5
+ asset1Decimals: number;
6
+ asset2Id: number;
7
+ asset2UnitName: string;
8
+ asset2Decimals: number;
9
+ fee: number;
10
+ poolTokenId: number;
11
+ poolTokenDecimals: number;
12
+ poolType: string;
13
+ }
14
+ export interface PoolState {
15
+ asset1Amount: bigint;
16
+ asset2Amount: bigint;
17
+ issuedAmount?: bigint;
18
+ fee: number;
19
+ appId: number | string;
20
+ }
21
+ export type PoolStateRedis = Omit<PoolState, 'asset1Amount' | 'asset2Amount'> & {
22
+ asset1Amount: string;
23
+ asset2Amount: string;
24
+ };
25
+ export interface PoolConnector {
26
+ getPoolsInfo(): Promise<PoolInfo[]>;
27
+ getPoolState({ appId, asset1Id, asset2Id, }: {
28
+ appId: number | string;
29
+ asset1Id: number;
30
+ asset2Id: number;
31
+ }): Promise<PoolState[]>;
32
+ getAmmId(): number;
33
+ }
34
+ export declare enum PoolType {
35
+ STABLE = "stable",
36
+ CPMM = "constant_product",
37
+ LEND = "lending",
38
+ NANO = "nano",
39
+ MVNANO = "mvnano"
40
+ }
41
+ export declare enum AmmIds {
42
+ ultrade = 0,
43
+ tinyman = 1,
44
+ pactfi = 2,
45
+ humble = 3,
46
+ algofi = 4
47
+ }
48
+ export declare enum AmmChars {
49
+ ultrade = "U",
50
+ tinyman = "T",
51
+ pactfi = "P",
52
+ humble = "H",
53
+ algofi = "A"
54
+ }
55
+ export declare enum AmmForeignResources {
56
+ ultrade = 1,
57
+ tinyman = 2,
58
+ pactfi = 1,
59
+ humble = 1,
60
+ algofi = 2
61
+ }
62
+ export interface Swap {
63
+ splitAmt: number | bigint;
64
+ route: RouteWithAmount;
65
+ }
66
+ export interface Pool {
67
+ amm: number;
68
+ appID: number | string;
69
+ assetA: number;
70
+ assetB: number;
71
+ fee: number;
72
+ }
73
+ export interface SwapData {
74
+ receiveAmt: number | bigint;
75
+ swaps: Swap[];
76
+ }
77
+ export interface FindSorResult {
78
+ receiveAmt: number;
79
+ swaps: Array<{
80
+ splitAmt: number;
81
+ route: VirtualPool;
82
+ }>;
83
+ }
84
+ export interface SwapDataResponse extends SwapData {
85
+ txns?: Array<string>;
86
+ fee?: number;
87
+ message?: string;
88
+ }
89
+ export interface PoolWithAmounts extends Pool {
90
+ assetA_amount: bigint | number;
91
+ assetB_amount: bigint | number;
92
+ foreign_resources: number;
93
+ }
94
+ export interface Route {
95
+ assetA: number;
96
+ assetB: number;
97
+ pools: PoolWithAmounts[];
98
+ }
99
+ export type RoutePools = Array<string | number>[];
100
+ export interface RouteChunk {
101
+ assetA: number;
102
+ assetB: number;
103
+ pools: RoutePools;
104
+ }
105
+ export type TxnType = 'asset_transfer' | 'swap';
106
+ export type SwapArray = [TxnType, number, number];
107
+ export type Txn = ([TxnType, number | bigint] | SwapArray)[];
108
+ export interface TxnGroup {
109
+ routCnt: number;
110
+ txnData: Txn[];
111
+ }
112
+ export interface RouteWithAmount {
113
+ assetA: number;
114
+ assetB: number;
115
+ pools: PoolWithAmounts[];
116
+ }
117
+ export interface VirtualPool extends RouteWithAmount {
118
+ vAssetA: number;
119
+ vAssetB: number;
120
+ min_swap_amount: number;
121
+ }
122
+ export interface VirtualPoolList {
123
+ assetA: number;
124
+ assetB: number;
125
+ minSwapAmt: number;
126
+ index?: number;
127
+ }
128
+ export interface IndexerAsset {
129
+ 'created-at-round': number;
130
+ deleted: boolean;
131
+ index: number;
132
+ params: IndexerAssetParams;
133
+ }
134
+ export interface IndexerAssetParams {
135
+ clawback?: string;
136
+ creator: string;
137
+ decimals: number;
138
+ 'default-frozen': boolean;
139
+ freeze: string;
140
+ manager: string;
141
+ name: string;
142
+ 'name-b64': string;
143
+ reserve: string;
144
+ total: number;
145
+ 'unit-name': string;
146
+ 'unit-name-b64': string;
147
+ verification?: any;
148
+ url?: string;
149
+ }
150
+ export type SupportedNetwork = 'testnet' | 'mainnet';
151
+ export declare const CONTRACT_VERSION: {
152
+ readonly V1_1: "v1_1";
153
+ readonly V2: "v2";
154
+ };
155
+ export type ValueOf<T> = T[keyof T];
156
+ export type ContractVersionValue = ValueOf<typeof CONTRACT_VERSION>;
157
+ export declare const VALIDATOR_APP_ID: Record<ContractVersionValue, Record<SupportedNetwork, number>>;
158
+ export interface S3Assets {
159
+ }
160
+ export declare enum AmmBucketKeys {
161
+ ASSETS = "assets.json",
162
+ TOP_ASSETS = "topAssets.json"
163
+ }
@@ -0,0 +1,99 @@
1
+ export type TPutPartners = {
2
+ id: number;
3
+ name: string;
4
+ domain: string;
5
+ };
6
+ export type TPutAdmins = {
7
+ id: number;
8
+ enabled: boolean;
9
+ };
10
+ export type TPutPair = {
11
+ pairId: number;
12
+ minOrderSize: string;
13
+ minSizeIncrement: string;
14
+ minPriceIncrement: string;
15
+ baseCoinIconLink: string;
16
+ baseCoinMarketLink: string;
17
+ priceCoinIconLink: string;
18
+ priceCoinMarketLink: string;
19
+ tags: Array<number>;
20
+ restrictedCountries: Array<string>;
21
+ isPairPublic: boolean;
22
+ audioLink?: string;
23
+ mftName?: string;
24
+ };
25
+ export type ModeType = 'OFF' | 'MTN' | 'STOP_CREATE';
26
+ export type TPostPair = {
27
+ baseChainId: number;
28
+ baseCurrency: string;
29
+ baseCurrencyId: string;
30
+ baseDecimal: number;
31
+ baseName: string;
32
+ baseCoinIconLink?: string;
33
+ baseCoinMarketLink?: string;
34
+ isPairPublic: boolean;
35
+ minOrderSize: string;
36
+ minSizeIncrement: string;
37
+ minPriceIncrement: string;
38
+ priceChainId: number;
39
+ priceCurrency: string;
40
+ priceCurrencyId: string;
41
+ priceDecimal: number;
42
+ priceName: string;
43
+ priceCoinIconLink?: string;
44
+ priceCoinMarketLink?: string;
45
+ restrictedCountries?: string[];
46
+ tags?: number[];
47
+ audioLink?: string;
48
+ priceUsdcValue: number;
49
+ baseUsdcValue: number;
50
+ takerFee?: string;
51
+ };
52
+ export type TPostSuperCollectionWallet = {
53
+ address: string;
54
+ chainId: number;
55
+ };
56
+ export type TPostPriceCoin = {
57
+ address: string;
58
+ chainId: number;
59
+ decimal: number;
60
+ name: string;
61
+ unitName: string;
62
+ cmcLink?: string;
63
+ };
64
+ export type TDeletePriceCoin = {
65
+ address: string;
66
+ chainId: number;
67
+ };
68
+ export declare enum SmallTimeframeEnum {
69
+ last_7_days = "last_7_days",
70
+ last_30_days = "last_30_days",
71
+ last_90_days = "last_90_days",
72
+ last_year = "last_year"
73
+ }
74
+ export type PairSortKey = 'volume_usd' | 'fees_usd' | 'trades_count' | 'traders';
75
+ export type UserSortKey = 'volume_usd' | 'fees_paid_usd' | 'trades_count' | 'last_active_at' | 'referred_volume_usd' | 'referred_fee_usd' | 'referrer_affiliate_id';
76
+ export declare class PairsQueryDto {
77
+ timeRange: SmallTimeframeEnum;
78
+ sortBy?: PairSortKey;
79
+ order?: 'asc' | 'desc';
80
+ limit?: number;
81
+ page?: number;
82
+ }
83
+ export declare class UsersQueryDto {
84
+ timeRange: SmallTimeframeEnum;
85
+ sortBy?: UserSortKey;
86
+ order?: 'asc' | 'desc';
87
+ limit?: number;
88
+ page?: number;
89
+ }
90
+ export declare enum StatisticTypeQuery {
91
+ volume = "volume",
92
+ fees = "fees",
93
+ orders = "orders",
94
+ dau = "dau"
95
+ }
96
+ export declare class ChartQueryDto {
97
+ type: StatisticTypeQuery;
98
+ timeRange: SmallTimeframeEnum;
99
+ }
@@ -0,0 +1,28 @@
1
+ export type CodexState = {
2
+ collectionWallet: string;
3
+ collectionWalletChainId: number;
4
+ msgProcId: number;
5
+ superAppId: number;
6
+ };
7
+ export type CompanyBox = {
8
+ collectionWallet: string;
9
+ collectionWalletChainId: number;
10
+ takerFee: number;
11
+ makerFee: number;
12
+ };
13
+ export type OrderBox = {
14
+ hash: string;
15
+ amount: bigint;
16
+ price: bigint;
17
+ expiredTime: bigint;
18
+ expiredDate: Date;
19
+ };
20
+ export type PairBox = {
21
+ minSize: bigint;
22
+ minPriceIncrement: bigint;
23
+ minSizeIncrement: bigint;
24
+ };
25
+ export type TokenBox = {
26
+ name: string;
27
+ decimal: number;
28
+ };
@@ -0,0 +1,23 @@
1
+ import { IHummingbotInstance } from '@interfaces';
2
+ export interface HummingbotUserData {
3
+ password: string;
4
+ tradingKey: string;
5
+ loginAddress: string;
6
+ mnemonic: string;
7
+ }
8
+ export interface HummingbotStrategyBase {
9
+ strategy: string;
10
+ [key: string]: any;
11
+ }
12
+ export interface HummingbotStrategy extends HummingbotStrategyBase {
13
+ id: number;
14
+ }
15
+ export declare enum HummingbotInstanceStatus {
16
+ PREPARING = "provisioning",
17
+ STOPPING = "stopping",
18
+ RUNNING = "running",
19
+ STOPPED = "stopped",
20
+ FAILED = "failed"
21
+ }
22
+ export type CreateHummingbotInstanceDto = Omit<IHummingbotInstance, 'id' | 'createdAt' | 'updatedAt'>;
23
+ export type CreateStrategyDto = Omit<HummingbotStrategy, 'id'>;