@ultrade/shared 1.0.2 → 1.0.4
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/common/index.d.ts +0 -6
- package/dist/common/index.js +0 -739
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/index.js +0 -78
- package/dist/helpers/assert.helper.js +0 -78
- package/dist/helpers/atomic.helper.js +0 -78
- package/dist/helpers/balance.helper.js +0 -78
- package/dist/helpers/codex/common.helper.js +0 -78
- package/dist/helpers/codex/index.js +0 -78
- package/dist/helpers/codex/mbr.helper.js +0 -78
- package/dist/helpers/codex/mna.helper.js +0 -78
- package/dist/helpers/codex/order.helper.js +0 -78
- package/dist/helpers/codex/setGlobal.helper.js +0 -78
- package/dist/helpers/codex/transfer.helper.js +0 -78
- package/dist/helpers/codex/txn.helper.js +0 -78
- package/dist/helpers/codex.helper.js +0 -78
- package/dist/helpers/eth.helper.js +0 -78
- package/dist/helpers/vaa.helper.js +0 -78
- package/dist/helpers/withdraw.helper.js +0 -78
- package/package.json +3 -11
- package/dist/common/awsKms.d.ts +0 -2
- package/dist/common/awsKms.js +0 -255
- package/dist/common/indexer.helper.d.ts +0 -2
- package/dist/common/indexer.helper.js +0 -377
- package/dist/common/logger.d.ts +0 -32
- package/dist/common/logger.js +0 -178
- package/dist/common/migration.helpers.d.ts +0 -4
- package/dist/common/migration.helpers.js +0 -33
- package/dist/common/redis.helper.d.ts +0 -27
- package/dist/common/redis.helper.js +0 -249
- package/dist/common/secret.helper.d.ts +0 -28
- package/dist/common/secret.helper.js +0 -129
- package/dist/constants/queue.d.ts +0 -39
- package/dist/helpers/email.helper.d.ts +0 -5
- package/dist/helpers/email.helper.js +0 -101
- package/dist/helpers/hummingbots.helper.d.ts +0 -2
- package/dist/helpers/hummingbots.helper.js +0 -152
- package/dist/interfaces/controller.interface.d.ts +0 -6
package/dist/common/index.js
CHANGED
|
@@ -49,150 +49,6 @@ function mapToCodexAssetDto(o, isArchived) {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
/***/ }),
|
|
53
|
-
|
|
54
|
-
/***/ 298:
|
|
55
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
59
|
-
exports.Logger = void 0;
|
|
60
|
-
const node_process_1 = __webpack_require__(1708);
|
|
61
|
-
class Logger {
|
|
62
|
-
_timeLabels = new Map();
|
|
63
|
-
_prefix;
|
|
64
|
-
disabled;
|
|
65
|
-
constructor(prefix, disabled) {
|
|
66
|
-
this._prefix = prefix;
|
|
67
|
-
this.disabled = disabled;
|
|
68
|
-
}
|
|
69
|
-
log(...args) {
|
|
70
|
-
if (this.disabled) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
try {
|
|
74
|
-
this._prefix
|
|
75
|
-
? console.log(this.prefixLabel(this._prefix), ...this.formatArgs(args))
|
|
76
|
-
: console.log(...this.formatArgs(args));
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
console.log('Error on formating args', error);
|
|
80
|
-
console.log('Args =>', ...args);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
logWarning(message) {
|
|
84
|
-
console.log(this.toYellow(message));
|
|
85
|
-
}
|
|
86
|
-
getUniqueTimeLabel(label) {
|
|
87
|
-
const timeLabel = `[${Math.random() * Math.pow(10, 18)}] ${label}`;
|
|
88
|
-
return timeLabel;
|
|
89
|
-
}
|
|
90
|
-
time(label) {
|
|
91
|
-
if (this._timeLabels.has(label)) {
|
|
92
|
-
console.warn(`Label '${label}' already exists for logger.time()`);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
const start = node_process_1.hrtime.bigint();
|
|
96
|
-
this._timeLabels.set(label, start);
|
|
97
|
-
}
|
|
98
|
-
timeEnd(label) {
|
|
99
|
-
if (!this._timeLabels.has(label)) {
|
|
100
|
-
console.warn(`Label '${label}' does not exist for logger.time()`);
|
|
101
|
-
return 0;
|
|
102
|
-
}
|
|
103
|
-
const start = this._timeLabels.get(label);
|
|
104
|
-
const end = node_process_1.hrtime.bigint();
|
|
105
|
-
const diff = +(Number(end - start) / 1000000).toFixed(2);
|
|
106
|
-
const color = process.env.LOGGING_OBJECT_INLINE !== "false"
|
|
107
|
-
? this.noColor
|
|
108
|
-
: (diff > 100 ? this.toRed : this.toYellow);
|
|
109
|
-
if (diff > 100 || (label.includes('update24hStat') && diff > 25)) {
|
|
110
|
-
this.log(`Benchmark took ${color(diff)} milliseconds for ${color(label)}`);
|
|
111
|
-
}
|
|
112
|
-
this._timeLabels.delete(label);
|
|
113
|
-
return +diff;
|
|
114
|
-
}
|
|
115
|
-
logRabbit(...args) {
|
|
116
|
-
this.log(...this.formatArgs(["[Rabbit]", ...args]));
|
|
117
|
-
}
|
|
118
|
-
logPair(...args) {
|
|
119
|
-
this.log(...this.formatArgs(args, "Pair"));
|
|
120
|
-
}
|
|
121
|
-
logPairTime(pair, label) {
|
|
122
|
-
this.time(`${this.prefixLabel("Pair", pair)} ${label}`);
|
|
123
|
-
}
|
|
124
|
-
logPairTimeEnd(pair, label) {
|
|
125
|
-
this.timeEnd(`${this.prefixLabel("Pair", pair)} ${label}`);
|
|
126
|
-
}
|
|
127
|
-
logOrder(...args) {
|
|
128
|
-
this.log(...this.formatArgs(args, "OrderID"));
|
|
129
|
-
}
|
|
130
|
-
logOrderTime(id, label) {
|
|
131
|
-
this.time(`${this.prefixLabel("OrderID", id)} ${label}`);
|
|
132
|
-
}
|
|
133
|
-
logOrderTimeEnd(id, label) {
|
|
134
|
-
this.timeEnd(`${this.prefixLabel("OrderID", id)} ${label}`);
|
|
135
|
-
}
|
|
136
|
-
logTrade(...args) {
|
|
137
|
-
this.log(...this.formatArgs(args, "TradeID"));
|
|
138
|
-
}
|
|
139
|
-
logCompany(...args) {
|
|
140
|
-
this.log(...this.formatArgs(args, "CompanyID"));
|
|
141
|
-
}
|
|
142
|
-
logTradeTime(id, label) {
|
|
143
|
-
this.time(`${this.prefixLabel("TradeID", id)} ${label}`);
|
|
144
|
-
}
|
|
145
|
-
logTradeTimeEnd(id, label) {
|
|
146
|
-
this.timeEnd(`${this.prefixLabel("TradeID", id)} ${label}`);
|
|
147
|
-
}
|
|
148
|
-
logOperation(...args) {
|
|
149
|
-
this.log(...this.formatArgs(args, "OperationID"));
|
|
150
|
-
}
|
|
151
|
-
logVaa(...args) {
|
|
152
|
-
this.log(...this.formatArgs(args, "VaaId"));
|
|
153
|
-
}
|
|
154
|
-
logRequest(event, maskFunction = (_, body) => body) {
|
|
155
|
-
const { httpMethod, path, queryStringParameters, body } = event;
|
|
156
|
-
this.log(httpMethod, path, { queryStringParameters, body: maskFunction(path, body) });
|
|
157
|
-
}
|
|
158
|
-
formatArgs(args, prefix = null) {
|
|
159
|
-
return args.map((value, index) => {
|
|
160
|
-
if (index === 0 && typeof value === "string" && prefix === "Pair") {
|
|
161
|
-
return `[${value}]`;
|
|
162
|
-
}
|
|
163
|
-
if (index === 0 && !!prefix) {
|
|
164
|
-
return this.prefixLabel(prefix, typeof value === "object" ? JSON.stringify(value) : value);
|
|
165
|
-
}
|
|
166
|
-
if (typeof value === "object" && process.env.LOGGING_OBJECT_INLINE !== "false") {
|
|
167
|
-
return JSON.stringify(value);
|
|
168
|
-
}
|
|
169
|
-
return value;
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
prefixLabel(prefix, value) {
|
|
173
|
-
return value ? `[${prefix}: ${value}]` : `[${prefix}]`;
|
|
174
|
-
}
|
|
175
|
-
toYellow(value) {
|
|
176
|
-
return `\x1b[33m${value}\x1b[0m`;
|
|
177
|
-
}
|
|
178
|
-
toRed(value) {
|
|
179
|
-
return `\x1b[31m${value}\x1b[0m`;
|
|
180
|
-
}
|
|
181
|
-
noColor(value) {
|
|
182
|
-
return value;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
exports.Logger = Logger;
|
|
186
|
-
exports["default"] = new Logger();
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
/***/ }),
|
|
190
|
-
|
|
191
|
-
/***/ 657:
|
|
192
|
-
/***/ ((module) => {
|
|
193
|
-
|
|
194
|
-
module.exports = require("ioredis");
|
|
195
|
-
|
|
196
52
|
/***/ }),
|
|
197
53
|
|
|
198
54
|
/***/ 696:
|
|
@@ -257,13 +113,6 @@ var OrderSide;
|
|
|
257
113
|
exports["default"] = OrderSide;
|
|
258
114
|
|
|
259
115
|
|
|
260
|
-
/***/ }),
|
|
261
|
-
|
|
262
|
-
/***/ 862:
|
|
263
|
-
/***/ ((module) => {
|
|
264
|
-
|
|
265
|
-
module.exports = require("@aws-sdk/client-secrets-manager");
|
|
266
|
-
|
|
267
116
|
/***/ }),
|
|
268
117
|
|
|
269
118
|
/***/ 892:
|
|
@@ -624,13 +473,6 @@ var SettingTypeColumn;
|
|
|
624
473
|
})(SettingTypeColumn || (exports.SettingTypeColumn = SettingTypeColumn = {}));
|
|
625
474
|
|
|
626
475
|
|
|
627
|
-
/***/ }),
|
|
628
|
-
|
|
629
|
-
/***/ 1708:
|
|
630
|
-
/***/ ((module) => {
|
|
631
|
-
|
|
632
|
-
module.exports = require("node:process");
|
|
633
|
-
|
|
634
476
|
/***/ }),
|
|
635
477
|
|
|
636
478
|
/***/ 2137:
|
|
@@ -1058,94 +900,6 @@ var PromptTypeEnum;
|
|
|
1058
900
|
})(PromptTypeEnum || (exports.PromptTypeEnum = PromptTypeEnum = {}));
|
|
1059
901
|
|
|
1060
902
|
|
|
1061
|
-
/***/ }),
|
|
1062
|
-
|
|
1063
|
-
/***/ 3298:
|
|
1064
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1068
|
-
const client_secrets_manager_1 = __webpack_require__(862);
|
|
1069
|
-
class SecretHelper {
|
|
1070
|
-
creatorMnemonicSecretName = process.env.CreatorSecret;
|
|
1071
|
-
dispenserMnemonicSecretName = process.env.DispenserSecret;
|
|
1072
|
-
transactionMnemonicSecretName = process.env.TransactionSecret;
|
|
1073
|
-
relayerMnemonicSecretName = process.env.RelayerSecret;
|
|
1074
|
-
ondatoCredentialsSecretName = process.env.OndatoSecret;
|
|
1075
|
-
async getCreatorMnemonic() {
|
|
1076
|
-
const creatorMnemonic = await this.getSecrets(this.creatorMnemonicSecretName);
|
|
1077
|
-
return JSON.parse(creatorMnemonic).creator;
|
|
1078
|
-
}
|
|
1079
|
-
async getDispenserMnemonic() {
|
|
1080
|
-
const dispenserMnemonic = await this.getSecrets(this.dispenserMnemonicSecretName);
|
|
1081
|
-
return JSON.parse(dispenserMnemonic).dispenser;
|
|
1082
|
-
}
|
|
1083
|
-
async getTransactionMnemonic() {
|
|
1084
|
-
const transactionMnemonic = await this.getSecrets(this.transactionMnemonicSecretName);
|
|
1085
|
-
return JSON.parse(transactionMnemonic).txs;
|
|
1086
|
-
}
|
|
1087
|
-
async getRelayerMnemonics() {
|
|
1088
|
-
const relayerMnemonic = await this.getSecrets(this.relayerMnemonicSecretName);
|
|
1089
|
-
return JSON.parse(relayerMnemonic);
|
|
1090
|
-
}
|
|
1091
|
-
async getOndatoSecrets() {
|
|
1092
|
-
const ondatoSecrets = await this.getSecrets(this.ondatoCredentialsSecretName);
|
|
1093
|
-
return JSON.parse(ondatoSecrets);
|
|
1094
|
-
}
|
|
1095
|
-
getClient() {
|
|
1096
|
-
return new client_secrets_manager_1.SecretsManager({ region: 'us-east-1' });
|
|
1097
|
-
}
|
|
1098
|
-
getSecrets(secretName) {
|
|
1099
|
-
return new Promise((resolve, reject) => {
|
|
1100
|
-
try {
|
|
1101
|
-
const command = new client_secrets_manager_1.GetSecretValueCommand({ SecretId: secretName });
|
|
1102
|
-
const client = this.getClient();
|
|
1103
|
-
client.send(command, (err, data) => {
|
|
1104
|
-
if (err) {
|
|
1105
|
-
console.log('-----error in secrets---------', err);
|
|
1106
|
-
reject(err);
|
|
1107
|
-
}
|
|
1108
|
-
else {
|
|
1109
|
-
resolve(data.SecretString);
|
|
1110
|
-
}
|
|
1111
|
-
});
|
|
1112
|
-
}
|
|
1113
|
-
catch (error) {
|
|
1114
|
-
console.log('error curl', error);
|
|
1115
|
-
reject(error);
|
|
1116
|
-
}
|
|
1117
|
-
});
|
|
1118
|
-
}
|
|
1119
|
-
saveSecret(secretName, secretValue) {
|
|
1120
|
-
console.log(`Saving secret with name: ${secretName}`);
|
|
1121
|
-
return new Promise((resolve, reject) => {
|
|
1122
|
-
try {
|
|
1123
|
-
const command = new client_secrets_manager_1.PutSecretValueCommand({
|
|
1124
|
-
SecretId: secretName,
|
|
1125
|
-
SecretString: secretValue,
|
|
1126
|
-
});
|
|
1127
|
-
const client = this.getClient();
|
|
1128
|
-
client.send(command, (err, data) => {
|
|
1129
|
-
if (err) {
|
|
1130
|
-
console.log('-----error in saving secret---------', err);
|
|
1131
|
-
reject(err);
|
|
1132
|
-
}
|
|
1133
|
-
else {
|
|
1134
|
-
console.log('secret successfully saved');
|
|
1135
|
-
resolve();
|
|
1136
|
-
}
|
|
1137
|
-
});
|
|
1138
|
-
}
|
|
1139
|
-
catch (error) {
|
|
1140
|
-
console.log('error curl', error);
|
|
1141
|
-
reject(error);
|
|
1142
|
-
}
|
|
1143
|
-
});
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
exports["default"] = new SecretHelper();
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
903
|
/***/ }),
|
|
1150
904
|
|
|
1151
905
|
/***/ 3338:
|
|
@@ -1168,154 +922,6 @@ var TweetType;
|
|
|
1168
922
|
})(TweetType || (exports.TweetType = TweetType = {}));
|
|
1169
923
|
|
|
1170
924
|
|
|
1171
|
-
/***/ }),
|
|
1172
|
-
|
|
1173
|
-
/***/ 3450:
|
|
1174
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
1178
|
-
if (k2 === undefined) k2 = k;
|
|
1179
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
1180
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
1181
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
1182
|
-
}
|
|
1183
|
-
Object.defineProperty(o, k2, desc);
|
|
1184
|
-
}) : (function(o, m, k, k2) {
|
|
1185
|
-
if (k2 === undefined) k2 = k;
|
|
1186
|
-
o[k2] = m[k];
|
|
1187
|
-
}));
|
|
1188
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
1189
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
1190
|
-
}) : function(o, v) {
|
|
1191
|
-
o["default"] = v;
|
|
1192
|
-
});
|
|
1193
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
1194
|
-
var ownKeys = function(o) {
|
|
1195
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
1196
|
-
var ar = [];
|
|
1197
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
1198
|
-
return ar;
|
|
1199
|
-
};
|
|
1200
|
-
return ownKeys(o);
|
|
1201
|
-
};
|
|
1202
|
-
return function (mod) {
|
|
1203
|
-
if (mod && mod.__esModule) return mod;
|
|
1204
|
-
var result = {};
|
|
1205
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
1206
|
-
__setModuleDefault(result, mod);
|
|
1207
|
-
return result;
|
|
1208
|
-
};
|
|
1209
|
-
})();
|
|
1210
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1211
|
-
exports.printUnpackedLocalData = exports.getAccounInfoFormLocalStorage = void 0;
|
|
1212
|
-
exports.unpackData = unpackData;
|
|
1213
|
-
exports.decodeString = decodeString;
|
|
1214
|
-
const algosdk_1 = __importStar(__webpack_require__(8115));
|
|
1215
|
-
const orderByteSize = 28;
|
|
1216
|
-
const getAccounInfoFormLocalStorage = (localState) => {
|
|
1217
|
-
const uintArray = Buffer.from(localState, 'base64');
|
|
1218
|
-
const unpackedData = unpackData(uintArray, {
|
|
1219
|
-
"priceCoin_locked": {
|
|
1220
|
-
type: "uint",
|
|
1221
|
-
},
|
|
1222
|
-
"priceCoin_available": {
|
|
1223
|
-
type: "uint",
|
|
1224
|
-
},
|
|
1225
|
-
"baseCoin_locked": {
|
|
1226
|
-
type: "uint",
|
|
1227
|
-
},
|
|
1228
|
-
"baseCoin_available": {
|
|
1229
|
-
type: "uint",
|
|
1230
|
-
},
|
|
1231
|
-
"companyId": {
|
|
1232
|
-
type: "uint",
|
|
1233
|
-
},
|
|
1234
|
-
"WLFeeShare": {
|
|
1235
|
-
type: "uint",
|
|
1236
|
-
},
|
|
1237
|
-
"WLCustomFee": {
|
|
1238
|
-
type: "uint",
|
|
1239
|
-
},
|
|
1240
|
-
"slotMap": {
|
|
1241
|
-
type: "uint",
|
|
1242
|
-
},
|
|
1243
|
-
});
|
|
1244
|
-
return unpackedData;
|
|
1245
|
-
};
|
|
1246
|
-
exports.getAccounInfoFormLocalStorage = getAccounInfoFormLocalStorage;
|
|
1247
|
-
function unpackData(data, format) {
|
|
1248
|
-
const result = new Map();
|
|
1249
|
-
let index = 0;
|
|
1250
|
-
for (const [name, type] of Object.entries(format)) {
|
|
1251
|
-
if (index >= data.length) {
|
|
1252
|
-
throw new Error('Array index out of bounds');
|
|
1253
|
-
}
|
|
1254
|
-
let value;
|
|
1255
|
-
switch (type.type) {
|
|
1256
|
-
case 'address':
|
|
1257
|
-
value = (0, algosdk_1.encodeAddress)(data.slice(index, index + 32));
|
|
1258
|
-
index += 32;
|
|
1259
|
-
break;
|
|
1260
|
-
case 'bytes':
|
|
1261
|
-
value = data.slice(index, index + type.size);
|
|
1262
|
-
value = algosdk_1.default.decodeUint64(value, "mixed");
|
|
1263
|
-
index += type.size;
|
|
1264
|
-
break;
|
|
1265
|
-
case 'uint':
|
|
1266
|
-
value = algosdk_1.default.decodeUint64(data.slice(index, index + 8), "mixed");
|
|
1267
|
-
index += 8;
|
|
1268
|
-
break;
|
|
1269
|
-
case 'string':
|
|
1270
|
-
value = decodeString(data.slice(index, index + type.size));
|
|
1271
|
-
index += type.size;
|
|
1272
|
-
break;
|
|
1273
|
-
}
|
|
1274
|
-
result.set(name, value);
|
|
1275
|
-
}
|
|
1276
|
-
return Object.fromEntries(result);
|
|
1277
|
-
}
|
|
1278
|
-
function decodeString(value) {
|
|
1279
|
-
return Buffer.from(value).toString('utf-8');
|
|
1280
|
-
}
|
|
1281
|
-
const printUnpackedLocalData = (localState) => {
|
|
1282
|
-
const uintArray = Buffer.from(localState, 'base64');
|
|
1283
|
-
const unpackedData = [];
|
|
1284
|
-
for (let i = 0; i < 4; i++) {
|
|
1285
|
-
let data = unpackData(uintArray.subarray(orderByteSize * i, orderByteSize * (i + 1)), {
|
|
1286
|
-
"orderID": {
|
|
1287
|
-
type: "uint",
|
|
1288
|
-
},
|
|
1289
|
-
"side": {
|
|
1290
|
-
type: "string",
|
|
1291
|
-
size: 1
|
|
1292
|
-
},
|
|
1293
|
-
"price": {
|
|
1294
|
-
type: "uint",
|
|
1295
|
-
},
|
|
1296
|
-
"amount": {
|
|
1297
|
-
type: "uint",
|
|
1298
|
-
},
|
|
1299
|
-
"type": {
|
|
1300
|
-
type: "string",
|
|
1301
|
-
size: 1
|
|
1302
|
-
},
|
|
1303
|
-
"directSettle": {
|
|
1304
|
-
type: "string",
|
|
1305
|
-
size: 1
|
|
1306
|
-
},
|
|
1307
|
-
"storageSlot": {
|
|
1308
|
-
type: "bytes",
|
|
1309
|
-
size: 1
|
|
1310
|
-
}
|
|
1311
|
-
});
|
|
1312
|
-
unpackedData.push(data);
|
|
1313
|
-
}
|
|
1314
|
-
return unpackedData;
|
|
1315
|
-
};
|
|
1316
|
-
exports.printUnpackedLocalData = printUnpackedLocalData;
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
925
|
/***/ }),
|
|
1320
926
|
|
|
1321
927
|
/***/ 3487:
|
|
@@ -1370,23 +976,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
1370
976
|
__exportStar(__webpack_require__(9321), exports);
|
|
1371
977
|
__exportStar(__webpack_require__(8398), exports);
|
|
1372
978
|
__exportStar(__webpack_require__(696), exports);
|
|
1373
|
-
__exportStar(__webpack_require__(8980), exports);
|
|
1374
979
|
__exportStar(__webpack_require__(1174), exports);
|
|
1375
|
-
__exportStar(__webpack_require__(7413), exports);
|
|
1376
|
-
__exportStar(__webpack_require__(298), exports);
|
|
1377
|
-
__exportStar(__webpack_require__(7639), exports);
|
|
1378
|
-
__exportStar(__webpack_require__(5281), exports);
|
|
1379
|
-
__exportStar(__webpack_require__(3298), exports);
|
|
1380
980
|
__exportStar(__webpack_require__(180), exports);
|
|
1381
981
|
|
|
1382
982
|
|
|
1383
|
-
/***/ }),
|
|
1384
|
-
|
|
1385
|
-
/***/ 3780:
|
|
1386
|
-
/***/ ((module) => {
|
|
1387
|
-
|
|
1388
|
-
module.exports = require("@aws-sdk/client-kms");
|
|
1389
|
-
|
|
1390
983
|
/***/ }),
|
|
1391
984
|
|
|
1392
985
|
/***/ 3854:
|
|
@@ -1503,208 +1096,6 @@ var UpgradeStatus;
|
|
|
1503
1096
|
})(UpgradeStatus || (exports.UpgradeStatus = UpgradeStatus = {}));
|
|
1504
1097
|
|
|
1505
1098
|
|
|
1506
|
-
/***/ }),
|
|
1507
|
-
|
|
1508
|
-
/***/ 5281:
|
|
1509
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
1513
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1514
|
-
};
|
|
1515
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1516
|
-
const ioredis_1 = __importDefault(__webpack_require__(657));
|
|
1517
|
-
class RedisHelper {
|
|
1518
|
-
host = process.env.REDIS_HOSTNAME;
|
|
1519
|
-
port = process.env.REDIS_PORT;
|
|
1520
|
-
client = new ioredis_1.default({
|
|
1521
|
-
host: this.host,
|
|
1522
|
-
port: Number(this.port),
|
|
1523
|
-
lazyConnect: true,
|
|
1524
|
-
});
|
|
1525
|
-
operationQueue = [];
|
|
1526
|
-
runningOperations = false;
|
|
1527
|
-
constructor() {
|
|
1528
|
-
this.client.on('connect', () => {
|
|
1529
|
-
});
|
|
1530
|
-
this.client.on('ready', () => {
|
|
1531
|
-
this.performPendingOperations();
|
|
1532
|
-
});
|
|
1533
|
-
this.client.on('error', (err) => {
|
|
1534
|
-
console.error('Redis error:', err.message);
|
|
1535
|
-
});
|
|
1536
|
-
this.client.on('close', () => {
|
|
1537
|
-
console.log('Redis connection closed');
|
|
1538
|
-
});
|
|
1539
|
-
}
|
|
1540
|
-
async performPendingOperations() {
|
|
1541
|
-
this.runningOperations = true;
|
|
1542
|
-
while (this.operationQueue.length > 0) {
|
|
1543
|
-
const operation = this.operationQueue.shift();
|
|
1544
|
-
if (operation) {
|
|
1545
|
-
try {
|
|
1546
|
-
await operation();
|
|
1547
|
-
}
|
|
1548
|
-
catch (err) {
|
|
1549
|
-
console.error('Error performing Redis operation:', err);
|
|
1550
|
-
}
|
|
1551
|
-
}
|
|
1552
|
-
}
|
|
1553
|
-
this.runningOperations = false;
|
|
1554
|
-
}
|
|
1555
|
-
async setString(key, value, expires = 0, database = '') {
|
|
1556
|
-
const operation = async () => {
|
|
1557
|
-
if (database !== '') {
|
|
1558
|
-
this.client.select(Number(database));
|
|
1559
|
-
}
|
|
1560
|
-
await this.client.set(key, value);
|
|
1561
|
-
if (expires !== 0) {
|
|
1562
|
-
await this.client.expire(key, expires * 60);
|
|
1563
|
-
}
|
|
1564
|
-
};
|
|
1565
|
-
await this.performOperation(operation);
|
|
1566
|
-
}
|
|
1567
|
-
async incrementKey(key, expires = 0, database = '') {
|
|
1568
|
-
const operation = async () => {
|
|
1569
|
-
if (database !== '') {
|
|
1570
|
-
this.client.select(Number(database));
|
|
1571
|
-
}
|
|
1572
|
-
await this.client.incr(key);
|
|
1573
|
-
if (expires !== 0) {
|
|
1574
|
-
const ttl = await this.client.ttl(key);
|
|
1575
|
-
if (ttl === -1) {
|
|
1576
|
-
await this.client.expire(key, expires * 60);
|
|
1577
|
-
}
|
|
1578
|
-
}
|
|
1579
|
-
};
|
|
1580
|
-
await this.performOperation(operation);
|
|
1581
|
-
}
|
|
1582
|
-
async scanKeys(pattern, database = '') {
|
|
1583
|
-
const matchedKeys = [];
|
|
1584
|
-
const operation = async () => {
|
|
1585
|
-
if (database !== '') {
|
|
1586
|
-
this.client.select(Number(database));
|
|
1587
|
-
}
|
|
1588
|
-
let cursor = '0';
|
|
1589
|
-
do {
|
|
1590
|
-
const [nextCursor, keys] = await this.client.scan(cursor, 'MATCH', pattern, 'COUNT', 100);
|
|
1591
|
-
cursor = nextCursor;
|
|
1592
|
-
matchedKeys.push(...keys);
|
|
1593
|
-
} while (cursor !== '0');
|
|
1594
|
-
};
|
|
1595
|
-
await this.performOperation(operation);
|
|
1596
|
-
return matchedKeys;
|
|
1597
|
-
}
|
|
1598
|
-
getString(key, database = '') {
|
|
1599
|
-
return new Promise(async (resolve, reject) => {
|
|
1600
|
-
const operation = async () => {
|
|
1601
|
-
try {
|
|
1602
|
-
if (database !== '') {
|
|
1603
|
-
await this.client.select(Number(database));
|
|
1604
|
-
}
|
|
1605
|
-
const value = await this.client.get(key);
|
|
1606
|
-
resolve(value);
|
|
1607
|
-
}
|
|
1608
|
-
catch (err) {
|
|
1609
|
-
reject(err);
|
|
1610
|
-
}
|
|
1611
|
-
};
|
|
1612
|
-
this.performOperation(operation);
|
|
1613
|
-
});
|
|
1614
|
-
}
|
|
1615
|
-
async deleteString(key, database = '') {
|
|
1616
|
-
const operation = async () => {
|
|
1617
|
-
if (database !== '') {
|
|
1618
|
-
this.client.select(Number(database));
|
|
1619
|
-
}
|
|
1620
|
-
await this.client.del(key);
|
|
1621
|
-
};
|
|
1622
|
-
await this.performOperation(operation);
|
|
1623
|
-
}
|
|
1624
|
-
async deleteByKeyPattern(pattern, database = '') {
|
|
1625
|
-
const operation = async () => {
|
|
1626
|
-
if (database !== '') {
|
|
1627
|
-
this.client.select(Number(database));
|
|
1628
|
-
}
|
|
1629
|
-
const keys = await this.client.keys(pattern);
|
|
1630
|
-
if (keys.length > 0) {
|
|
1631
|
-
await this.client.unlink(keys);
|
|
1632
|
-
console.log(`Deleted ${keys.length} keys`);
|
|
1633
|
-
}
|
|
1634
|
-
else {
|
|
1635
|
-
console.log('No keys for delete');
|
|
1636
|
-
}
|
|
1637
|
-
};
|
|
1638
|
-
await this.performOperation(operation);
|
|
1639
|
-
}
|
|
1640
|
-
async destroyDb(dbKey) {
|
|
1641
|
-
const response = await this.client.del(dbKey);
|
|
1642
|
-
return response === 1;
|
|
1643
|
-
}
|
|
1644
|
-
async performOperation(operation) {
|
|
1645
|
-
this.operationQueue.push(operation);
|
|
1646
|
-
if (!this.runningOperations) {
|
|
1647
|
-
try {
|
|
1648
|
-
await this.performPendingOperations();
|
|
1649
|
-
}
|
|
1650
|
-
catch (error) {
|
|
1651
|
-
console.error('Error during performing Redis operation', error);
|
|
1652
|
-
}
|
|
1653
|
-
}
|
|
1654
|
-
}
|
|
1655
|
-
async close() {
|
|
1656
|
-
console.log('Closing Redis client for graceful shutdown...');
|
|
1657
|
-
try {
|
|
1658
|
-
while (this.operationQueue.length > 0 || this.runningOperations) {
|
|
1659
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
1660
|
-
}
|
|
1661
|
-
await this.client.quit();
|
|
1662
|
-
console.log('Redis client closed successfully');
|
|
1663
|
-
}
|
|
1664
|
-
catch (error) {
|
|
1665
|
-
console.error('Error during Redis client shutdown:', error);
|
|
1666
|
-
}
|
|
1667
|
-
}
|
|
1668
|
-
async createStream(key) {
|
|
1669
|
-
await this.client.xgroup('CREATE', key, 'group', '$', 'MKSTREAM');
|
|
1670
|
-
}
|
|
1671
|
-
async writeToStream(key, message) {
|
|
1672
|
-
try {
|
|
1673
|
-
if (await this.streamExists(key)) {
|
|
1674
|
-
await this.client.xadd(key, '*', 'message', JSON.stringify(message));
|
|
1675
|
-
}
|
|
1676
|
-
}
|
|
1677
|
-
catch (error) {
|
|
1678
|
-
console.log(`[Stream '${key}']`, 'Error while writing to stream', error);
|
|
1679
|
-
}
|
|
1680
|
-
}
|
|
1681
|
-
async readStream(key, timeout) {
|
|
1682
|
-
const results = await this.client.xreadgroup('GROUP', 'group', 'consumer', 'COUNT', 1, 'BLOCK', timeout * 1000, 'STREAMS', key, '>');
|
|
1683
|
-
if (results && results.length > 0) {
|
|
1684
|
-
const [, entries] = results[0];
|
|
1685
|
-
if (entries && entries.length > 0) {
|
|
1686
|
-
const [, [, message]] = entries[0];
|
|
1687
|
-
return JSON.parse(message);
|
|
1688
|
-
}
|
|
1689
|
-
}
|
|
1690
|
-
return null;
|
|
1691
|
-
}
|
|
1692
|
-
async deleteStream(key) {
|
|
1693
|
-
if (await this.streamExists(key)) {
|
|
1694
|
-
await this.client.del(key);
|
|
1695
|
-
}
|
|
1696
|
-
}
|
|
1697
|
-
async setTTL(key, ttlSeconds) {
|
|
1698
|
-
await this.client.expire(key, ttlSeconds);
|
|
1699
|
-
}
|
|
1700
|
-
async streamExists(key) {
|
|
1701
|
-
const exists = await this.client.exists(key);
|
|
1702
|
-
return exists === 1;
|
|
1703
|
-
}
|
|
1704
|
-
}
|
|
1705
|
-
exports["default"] = new RedisHelper();
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
1099
|
/***/ }),
|
|
1709
1100
|
|
|
1710
1101
|
/***/ 5320:
|
|
@@ -1853,44 +1244,6 @@ var MaintenanceMode;
|
|
|
1853
1244
|
})(MaintenanceMode || (exports.MaintenanceMode = MaintenanceMode = {}));
|
|
1854
1245
|
|
|
1855
1246
|
|
|
1856
|
-
/***/ }),
|
|
1857
|
-
|
|
1858
|
-
/***/ 7413:
|
|
1859
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
1863
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
1864
|
-
};
|
|
1865
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1866
|
-
exports.extractAppOrders = extractAppOrders;
|
|
1867
|
-
const decode_1 = __webpack_require__(3450);
|
|
1868
|
-
const logger_1 = __importDefault(__webpack_require__(298));
|
|
1869
|
-
function extractAppOrders(account, appId) {
|
|
1870
|
-
logger_1.default.log('accountInfo', account);
|
|
1871
|
-
if (!account?.hasOwnProperty('apps-local-state')) {
|
|
1872
|
-
logger_1.default.log(`No apps-local-state at account`, account);
|
|
1873
|
-
return [];
|
|
1874
|
-
}
|
|
1875
|
-
let localState = account['apps-local-state'];
|
|
1876
|
-
if (!localState?.length) {
|
|
1877
|
-
logger_1.default.log('apps-local-state', localState);
|
|
1878
|
-
return [];
|
|
1879
|
-
}
|
|
1880
|
-
const ordersInApp = localState.filter((state) => !state.deleted && state.id === appId);
|
|
1881
|
-
logger_1.default.log(`[App Id: ${appId}]`, ordersInApp);
|
|
1882
|
-
return ordersInApp
|
|
1883
|
-
.map(state => {
|
|
1884
|
-
const balancesKey = state['key-value'].find((el) => (el.key === "YWNjb3VudEluZm8="));
|
|
1885
|
-
const ordersKey = state['key-value'].filter((el) => (el.key !== "YWNjb3VudEluZm8="));
|
|
1886
|
-
const decodedBalances = (0, decode_1.getAccounInfoFormLocalStorage)(balancesKey.value.bytes);
|
|
1887
|
-
const decodedOrders = ordersKey.map((el) => (0, decode_1.printUnpackedLocalData)(el.value.bytes));
|
|
1888
|
-
return decodedOrders.flat(Infinity);
|
|
1889
|
-
})
|
|
1890
|
-
.flat().filter((o) => o.orderID !== 0);
|
|
1891
|
-
}
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
1247
|
/***/ }),
|
|
1895
1248
|
|
|
1896
1249
|
/***/ 7542:
|
|
@@ -1950,34 +1303,6 @@ function mapOrderTypeShortToLong(value) {
|
|
|
1950
1303
|
}
|
|
1951
1304
|
|
|
1952
1305
|
|
|
1953
|
-
/***/ }),
|
|
1954
|
-
|
|
1955
|
-
/***/ 7639:
|
|
1956
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1960
|
-
exports.dropIndexIfExists = dropIndexIfExists;
|
|
1961
|
-
exports.createIndexIfNotExists = createIndexIfNotExists;
|
|
1962
|
-
exports.checkIfExists = checkIfExists;
|
|
1963
|
-
async function dropIndexIfExists(queryRunner, tableName, indexName) {
|
|
1964
|
-
if (await checkIfExists(queryRunner, tableName, indexName)) {
|
|
1965
|
-
await queryRunner.query(`ALTER TABLE \`${tableName}\` DROP index \`${indexName}\``);
|
|
1966
|
-
}
|
|
1967
|
-
}
|
|
1968
|
-
async function createIndexIfNotExists(queryRunner, tableName, indexName, cols) {
|
|
1969
|
-
if (!(await checkIfExists(queryRunner, tableName, indexName))) {
|
|
1970
|
-
await queryRunner.query(`CREATE INDEX \`${indexName}\` ON \`${tableName}\` (${cols});`);
|
|
1971
|
-
}
|
|
1972
|
-
}
|
|
1973
|
-
async function checkIfExists(queryRunner, tableName, indexName) {
|
|
1974
|
-
let result = await queryRunner.query(`SELECT EXISTS(SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = '${tableName}'
|
|
1975
|
-
AND INDEX_NAME = '${indexName}' AND INDEX_SCHEMA='order_service') as existed`);
|
|
1976
|
-
console.log(result);
|
|
1977
|
-
return result.length > 0 && result[0].existed == 1;
|
|
1978
|
-
}
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
1306
|
/***/ }),
|
|
1982
1307
|
|
|
1983
1308
|
/***/ 8115:
|
|
@@ -2334,70 +1659,6 @@ Object.defineProperty(exports, "encodeAddress", ({ enumerable: true, get: functi
|
|
|
2334
1659
|
Object.defineProperty(exports, "decodeAddress", ({ enumerable: true, get: function () { return algosdk_2.decodeAddress; } }));
|
|
2335
1660
|
|
|
2336
1661
|
|
|
2337
|
-
/***/ }),
|
|
2338
|
-
|
|
2339
|
-
/***/ 8980:
|
|
2340
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2344
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
2345
|
-
};
|
|
2346
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2347
|
-
exports.decrypt = exports.encrypt = void 0;
|
|
2348
|
-
const client_kms_1 = __webpack_require__(3780);
|
|
2349
|
-
const logger_1 = __importDefault(__webpack_require__(298));
|
|
2350
|
-
const encrypt = async (string) => {
|
|
2351
|
-
if (process.env.ENVIRONMENT === 'LOCAL') {
|
|
2352
|
-
logger_1.default.logWarning('WARNING: AWS KMS encryption is bypassed in local environment.');
|
|
2353
|
-
return string;
|
|
2354
|
-
}
|
|
2355
|
-
const input = {
|
|
2356
|
-
KeyId: process.env.SOCIAL_SECRET_KEY_ID,
|
|
2357
|
-
Plaintext: Buffer.from(string),
|
|
2358
|
-
};
|
|
2359
|
-
const command = new client_kms_1.EncryptCommand(input);
|
|
2360
|
-
const result = await sendKmsCommand(command);
|
|
2361
|
-
return Buffer.from(result.CiphertextBlob).toString('base64');
|
|
2362
|
-
};
|
|
2363
|
-
exports.encrypt = encrypt;
|
|
2364
|
-
const decrypt = async (encryptedString) => {
|
|
2365
|
-
if (process.env.ENVIRONMENT === 'LOCAL') {
|
|
2366
|
-
logger_1.default.logWarning('WARNING: AWS KMS decryption is bypassed in local environment.');
|
|
2367
|
-
return encryptedString;
|
|
2368
|
-
}
|
|
2369
|
-
const input = {
|
|
2370
|
-
KeyId: process.env.SOCIAL_SECRET_KEY_ID,
|
|
2371
|
-
CiphertextBlob: Buffer.from(encryptedString, 'base64'),
|
|
2372
|
-
};
|
|
2373
|
-
const command = new client_kms_1.DecryptCommand(input);
|
|
2374
|
-
const result = await sendKmsCommand(command);
|
|
2375
|
-
return new TextDecoder().decode(result.Plaintext);
|
|
2376
|
-
};
|
|
2377
|
-
exports.decrypt = decrypt;
|
|
2378
|
-
const sendKmsCommand = async (command) => {
|
|
2379
|
-
return new Promise((resolve, reject) => {
|
|
2380
|
-
try {
|
|
2381
|
-
const client = new client_kms_1.KMSClient({ region: 'us-east-1' });
|
|
2382
|
-
client.send(command, (err, data) => {
|
|
2383
|
-
if (err) {
|
|
2384
|
-
console.log('-----error in KMS operation---------', err);
|
|
2385
|
-
reject(err);
|
|
2386
|
-
}
|
|
2387
|
-
else {
|
|
2388
|
-
console.log('KMS command was successfully sent');
|
|
2389
|
-
resolve(data);
|
|
2390
|
-
}
|
|
2391
|
-
});
|
|
2392
|
-
}
|
|
2393
|
-
catch (error) {
|
|
2394
|
-
console.log('KMSClient error', error);
|
|
2395
|
-
reject(error);
|
|
2396
|
-
}
|
|
2397
|
-
});
|
|
2398
|
-
};
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
1662
|
/***/ }),
|
|
2402
1663
|
|
|
2403
1664
|
/***/ 9321:
|