@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.
- package/dist/baseModel/base.model.d.ts +26 -0
- package/dist/baseModel/index.d.ts +2 -0
- package/dist/common/auth.helper.d.ts +4 -0
- package/dist/common/auth.helper.js +367 -0
- package/dist/common/awsKms.d.ts +2 -0
- package/dist/common/awsKms.js +265 -0
- package/dist/common/big-number.helper.d.ts +38 -0
- package/dist/common/big-number.helper.js +263 -0
- package/dist/common/index.d.ts +11 -0
- package/dist/common/index.js +2541 -0
- package/dist/common/indexer.helper.d.ts +2 -0
- package/dist/common/indexer.helper.js +387 -0
- package/dist/common/logger.d.ts +32 -0
- package/dist/common/logger.js +188 -0
- package/dist/common/mappers/codexAsset.mapper.d.ts +2 -0
- package/dist/common/mappers/codexAsset.mapper.js +40 -0
- package/dist/common/mappers/codexBalance.mapper.d.ts +2 -0
- package/dist/common/mappers/codexBalance.mapper.js +38 -0
- package/dist/common/mappers/index.d.ts +3 -0
- package/dist/common/mappers/index.js +1421 -0
- package/dist/common/mappers/trade.mapper.d.ts +6 -0
- package/dist/common/mappers/trade.mapper.js +1343 -0
- package/dist/common/migration.helpers.d.ts +4 -0
- package/dist/common/migration.helpers.js +44 -0
- package/dist/common/redis.helper.d.ts +27 -0
- package/dist/common/redis.helper.js +269 -0
- package/dist/common/secret.helper.d.ts +28 -0
- package/dist/common/secret.helper.js +144 -0
- package/dist/common/timestamp.helper.d.ts +1 -0
- package/dist/common/timestamp.helper.js +41 -0
- package/dist/common/utils/assert.d.ts +1 -0
- package/dist/common/utils/assert.js +32 -0
- package/dist/common/utils/decode.d.ts +5 -0
- package/dist/common/utils/decode.js +206 -0
- package/dist/common/utils/index.d.ts +9 -0
- package/dist/common/utils/index.js +122 -0
- package/dist/common/utils/social.d.ts +1 -0
- package/dist/common/utils/social.js +30 -0
- package/dist/common/utils/stat.d.ts +1 -0
- package/dist/common/utils/stat.js +274 -0
- package/dist/constants/allowedUrls.d.ts +1 -0
- package/dist/constants/auth.d.ts +2 -0
- package/dist/constants/cctp.d.ts +3 -0
- package/dist/constants/codex.d.ts +11 -0
- package/dist/constants/env.d.ts +6 -0
- package/dist/constants/index.d.ts +7 -0
- package/dist/constants/index.js +455 -0
- package/dist/constants/queue.d.ts +39 -0
- package/dist/constants/response.d.ts +82 -0
- package/dist/constants/settings.d.ts +2 -0
- package/dist/constants/social.d.ts +3 -0
- package/dist/constants/withdrawalWalletsMessage.d.ts +1 -0
- package/dist/enums/chains.enum.d.ts +50 -0
- package/dist/enums/db/account/index.d.ts +19 -0
- package/dist/enums/db/affiliate.enum.d.ts +7 -0
- package/dist/enums/db/available-pair-settings.enum.d.ts +12 -0
- package/dist/enums/db/chains.d.ts +30 -0
- package/dist/enums/db/common.enum.d.ts +4 -0
- package/dist/enums/db/component/index.d.ts +22 -0
- package/dist/enums/db/index.d.ts +21 -0
- package/dist/enums/db/market-maker.enum.d.ts +15 -0
- package/dist/enums/db/notification-center/userNotification.enum.d.ts +36 -0
- package/dist/enums/db/order-side.enum.d.ts +5 -0
- package/dist/enums/db/order-status.enum.d.ts +8 -0
- package/dist/enums/db/order-type.enum.d.ts +7 -0
- package/dist/enums/db/pending-actions.enum.d.ts +6 -0
- package/dist/enums/db/relayer.enum.d.ts +23 -0
- package/dist/enums/db/setting-type.enum.d.ts +8 -0
- package/dist/enums/db/social-action.enum.d.ts +24 -0
- package/dist/enums/db/social-prompt.enum.d.ts +8 -0
- package/dist/enums/db/social.enum.d.ts +10 -0
- package/dist/enums/db/state-type.enum.d.ts +9 -0
- package/dist/enums/db/trade.enums.d.ts +10 -0
- package/dist/enums/db/tradingKeyType.enum.d.ts +4 -0
- package/dist/enums/db/upgrade.enum.d.ts +5 -0
- package/dist/enums/db/withdrawal-wallet.enum.d.ts +5 -0
- package/dist/enums/index.d.ts +5 -0
- package/dist/enums/index.js +893 -0
- package/dist/enums/maintenanceMode.enum.d.ts +10 -0
- package/dist/enums/notification.enum.d.ts +7 -0
- package/dist/enums/social.enum.d.ts +10 -0
- package/dist/helpers/Encoding.d.ts +33 -0
- package/dist/helpers/Encoding.js +318 -0
- package/dist/helpers/algo.helper.d.ts +14 -0
- package/dist/helpers/algo.helper.js +1211 -0
- package/dist/helpers/api.helper.d.ts +16 -0
- package/dist/helpers/api.helper.js +1652 -0
- package/dist/helpers/assert.helper.d.ts +10 -0
- package/dist/helpers/assert.helper.js +1677 -0
- package/dist/helpers/atomic.helper.d.ts +21 -0
- package/dist/helpers/atomic.helper.js +712 -0
- package/dist/helpers/balance.helper.d.ts +13 -0
- package/dist/helpers/balance.helper.js +4330 -0
- package/dist/helpers/codex/common.helper.d.ts +24 -0
- package/dist/helpers/codex/common.helper.js +4246 -0
- package/dist/helpers/codex/index.d.ts +6 -0
- package/dist/helpers/codex/index.js +4246 -0
- package/dist/helpers/codex/mbr.helper.d.ts +6 -0
- package/dist/helpers/codex/mbr.helper.js +4246 -0
- package/dist/helpers/codex/mna.helper.d.ts +2 -0
- package/dist/helpers/codex/mna.helper.js +4246 -0
- package/dist/helpers/codex/order.helper.d.ts +6 -0
- package/dist/helpers/codex/order.helper.js +4246 -0
- package/dist/helpers/codex/setGlobal.helper.d.ts +27 -0
- package/dist/helpers/codex/setGlobal.helper.js +4312 -0
- package/dist/helpers/codex/transfer.helper.d.ts +21 -0
- package/dist/helpers/codex/transfer.helper.js +4246 -0
- package/dist/helpers/codex/txn.helper.d.ts +13 -0
- package/dist/helpers/codex/txn.helper.js +4246 -0
- package/dist/helpers/codex.helper.d.ts +106 -0
- package/dist/helpers/codex.helper.js +4246 -0
- package/dist/helpers/email.helper.d.ts +5 -0
- package/dist/helpers/email.helper.js +112 -0
- package/dist/helpers/eth.helper.d.ts +12 -0
- package/dist/helpers/eth.helper.js +4246 -0
- package/dist/helpers/hummingbots.helper.d.ts +2 -0
- package/dist/helpers/hummingbots.helper.js +163 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.js +837 -0
- package/dist/helpers/interval.helpers.d.ts +9 -0
- package/dist/helpers/interval.helpers.js +110 -0
- package/dist/helpers/liquidity.helper.d.ts +6 -0
- package/dist/helpers/liquidity.helper.js +81 -0
- package/dist/helpers/order.helper.d.ts +7 -0
- package/dist/helpers/order.helper.js +946 -0
- package/dist/helpers/pair.helper.d.ts +9 -0
- package/dist/helpers/pair.helper.js +938 -0
- package/dist/helpers/pointSystem.helper.d.ts +14 -0
- package/dist/helpers/pointSystem.helper.js +392 -0
- package/dist/helpers/ticker.helpers.d.ts +8 -0
- package/dist/helpers/ticker.helpers.js +358 -0
- package/dist/helpers/vaa.helper.d.ts +2 -0
- package/dist/helpers/vaa.helper.js +4350 -0
- package/dist/helpers/withdraw.helper.d.ts +14 -0
- package/dist/helpers/withdraw.helper.js +4784 -0
- package/dist/interfaces/accountInfo.interface.d.ts +15 -0
- package/dist/interfaces/algostreamer/index.d.ts +49 -0
- package/dist/interfaces/api/affiliate.interface.d.ts +71 -0
- package/dist/interfaces/cache.interface.d.ts +25 -0
- package/dist/interfaces/confirmed-txn.interface.d.ts +46 -0
- package/dist/interfaces/controller.interface.d.ts +6 -0
- package/dist/interfaces/db/baseModel.interface.d.ts +5 -0
- package/dist/interfaces/db/hummingbot/index.d.ts +18 -0
- package/dist/interfaces/db/index.d.ts +10 -0
- package/dist/interfaces/db/market/index.d.ts +313 -0
- package/dist/interfaces/db/marketing/index.d.ts +48 -0
- package/dist/interfaces/db/notification_center/index.d.ts +33 -0
- package/dist/interfaces/db/relayer/index.d.ts +56 -0
- package/dist/interfaces/db/social/index.d.ts +188 -0
- package/dist/interfaces/db/softDeleteModel.interface.d.ts +4 -0
- package/dist/interfaces/db/white_label/index.d.ts +161 -0
- package/dist/interfaces/db/withdrawal_wallets/index.d.ts +12 -0
- package/dist/interfaces/dto/index.d.ts +62 -0
- package/dist/interfaces/emailService.interface.d.ts +4 -0
- package/dist/interfaces/index.d.ts +17 -0
- package/dist/interfaces/index.js +1319 -0
- package/dist/interfaces/kmsService.interface.d.ts +4 -0
- package/dist/interfaces/last-look-trade.interface.d.ts +10 -0
- package/dist/interfaces/market.interface.d.ts +17 -0
- package/dist/interfaces/order.interface.d.ts +162 -0
- package/dist/interfaces/pair.interface.d.ts +10 -0
- package/dist/interfaces/query.interface.d.ts +6 -0
- package/dist/interfaces/services/accountCache.interface.d.ts +15 -0
- package/dist/interfaces/services/algod.interface.d.ts +5 -0
- package/dist/interfaces/services/balances.interface.d.ts +11 -0
- package/dist/interfaces/services/coin-market-cap.interface.d.ts +124 -0
- package/dist/interfaces/services/index.d.ts +8 -0
- package/dist/interfaces/services/price-model.interface.d.ts +4 -0
- package/dist/interfaces/services/price-service.interface.d.ts +8 -0
- package/dist/interfaces/services/socialActivity.interface.d.ts +48 -0
- package/dist/interfaces/services/tmc.interface.d.ts +9 -0
- package/dist/interfaces/streaming.interface.d.ts +95 -0
- package/dist/interfaces/timestream.interface.d.ts +29 -0
- package/dist/interfaces/trading.interface.d.ts +235 -0
- package/dist/interfaces/tradingKey.interface.d.ts +26 -0
- package/dist/interfaces/transfer.interface.d.ts +12 -0
- package/dist/interfaces/wallet.interface.d.ts +89 -0
- package/dist/interfaces/withdrawalWallets.interface.d.ts +14 -0
- package/dist/types/algo-order.type.d.ts +10 -0
- package/dist/types/amm/amm.d.ts +163 -0
- package/dist/types/api/request.types.d.ts +99 -0
- package/dist/types/codex.types.d.ts +28 -0
- package/dist/types/hummingbots.types.d.ts +23 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.js +362 -0
- package/dist/types/notification.type.d.ts +10 -0
- package/dist/types/settings.type.d.ts +162 -0
- package/dist/types/state.type.d.ts +4 -0
- package/package.json +78 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { KYCAuthenticationStatus, LastLookAction, MarketMakerRebateTier } from '@enums';
|
|
2
|
+
import { IAccount } from '@interfaces';
|
|
3
|
+
export interface IAccountInfo extends IAccount {
|
|
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,49 @@
|
|
|
1
|
+
interface ICodexBalanceLog {
|
|
2
|
+
loginAddr: string;
|
|
3
|
+
loginChainID: string;
|
|
4
|
+
tokenAddr: string;
|
|
5
|
+
tokenChainID: string;
|
|
6
|
+
amount: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ICodexDepositLog extends ICodexBalanceLog {
|
|
9
|
+
sender: string;
|
|
10
|
+
senderChainID: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ICodexWithdrawal extends ICodexBalanceLog {
|
|
13
|
+
destAddr: string;
|
|
14
|
+
destChainID: string;
|
|
15
|
+
fee: string;
|
|
16
|
+
txnId: string;
|
|
17
|
+
msgHash: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ICodexTransfer {
|
|
20
|
+
transferId: number;
|
|
21
|
+
transferFee: number;
|
|
22
|
+
completedAt: number;
|
|
23
|
+
txnId: string;
|
|
24
|
+
loginAddr: string;
|
|
25
|
+
loginChainID: string;
|
|
26
|
+
destAddr: string;
|
|
27
|
+
destChainID: string;
|
|
28
|
+
tokenAddr: string;
|
|
29
|
+
tokenChainID: string;
|
|
30
|
+
amount: string;
|
|
31
|
+
}
|
|
32
|
+
export interface StreamerVaa {
|
|
33
|
+
amount: string;
|
|
34
|
+
emitterId: number;
|
|
35
|
+
loginAddr: string;
|
|
36
|
+
loginChainID: string;
|
|
37
|
+
destAddr: string;
|
|
38
|
+
destChainID: string;
|
|
39
|
+
sender: string;
|
|
40
|
+
senderChainID: string;
|
|
41
|
+
tokenAddr: string;
|
|
42
|
+
tokenChainID: string;
|
|
43
|
+
sequence: string;
|
|
44
|
+
vaaType: 'withdraw' | 'deposit';
|
|
45
|
+
txnId: string;
|
|
46
|
+
fee: string;
|
|
47
|
+
msgHash?: string;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { DBAffiliate } from '@interfaces';
|
|
2
|
+
export interface SummaryStat {
|
|
3
|
+
value: number | null;
|
|
4
|
+
trend: number | null;
|
|
5
|
+
}
|
|
6
|
+
export interface TrendStat {
|
|
7
|
+
value: number;
|
|
8
|
+
time: number;
|
|
9
|
+
}
|
|
10
|
+
export interface AffiliateStats<StatType> {
|
|
11
|
+
totalRevenue: StatType;
|
|
12
|
+
linkClicks: StatType;
|
|
13
|
+
registrations: StatType;
|
|
14
|
+
firstTimeDepositors: StatType;
|
|
15
|
+
totalTradingVolume: StatType;
|
|
16
|
+
totalFees: StatType;
|
|
17
|
+
}
|
|
18
|
+
export interface DashboardInfo {
|
|
19
|
+
feeShare: number;
|
|
20
|
+
referralLink: string;
|
|
21
|
+
summaryStats: SummaryStats;
|
|
22
|
+
trendStats: TrendStats | null;
|
|
23
|
+
}
|
|
24
|
+
export interface RegularStats extends AffiliateStats<number> {
|
|
25
|
+
}
|
|
26
|
+
export interface SummaryStats extends AffiliateStats<SummaryStat> {
|
|
27
|
+
}
|
|
28
|
+
export interface TrendStats extends AffiliateStats<TrendStat[]> {
|
|
29
|
+
}
|
|
30
|
+
export interface WLAffiliateStats<StatType> {
|
|
31
|
+
totalRevenue: StatType;
|
|
32
|
+
conversionRate: StatType;
|
|
33
|
+
registrations: StatType;
|
|
34
|
+
totalTradingVolume: StatType;
|
|
35
|
+
qualifiedReferrers: StatType;
|
|
36
|
+
totalAffiliateRevenue: StatType;
|
|
37
|
+
}
|
|
38
|
+
export interface WLRegularStats {
|
|
39
|
+
totalRevenue: number;
|
|
40
|
+
registrations: number;
|
|
41
|
+
totalTradingVolume: number;
|
|
42
|
+
totalAffiliateRevenue: number;
|
|
43
|
+
firstTimeDepositors: number;
|
|
44
|
+
}
|
|
45
|
+
export interface WLSummaryStats extends WLAffiliateStats<SummaryStat> {
|
|
46
|
+
}
|
|
47
|
+
export interface WLTrendStats extends WLAffiliateStats<TrendStat[]> {
|
|
48
|
+
}
|
|
49
|
+
export interface WLDashboardInfo {
|
|
50
|
+
summaryStats: WLSummaryStats;
|
|
51
|
+
trendStats: WLTrendStats | null;
|
|
52
|
+
}
|
|
53
|
+
export interface MappedAffiliateData extends DBAffiliate {
|
|
54
|
+
totalAffiliateRevenue: number;
|
|
55
|
+
totalCompanyRevenueFromAffiliate: number;
|
|
56
|
+
}
|
|
57
|
+
export interface CompanyAffiliateStats {
|
|
58
|
+
address: string;
|
|
59
|
+
createdAt: Date;
|
|
60
|
+
tradingVolume: number;
|
|
61
|
+
referrals: number;
|
|
62
|
+
feeShare: number;
|
|
63
|
+
}
|
|
64
|
+
export interface AffiliatePerformance {
|
|
65
|
+
totalUsersReferred: SummaryStat;
|
|
66
|
+
totalRevenue: SummaryStat;
|
|
67
|
+
currentMonthReferrals: SummaryStat;
|
|
68
|
+
currentMonthRevenue: SummaryStat;
|
|
69
|
+
averageUserValue: SummaryStat;
|
|
70
|
+
conversionRate: SummaryStat;
|
|
71
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ICompany, ICompanySetting } from '@interfaces';
|
|
2
|
+
export interface ICompanyCache extends Pick<ICompany, 'id' | 'domain' | 'name' | 'enabled' | 'isSuper' | 'collectionWallet' | 'collectionWalletChainId'> {
|
|
3
|
+
companyBDPartner: ICompanyBDPartnerCache;
|
|
4
|
+
}
|
|
5
|
+
export interface ICompanyCacheWithTakerFee extends ICompanyCache {
|
|
6
|
+
settings: [ICompanySetting];
|
|
7
|
+
}
|
|
8
|
+
export interface ICompanyBDPartnerCache {
|
|
9
|
+
address: string;
|
|
10
|
+
chainId: number;
|
|
11
|
+
feeShare: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ICompanyAffiliateCache {
|
|
14
|
+
id: number;
|
|
15
|
+
address: string;
|
|
16
|
+
companyId: number;
|
|
17
|
+
chainId: number;
|
|
18
|
+
feeShare: number;
|
|
19
|
+
pointsReward: number;
|
|
20
|
+
expiresAt?: Date;
|
|
21
|
+
}
|
|
22
|
+
export interface IRedisCacheEntry<T> {
|
|
23
|
+
data: T;
|
|
24
|
+
lastUpdatedAt?: number;
|
|
25
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface InnerTxnBody {
|
|
2
|
+
apan?: number;
|
|
3
|
+
apap?: Uint8Array[];
|
|
4
|
+
apsu?: Uint8Array[];
|
|
5
|
+
amt?: number;
|
|
6
|
+
fv: number;
|
|
7
|
+
lv: number;
|
|
8
|
+
rcv?: Uint8Array;
|
|
9
|
+
snd: Uint8Array;
|
|
10
|
+
type: 'appl' | 'pay';
|
|
11
|
+
}
|
|
12
|
+
export interface MainTxnBody {
|
|
13
|
+
apaa: Uint8Array[];
|
|
14
|
+
apat: Uint8Array[];
|
|
15
|
+
apbx: Array<{
|
|
16
|
+
n: Uint8Array[];
|
|
17
|
+
}>;
|
|
18
|
+
apfa: number[];
|
|
19
|
+
apid: number;
|
|
20
|
+
fee: number;
|
|
21
|
+
fv: number;
|
|
22
|
+
gen: string;
|
|
23
|
+
gh: Uint8Array;
|
|
24
|
+
grp: Uint8Array;
|
|
25
|
+
lv: number;
|
|
26
|
+
note: Uint8Array;
|
|
27
|
+
snd: Uint8Array;
|
|
28
|
+
type: 'appl';
|
|
29
|
+
}
|
|
30
|
+
export interface InnerTransaction {
|
|
31
|
+
'application-index'?: number;
|
|
32
|
+
'pool-error': string;
|
|
33
|
+
txn: {
|
|
34
|
+
txn: InnerTxnBody;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface ConfirmedTxn {
|
|
38
|
+
'confirmed-round': number;
|
|
39
|
+
'inner-txns': InnerTransaction[];
|
|
40
|
+
logs: Uint8Array[];
|
|
41
|
+
'pool-error': string;
|
|
42
|
+
txn: {
|
|
43
|
+
sig: Uint8Array;
|
|
44
|
+
txn: MainTxnBody;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HummingbotInstanceStatus } from '@types';
|
|
2
|
+
import { IUser } from '@interfaces';
|
|
3
|
+
export interface IStrategy {
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
configTemplate: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IHummingbotInstance {
|
|
10
|
+
id: number;
|
|
11
|
+
awsId: string | null;
|
|
12
|
+
partner: IUser | number;
|
|
13
|
+
strategy: IStrategy | number;
|
|
14
|
+
configHash: string;
|
|
15
|
+
status: HummingbotInstanceStatus;
|
|
16
|
+
createdAt: Date;
|
|
17
|
+
updatedAt: Date;
|
|
18
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './baseModel.interface';
|
|
2
|
+
export * from './softDeleteModel.interface';
|
|
3
|
+
export * from './market';
|
|
4
|
+
export * from './white_label';
|
|
5
|
+
export * from './withdrawal_wallets';
|
|
6
|
+
export * from './social';
|
|
7
|
+
export * from './marketing';
|
|
8
|
+
export * from './relayer';
|
|
9
|
+
export * from './notification_center';
|
|
10
|
+
export * from './hummingbot';
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { FeeTier, LastLookAction, KYCAuthenticationStatus, StateType, UpgradeStatus, OrderSide, TradeStatus, TradeSubStatus, TradingKeyType, ComponentType, ComponentStatusType, PairComponentStatusType } from '@enums';
|
|
2
|
+
import { IBaseModel, ICompany, IPair } from '@interfaces';
|
|
3
|
+
export interface IAccount {
|
|
4
|
+
address: string;
|
|
5
|
+
chainId: number;
|
|
6
|
+
makerTier: FeeTier;
|
|
7
|
+
takerTier: FeeTier;
|
|
8
|
+
createdAt?: Date;
|
|
9
|
+
updatedAt: Date;
|
|
10
|
+
invitedByAffiliates?: IInvitedByAffiliateAccount[];
|
|
11
|
+
invitedByAffiliateId?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface IWhitelist {
|
|
14
|
+
id: number;
|
|
15
|
+
accountAddress: string;
|
|
16
|
+
account: IAccount;
|
|
17
|
+
tkAddress: string;
|
|
18
|
+
tradingKey: ITradingKey;
|
|
19
|
+
recipientAddress: string;
|
|
20
|
+
recipient: IAccount;
|
|
21
|
+
expiredAt: Date;
|
|
22
|
+
createdAt: Date;
|
|
23
|
+
deletedAt: Date;
|
|
24
|
+
message: string;
|
|
25
|
+
signature: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ITransfer {
|
|
28
|
+
id: number;
|
|
29
|
+
accountAddress: string;
|
|
30
|
+
account?: IAccount;
|
|
31
|
+
recipientAddress: string;
|
|
32
|
+
recipient?: IAccount;
|
|
33
|
+
status: string;
|
|
34
|
+
tokenId: number;
|
|
35
|
+
token?: ICodexAsset;
|
|
36
|
+
txnId?: string;
|
|
37
|
+
ctwId: number | null;
|
|
38
|
+
ctw?: IWhitelist;
|
|
39
|
+
amount: string;
|
|
40
|
+
expiredAt: Date;
|
|
41
|
+
createdAt: Date;
|
|
42
|
+
completedAt: Date | null;
|
|
43
|
+
hash: string;
|
|
44
|
+
message: string | null;
|
|
45
|
+
signature: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ITradingKey {
|
|
48
|
+
address: string;
|
|
49
|
+
accountAddress: string;
|
|
50
|
+
account: IAccount;
|
|
51
|
+
createdAt: Date;
|
|
52
|
+
expiredAt?: Date;
|
|
53
|
+
deviceInfo: string;
|
|
54
|
+
type: TradingKeyType;
|
|
55
|
+
message: string;
|
|
56
|
+
signature: string;
|
|
57
|
+
deletedOn: Date;
|
|
58
|
+
orders: IOrder[];
|
|
59
|
+
}
|
|
60
|
+
export interface IInvitedByAffiliateAccount {
|
|
61
|
+
affiliateId: number;
|
|
62
|
+
accountAddress: string;
|
|
63
|
+
companyId: number;
|
|
64
|
+
firstDepositDate?: Date;
|
|
65
|
+
}
|
|
66
|
+
export interface ICodexAsset {
|
|
67
|
+
id: number;
|
|
68
|
+
address: string;
|
|
69
|
+
chainId: number;
|
|
70
|
+
unitName: string;
|
|
71
|
+
name: string;
|
|
72
|
+
decimals: number;
|
|
73
|
+
isGas: boolean;
|
|
74
|
+
deletedAt: Date;
|
|
75
|
+
coinmarketcapId: number | null;
|
|
76
|
+
img: string;
|
|
77
|
+
cmcLink: string;
|
|
78
|
+
}
|
|
79
|
+
export interface ICodexBalance {
|
|
80
|
+
hash: string;
|
|
81
|
+
loginAddress: string;
|
|
82
|
+
loginChainId: number;
|
|
83
|
+
tokenId: string;
|
|
84
|
+
tokenChainId: number;
|
|
85
|
+
amount: string;
|
|
86
|
+
lockedAmount: string;
|
|
87
|
+
token?: ICodexAsset;
|
|
88
|
+
}
|
|
89
|
+
export interface ICountry {
|
|
90
|
+
id: string;
|
|
91
|
+
name: string;
|
|
92
|
+
pairs: IPair[];
|
|
93
|
+
}
|
|
94
|
+
export interface IPairDelisting {
|
|
95
|
+
pairId: number;
|
|
96
|
+
companyId: number;
|
|
97
|
+
retryCount: number;
|
|
98
|
+
isDelisted: boolean;
|
|
99
|
+
scheduledDelistDate: Date;
|
|
100
|
+
createdAt: Date;
|
|
101
|
+
updatedAt: Date;
|
|
102
|
+
}
|
|
103
|
+
export interface IPairSetting extends IBaseModel {
|
|
104
|
+
pairId: number;
|
|
105
|
+
settingId: string;
|
|
106
|
+
companyId?: number;
|
|
107
|
+
value: string;
|
|
108
|
+
enabled: boolean;
|
|
109
|
+
pair: IPair;
|
|
110
|
+
setting: IAvailablePairSetting;
|
|
111
|
+
}
|
|
112
|
+
export interface IAvailablePairSetting {
|
|
113
|
+
id: string;
|
|
114
|
+
}
|
|
115
|
+
export interface IOrder {
|
|
116
|
+
id: number;
|
|
117
|
+
pairId: number;
|
|
118
|
+
pair: IPair;
|
|
119
|
+
side: number;
|
|
120
|
+
type: number;
|
|
121
|
+
price: string;
|
|
122
|
+
excutedPrice: string;
|
|
123
|
+
amount: string;
|
|
124
|
+
filledAmount: string;
|
|
125
|
+
status: number;
|
|
126
|
+
total: string;
|
|
127
|
+
filledTotal: string;
|
|
128
|
+
userId: string;
|
|
129
|
+
chainId: number;
|
|
130
|
+
tradingKey: string;
|
|
131
|
+
expiryAt: Date | null;
|
|
132
|
+
completedAt: Date | null;
|
|
133
|
+
createdAt: Date;
|
|
134
|
+
updatedAt: Date;
|
|
135
|
+
deletedAt: Date;
|
|
136
|
+
partnerId: number;
|
|
137
|
+
directSettle: boolean;
|
|
138
|
+
companyId: number;
|
|
139
|
+
messageHash: string | null;
|
|
140
|
+
message: string;
|
|
141
|
+
signature: string;
|
|
142
|
+
buyTrades?: ITrade[];
|
|
143
|
+
sellTrades?: ITrade[];
|
|
144
|
+
}
|
|
145
|
+
export interface ITrade {
|
|
146
|
+
tradeId: number;
|
|
147
|
+
pairId: number;
|
|
148
|
+
pair: IPair;
|
|
149
|
+
txnId?: string;
|
|
150
|
+
buyOrderId: number | null;
|
|
151
|
+
buyOrder?: IOrder;
|
|
152
|
+
sellOrderId: number | null;
|
|
153
|
+
sellOrder?: IOrder;
|
|
154
|
+
buyUserId: string | null;
|
|
155
|
+
sellUserId: string | null;
|
|
156
|
+
price: string;
|
|
157
|
+
amount: string;
|
|
158
|
+
total: string;
|
|
159
|
+
txStatus: TradeStatus;
|
|
160
|
+
subStatus: TradeSubStatus | null;
|
|
161
|
+
createdAtTimestamp: number;
|
|
162
|
+
createdAt: Date;
|
|
163
|
+
updatedAt: Date;
|
|
164
|
+
deletedAt: Date;
|
|
165
|
+
tradeSide: OrderSide;
|
|
166
|
+
tradeFees: ITradeFee[];
|
|
167
|
+
}
|
|
168
|
+
export interface ITradeFee {
|
|
169
|
+
tradeId: number;
|
|
170
|
+
address: string;
|
|
171
|
+
fee: number;
|
|
172
|
+
rebate: number;
|
|
173
|
+
}
|
|
174
|
+
export interface IChain {
|
|
175
|
+
whChainId: number;
|
|
176
|
+
active: boolean;
|
|
177
|
+
isEvm: boolean;
|
|
178
|
+
providerUrl: string;
|
|
179
|
+
wss: string;
|
|
180
|
+
tmc: string;
|
|
181
|
+
dispencer: string;
|
|
182
|
+
token: string;
|
|
183
|
+
whChain?: IWormholeChain;
|
|
184
|
+
}
|
|
185
|
+
export interface IWormholeChain {
|
|
186
|
+
id: number;
|
|
187
|
+
name: string;
|
|
188
|
+
mainnet?: string;
|
|
189
|
+
mainnetDescription?: string;
|
|
190
|
+
testnet?: string;
|
|
191
|
+
testnetDescription?: string;
|
|
192
|
+
}
|
|
193
|
+
export interface ICCTPAsset {
|
|
194
|
+
chainId: number;
|
|
195
|
+
address: string;
|
|
196
|
+
active: boolean;
|
|
197
|
+
}
|
|
198
|
+
export interface ICCTPUnifiedAsset extends ICCTPUnifiedAssetPreview {
|
|
199
|
+
cctpAssets: ICCTPAsset[];
|
|
200
|
+
}
|
|
201
|
+
export interface ICCTPUnifiedAssetPreview {
|
|
202
|
+
id: number;
|
|
203
|
+
address: string;
|
|
204
|
+
chainId: number;
|
|
205
|
+
symbol: string;
|
|
206
|
+
}
|
|
207
|
+
export interface ICCTPAssetWithUnified extends ICCTPAsset {
|
|
208
|
+
unifiedAsset: ICCTPUnifiedAssetPreview;
|
|
209
|
+
}
|
|
210
|
+
export interface IAsset {
|
|
211
|
+
id: number;
|
|
212
|
+
unitName: string;
|
|
213
|
+
name?: string;
|
|
214
|
+
imgUrl?: string;
|
|
215
|
+
decimals: number;
|
|
216
|
+
minDispnse?: string;
|
|
217
|
+
maxDispnse?: string;
|
|
218
|
+
creator: string;
|
|
219
|
+
total: number;
|
|
220
|
+
defaultFrozen: boolean;
|
|
221
|
+
url?: string;
|
|
222
|
+
clawback?: string;
|
|
223
|
+
}
|
|
224
|
+
export interface IPool {
|
|
225
|
+
id: number;
|
|
226
|
+
ammId: number;
|
|
227
|
+
asset1Id: IAsset;
|
|
228
|
+
asset2Id: IAsset;
|
|
229
|
+
fee: number;
|
|
230
|
+
poolTokenId: IAsset;
|
|
231
|
+
poolType: string;
|
|
232
|
+
}
|
|
233
|
+
export interface ITinymanPool {
|
|
234
|
+
id: string;
|
|
235
|
+
ammId: number;
|
|
236
|
+
asset1Id: IAsset;
|
|
237
|
+
asset2Id: IAsset;
|
|
238
|
+
fee: number;
|
|
239
|
+
poolTokenId: IAsset;
|
|
240
|
+
poolType: string;
|
|
241
|
+
}
|
|
242
|
+
export type BalanceActionType = "deposit" | "withdraw" | "order" | "trade" | "transfer";
|
|
243
|
+
export interface ICodexBalanceHistory {
|
|
244
|
+
id: number;
|
|
245
|
+
hash: string;
|
|
246
|
+
loginAddress: string;
|
|
247
|
+
loginChainId: number;
|
|
248
|
+
tokenId: string;
|
|
249
|
+
tokenChainId: number;
|
|
250
|
+
action: BalanceActionType;
|
|
251
|
+
amount: string;
|
|
252
|
+
lockedAmount: string;
|
|
253
|
+
deltaAmount: string;
|
|
254
|
+
deltaLockedAmount: string;
|
|
255
|
+
createdAt: Date;
|
|
256
|
+
}
|
|
257
|
+
export interface ILastLookAccount {
|
|
258
|
+
address: string;
|
|
259
|
+
action: LastLookAction;
|
|
260
|
+
timeout: number;
|
|
261
|
+
}
|
|
262
|
+
export interface IKYCAuthentication {
|
|
263
|
+
address: string;
|
|
264
|
+
account: IAccount;
|
|
265
|
+
kycStatus: KYCAuthenticationStatus;
|
|
266
|
+
ondatoSetupId: string;
|
|
267
|
+
companyId: number;
|
|
268
|
+
company: ICompany;
|
|
269
|
+
createdAt: Date;
|
|
270
|
+
updatedAt: Date;
|
|
271
|
+
}
|
|
272
|
+
export interface IComponent {
|
|
273
|
+
id: ComponentType;
|
|
274
|
+
name: string;
|
|
275
|
+
instances: IComponentInstance[];
|
|
276
|
+
}
|
|
277
|
+
export interface IComponentInstance {
|
|
278
|
+
id: number;
|
|
279
|
+
vendor_id: number;
|
|
280
|
+
type: ComponentType;
|
|
281
|
+
component: IComponent;
|
|
282
|
+
status: ComponentStatusType;
|
|
283
|
+
last_heartbeat: Date;
|
|
284
|
+
pairComponents: IPairComponent[];
|
|
285
|
+
}
|
|
286
|
+
export interface IPairComponent {
|
|
287
|
+
pair_id: number;
|
|
288
|
+
pair: IPair;
|
|
289
|
+
instance_id?: number;
|
|
290
|
+
instance?: IComponentInstance;
|
|
291
|
+
status: PairComponentStatusType;
|
|
292
|
+
required_cu: number;
|
|
293
|
+
last_heartbeat: Date;
|
|
294
|
+
}
|
|
295
|
+
export interface IOrderBox {
|
|
296
|
+
hash: string;
|
|
297
|
+
expiryAt: number;
|
|
298
|
+
deletedAt?: Date;
|
|
299
|
+
}
|
|
300
|
+
export interface IUltradeState {
|
|
301
|
+
id: StateType;
|
|
302
|
+
value: string;
|
|
303
|
+
}
|
|
304
|
+
export interface IUpgradeHistory {
|
|
305
|
+
id: number;
|
|
306
|
+
proxyAddress: string;
|
|
307
|
+
implementationAddress: string;
|
|
308
|
+
chainId: number;
|
|
309
|
+
algoTxnId: string;
|
|
310
|
+
evmTxnId?: string;
|
|
311
|
+
status: UpgradeStatus;
|
|
312
|
+
createdAt: Date;
|
|
313
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface IActionTable {
|
|
2
|
+
id: number;
|
|
3
|
+
action_dict: string;
|
|
4
|
+
unique_id: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IUserRecord {
|
|
7
|
+
id: number;
|
|
8
|
+
points: number;
|
|
9
|
+
twitter_user_id: string;
|
|
10
|
+
telegram_user_id: string;
|
|
11
|
+
discord_user_id: string;
|
|
12
|
+
reddit_user_id: string;
|
|
13
|
+
unique_id: string;
|
|
14
|
+
last_deducted_timestamp: number;
|
|
15
|
+
received_award_ids: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ITrackInvitesModel {
|
|
18
|
+
id: number;
|
|
19
|
+
inviter_id: string;
|
|
20
|
+
invitee_id: string;
|
|
21
|
+
unique_id: string;
|
|
22
|
+
}
|
|
23
|
+
export interface IMessagingModel {
|
|
24
|
+
id: number;
|
|
25
|
+
unique_id: number;
|
|
26
|
+
data: string;
|
|
27
|
+
msg_type: string;
|
|
28
|
+
active: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface IWeeklyDeductionTable {
|
|
31
|
+
id: number;
|
|
32
|
+
length: number;
|
|
33
|
+
unique_id: string;
|
|
34
|
+
values_array: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ITrackUserPoints {
|
|
37
|
+
id: number;
|
|
38
|
+
user_record_id: string;
|
|
39
|
+
event: string;
|
|
40
|
+
point_difference: number;
|
|
41
|
+
unique_id: string;
|
|
42
|
+
}
|
|
43
|
+
export interface IVipLevelTable {
|
|
44
|
+
id: number;
|
|
45
|
+
length: number;
|
|
46
|
+
unique_id: string;
|
|
47
|
+
values_array: string;
|
|
48
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { GlobalNotificationEnum, NotificationPriorityEnum, NotificationStatusEnum, NotificationType, ScheduledNotificationStatusEnum } from '@enums';
|
|
2
|
+
import { IAccount } from '@interfaces';
|
|
3
|
+
export interface INotificationModel {
|
|
4
|
+
id: number;
|
|
5
|
+
priority: NotificationPriorityEnum;
|
|
6
|
+
message: string;
|
|
7
|
+
referenceId?: number;
|
|
8
|
+
companyId: number;
|
|
9
|
+
createdAt: Date;
|
|
10
|
+
}
|
|
11
|
+
export interface IGlobalNotification extends INotificationModel {
|
|
12
|
+
type: GlobalNotificationEnum;
|
|
13
|
+
}
|
|
14
|
+
export interface IScheduledNotification extends INotificationModel {
|
|
15
|
+
type: GlobalNotificationEnum;
|
|
16
|
+
scheduledAt: Date;
|
|
17
|
+
status: ScheduledNotificationStatusEnum;
|
|
18
|
+
}
|
|
19
|
+
export interface IUserNotification extends INotificationModel {
|
|
20
|
+
account: IAccount;
|
|
21
|
+
address: string;
|
|
22
|
+
type: NotificationType;
|
|
23
|
+
status: NotificationStatusEnum;
|
|
24
|
+
globalNotificationId?: number;
|
|
25
|
+
globalNotification: IGlobalNotification;
|
|
26
|
+
}
|
|
27
|
+
export interface INotificationTemplate {
|
|
28
|
+
type: NotificationType;
|
|
29
|
+
priority: NotificationPriorityEnum;
|
|
30
|
+
text: string;
|
|
31
|
+
createdAt: Date;
|
|
32
|
+
updatedAt: Date;
|
|
33
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CCTPStatus, TransactionType } from '@enums';
|
|
2
|
+
import { ICodexAsset } from '@interfaces';
|
|
3
|
+
export interface IOperationStatus {
|
|
4
|
+
primaryId: number;
|
|
5
|
+
id: string;
|
|
6
|
+
hash?: string;
|
|
7
|
+
login_address: string;
|
|
8
|
+
login_chain_id: number;
|
|
9
|
+
action_type: string;
|
|
10
|
+
status: string;
|
|
11
|
+
token_id: ICodexAsset;
|
|
12
|
+
amount: string;
|
|
13
|
+
targetAddress: string;
|
|
14
|
+
timestamp?: Date;
|
|
15
|
+
createdAt?: Date;
|
|
16
|
+
updatedAt?: Date;
|
|
17
|
+
transactions?: IOperationTransactionHistory[];
|
|
18
|
+
vaaMessages?: IOperationVaaMessage[];
|
|
19
|
+
cctp?: ICctp[];
|
|
20
|
+
vaa_message?: Buffer;
|
|
21
|
+
fee?: string;
|
|
22
|
+
usdAmount?: string;
|
|
23
|
+
companyId?: number;
|
|
24
|
+
errorMessage?: any;
|
|
25
|
+
}
|
|
26
|
+
export interface IOperationVaaMessage {
|
|
27
|
+
vaaId: string;
|
|
28
|
+
operation: IOperationStatus;
|
|
29
|
+
vaa_message?: Buffer;
|
|
30
|
+
from_chain_id?: number;
|
|
31
|
+
to_chain_id?: number;
|
|
32
|
+
sequence?: number;
|
|
33
|
+
emitter?: string;
|
|
34
|
+
createdAt?: Date;
|
|
35
|
+
updatedAt?: Date;
|
|
36
|
+
}
|
|
37
|
+
export interface ICctp {
|
|
38
|
+
id: string;
|
|
39
|
+
destinationChainId: number;
|
|
40
|
+
messageHash: string;
|
|
41
|
+
messageBytes: string;
|
|
42
|
+
status: CCTPStatus;
|
|
43
|
+
attestationSignature?: string;
|
|
44
|
+
createdAt?: Date;
|
|
45
|
+
updatedAt?: Date;
|
|
46
|
+
attestationCompletedAt?: Date;
|
|
47
|
+
operation: IOperationStatus;
|
|
48
|
+
}
|
|
49
|
+
export interface IOperationTransactionHistory {
|
|
50
|
+
txn_hash: string;
|
|
51
|
+
chain_id: number;
|
|
52
|
+
operation: IOperationStatus;
|
|
53
|
+
type?: TransactionType;
|
|
54
|
+
createdAt: Date;
|
|
55
|
+
updatedAt: Date;
|
|
56
|
+
}
|