@optimex-xyz/market-maker-sdk 0.9.0 → 0.9.1

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/index.js CHANGED
@@ -51,6 +51,13 @@ __export(index_exports, {
51
51
  SolverService: () => SolverService,
52
52
  TokenSchema: () => TokenSchema,
53
53
  TokenService: () => TokenService,
54
+ TradeEventSchema: () => TradeEventSchema,
55
+ TradeResponseSchema: () => TradeResponseSchema,
56
+ TradeSchema: () => TradeSchema,
57
+ TradeService: () => TradeService,
58
+ TradeStatus: () => TradeStatus,
59
+ TradeTokenSchema: () => TradeTokenSchema,
60
+ TradeType: () => TradeType,
54
61
  camelToSnakeCase: () => camelToSnakeCase,
55
62
  config: () => config,
56
63
  confirmDepositType: () => confirmDepositType,
@@ -80,7 +87,8 @@ __export(index_exports, {
80
87
  signerService: () => signerService,
81
88
  snakeToCamelCase: () => snakeToCamelCase,
82
89
  solverService: () => solverService,
83
- tokenService: () => tokenService
90
+ tokenService: () => tokenService,
91
+ tradeService: () => tradeService
84
92
  });
85
93
  module.exports = __toCommonJS(index_exports);
86
94
 
@@ -5209,7 +5217,7 @@ var solverService = new SolverService();
5209
5217
 
5210
5218
  // src/services/token.service.ts
5211
5219
  var import_axios2 = __toESM(require("axios"));
5212
- var import_zod3 = require("zod");
5220
+ var import_zod4 = require("zod");
5213
5221
 
5214
5222
  // src/types/token.ts
5215
5223
  var import_zod2 = require("zod");
@@ -5227,12 +5235,100 @@ var TokenSchema = import_zod2.z.object({
5227
5235
  networkLogoUri: import_zod2.z.string()
5228
5236
  });
5229
5237
 
5238
+ // src/types/trade.ts
5239
+ var import_zod3 = require("zod");
5240
+ var TradeStatus = /* @__PURE__ */ ((TradeStatus2) => {
5241
+ TradeStatus2["INIT"] = "INIT";
5242
+ TradeStatus2["PRE_SUBMIT"] = "PRE_SUBMIT";
5243
+ TradeStatus2["DEPOSITED"] = "DEPOSITED";
5244
+ TradeStatus2["SUBMITTED_TO_BE"] = "SUBMITTED_TO_BE";
5245
+ TradeStatus2["SUBMITTED_TO_SOLVER"] = "SUBMITTED_TO_SOLVER";
5246
+ TradeStatus2["SUBMITTED"] = "SUBMITTED";
5247
+ TradeStatus2["DEPOSIT_CONFIRMED"] = "DEPOSIT_CONFIRMED";
5248
+ TradeStatus2["PMM_SELECTED"] = "PMM_SELECTED";
5249
+ TradeStatus2["PAYMENT_MADE"] = "PAYMENT_MADE";
5250
+ TradeStatus2["PAYMENT_CONFIRMED"] = "PAYMENT_CONFIRMED";
5251
+ TradeStatus2["SETTLEMENT_CONFIRMED"] = "SETTLEMENT_CONFIRMED";
5252
+ TradeStatus2["TRADE_TIMEOUT"] = "TRADE_TIMEOUT";
5253
+ TradeStatus2["TIMEOUT"] = "TIMEOUT";
5254
+ TradeStatus2["TIMEOUT_NO_DEPOSIT"] = "TIMEOUT_NO_DEPOSIT";
5255
+ TradeStatus2["PRE_REFUND"] = "PRE_REFUND";
5256
+ TradeStatus2["REFUNDED"] = "REFUNDED";
5257
+ TradeStatus2["RENEW_QUOTE"] = "RENEW_QUOTE";
5258
+ TradeStatus2["BRIDGE_FAILED"] = "BRIDGE_FAILED";
5259
+ TradeStatus2["BRIDGE_SUCCESS"] = "BRIDGE_SUCCESS";
5260
+ TradeStatus2["UNKNOWN"] = "UNKNOWN";
5261
+ return TradeStatus2;
5262
+ })(TradeStatus || {});
5263
+ var TradeType = /* @__PURE__ */ ((TradeType2) => {
5264
+ TradeType2["OPTIMISTIC"] = "OPTIMISTIC";
5265
+ TradeType2["BASIC"] = "BASIC";
5266
+ return TradeType2;
5267
+ })(TradeType || {});
5268
+ var TradeTokenSchema = import_zod3.z.object({
5269
+ id: import_zod3.z.number(),
5270
+ chainId: import_zod3.z.string(),
5271
+ tokenId: import_zod3.z.string(),
5272
+ swapType: import_zod3.z.string(),
5273
+ networkId: import_zod3.z.string(),
5274
+ tokenName: import_zod3.z.string(),
5275
+ networkName: import_zod3.z.string(),
5276
+ networkType: import_zod3.z.string(),
5277
+ tokenSymbol: import_zod3.z.string(),
5278
+ tokenAddress: import_zod3.z.string(),
5279
+ tokenLogoUri: import_zod3.z.string(),
5280
+ networkSymbol: import_zod3.z.string(),
5281
+ tokenDecimals: import_zod3.z.number(),
5282
+ networkLogoUri: import_zod3.z.string(),
5283
+ canonicalTokenId: import_zod3.z.string(),
5284
+ acrossTokenAddress: import_zod3.z.string()
5285
+ });
5286
+ var TradeEventSchema = import_zod3.z.object({
5287
+ id: import_zod3.z.number(),
5288
+ tradeId: import_zod3.z.string(),
5289
+ action: import_zod3.z.string(),
5290
+ txId: import_zod3.z.string().nullable(),
5291
+ blockNumber: import_zod3.z.number(),
5292
+ timestamp: import_zod3.z.number(),
5293
+ inputData: import_zod3.z.record(import_zod3.z.any()),
5294
+ createdAt: import_zod3.z.string(),
5295
+ updatedAt: import_zod3.z.string()
5296
+ });
5297
+ var TradeSchema = import_zod3.z.object({
5298
+ id: import_zod3.z.number(),
5299
+ tradeId: import_zod3.z.string(),
5300
+ status: import_zod3.z.nativeEnum(TradeStatus),
5301
+ tradeTimeout: import_zod3.z.number().nullable(),
5302
+ scriptTimeout: import_zod3.z.number().nullable(),
5303
+ timestamp: import_zod3.z.number().nullable(),
5304
+ fromUserAddress: import_zod3.z.string().nullable(),
5305
+ toUserAddress: import_zod3.z.string().nullable(),
5306
+ orgId: import_zod3.z.number().nullable(),
5307
+ processedAuto: import_zod3.z.boolean().nullable(),
5308
+ processedAt: import_zod3.z.string().nullable(),
5309
+ depositTxId: import_zod3.z.string().nullable(),
5310
+ settlementTxId: import_zod3.z.string().nullable(),
5311
+ toBridgeTxId: import_zod3.z.string().nullable(),
5312
+ fromBridgeTxId: import_zod3.z.string().nullable(),
5313
+ swapType: import_zod3.z.nativeEnum(TradeType).nullable(),
5314
+ amountIn: import_zod3.z.string().nullable(),
5315
+ fromToken: TradeTokenSchema.nullable(),
5316
+ toToken: TradeTokenSchema.nullable(),
5317
+ createdAt: import_zod3.z.string(),
5318
+ updatedAt: import_zod3.z.string(),
5319
+ events: import_zod3.z.array(TradeEventSchema)
5320
+ });
5321
+ var TradeResponseSchema = import_zod3.z.object({
5322
+ data: TradeSchema,
5323
+ traceId: import_zod3.z.string()
5324
+ });
5325
+
5230
5326
  // src/services/token.service.ts
5231
- var TokenResponseSchema = import_zod3.z.object({
5232
- data: import_zod3.z.object({
5233
- tokens: import_zod3.z.array(TokenSchema)
5327
+ var TokenResponseSchema = import_zod4.z.object({
5328
+ data: import_zod4.z.object({
5329
+ tokens: import_zod4.z.array(TokenSchema)
5234
5330
  }),
5235
- traceId: import_zod3.z.string()
5331
+ traceId: import_zod4.z.string()
5236
5332
  });
5237
5333
  var TokenService = class {
5238
5334
  constructor() {
@@ -5266,7 +5362,7 @@ var TokenService = class {
5266
5362
  const errorMessage = error.response?.data?.message || error.response?.data?.error || error.message;
5267
5363
  throw new Error(errorMessage);
5268
5364
  }
5269
- if (error instanceof import_zod3.z.ZodError) {
5365
+ if (error instanceof import_zod4.z.ZodError) {
5270
5366
  throw new Error(`Invalid token data received: ${error.message}`);
5271
5367
  }
5272
5368
  throw error;
@@ -5321,6 +5417,51 @@ var TokenService = class {
5321
5417
  };
5322
5418
  var tokenService = new TokenService();
5323
5419
 
5420
+ // src/services/trade.service.ts
5421
+ var import_axios3 = __toESM(require("axios"));
5422
+ var import_zod5 = require("zod");
5423
+ var TradeService = class {
5424
+ constructor() {
5425
+ this.baseURL = config.getBackendUrl();
5426
+ config.registerObserver(this);
5427
+ }
5428
+ /**
5429
+ * Implementation of ConfigObserver interface
5430
+ * Updates service when config changes
5431
+ */
5432
+ onConfigUpdate(newConfig) {
5433
+ this.baseURL = newConfig.backendUrl;
5434
+ }
5435
+ /**
5436
+ * Fetches a trade by its trade ID
5437
+ * @param tradeId The unique trade ID (hash)
5438
+ * @returns Promise<Trade> The trade details
5439
+ * @throws Error if the API request fails or response validation fails
5440
+ */
5441
+ async getTradeById(tradeId) {
5442
+ try {
5443
+ const response = await import_axios3.default.get(`${this.baseURL}/v1/trades/${tradeId}`, {
5444
+ headers: {
5445
+ Accept: "application/json"
5446
+ }
5447
+ });
5448
+ const camelCaseData = convertToCamelCase(response.data);
5449
+ const validatedResponse = TradeResponseSchema.parse(camelCaseData);
5450
+ return validatedResponse.data;
5451
+ } catch (error) {
5452
+ if (import_axios3.default.isAxiosError(error)) {
5453
+ const errorMessage = error.response?.data?.message || error.response?.data?.error || error.message;
5454
+ throw new Error(errorMessage);
5455
+ }
5456
+ if (error instanceof import_zod5.z.ZodError) {
5457
+ throw new Error(`Invalid trade data received: ${error.message}`);
5458
+ }
5459
+ throw error;
5460
+ }
5461
+ }
5462
+ };
5463
+ var tradeService = new TradeService();
5464
+
5324
5465
  // src/signatures/domain.ts
5325
5466
  async function defaultDomain(signerHelper, provider) {
5326
5467
  const chainId = (await provider.getNetwork()).chainId;
@@ -5456,6 +5597,13 @@ async function getSignature(Signer2, provider, signerHelper, tradeId, infoHash,
5456
5597
  SolverService,
5457
5598
  TokenSchema,
5458
5599
  TokenService,
5600
+ TradeEventSchema,
5601
+ TradeResponseSchema,
5602
+ TradeSchema,
5603
+ TradeService,
5604
+ TradeStatus,
5605
+ TradeTokenSchema,
5606
+ TradeType,
5459
5607
  camelToSnakeCase,
5460
5608
  config,
5461
5609
  confirmDepositType,
@@ -5485,5 +5633,6 @@ async function getSignature(Signer2, provider, signerHelper, tradeId, infoHash,
5485
5633
  signerService,
5486
5634
  snakeToCamelCase,
5487
5635
  solverService,
5488
- tokenService
5636
+ tokenService,
5637
+ tradeService
5489
5638
  });
package/dist/index.mjs CHANGED
@@ -5129,7 +5129,7 @@ var solverService = new SolverService();
5129
5129
 
5130
5130
  // src/services/token.service.ts
5131
5131
  import axios2 from "axios";
5132
- import { z as z3 } from "zod";
5132
+ import { z as z4 } from "zod";
5133
5133
 
5134
5134
  // src/types/token.ts
5135
5135
  import { z as z2 } from "zod";
@@ -5147,12 +5147,100 @@ var TokenSchema = z2.object({
5147
5147
  networkLogoUri: z2.string()
5148
5148
  });
5149
5149
 
5150
+ // src/types/trade.ts
5151
+ import { z as z3 } from "zod";
5152
+ var TradeStatus = /* @__PURE__ */ ((TradeStatus2) => {
5153
+ TradeStatus2["INIT"] = "INIT";
5154
+ TradeStatus2["PRE_SUBMIT"] = "PRE_SUBMIT";
5155
+ TradeStatus2["DEPOSITED"] = "DEPOSITED";
5156
+ TradeStatus2["SUBMITTED_TO_BE"] = "SUBMITTED_TO_BE";
5157
+ TradeStatus2["SUBMITTED_TO_SOLVER"] = "SUBMITTED_TO_SOLVER";
5158
+ TradeStatus2["SUBMITTED"] = "SUBMITTED";
5159
+ TradeStatus2["DEPOSIT_CONFIRMED"] = "DEPOSIT_CONFIRMED";
5160
+ TradeStatus2["PMM_SELECTED"] = "PMM_SELECTED";
5161
+ TradeStatus2["PAYMENT_MADE"] = "PAYMENT_MADE";
5162
+ TradeStatus2["PAYMENT_CONFIRMED"] = "PAYMENT_CONFIRMED";
5163
+ TradeStatus2["SETTLEMENT_CONFIRMED"] = "SETTLEMENT_CONFIRMED";
5164
+ TradeStatus2["TRADE_TIMEOUT"] = "TRADE_TIMEOUT";
5165
+ TradeStatus2["TIMEOUT"] = "TIMEOUT";
5166
+ TradeStatus2["TIMEOUT_NO_DEPOSIT"] = "TIMEOUT_NO_DEPOSIT";
5167
+ TradeStatus2["PRE_REFUND"] = "PRE_REFUND";
5168
+ TradeStatus2["REFUNDED"] = "REFUNDED";
5169
+ TradeStatus2["RENEW_QUOTE"] = "RENEW_QUOTE";
5170
+ TradeStatus2["BRIDGE_FAILED"] = "BRIDGE_FAILED";
5171
+ TradeStatus2["BRIDGE_SUCCESS"] = "BRIDGE_SUCCESS";
5172
+ TradeStatus2["UNKNOWN"] = "UNKNOWN";
5173
+ return TradeStatus2;
5174
+ })(TradeStatus || {});
5175
+ var TradeType = /* @__PURE__ */ ((TradeType2) => {
5176
+ TradeType2["OPTIMISTIC"] = "OPTIMISTIC";
5177
+ TradeType2["BASIC"] = "BASIC";
5178
+ return TradeType2;
5179
+ })(TradeType || {});
5180
+ var TradeTokenSchema = z3.object({
5181
+ id: z3.number(),
5182
+ chainId: z3.string(),
5183
+ tokenId: z3.string(),
5184
+ swapType: z3.string(),
5185
+ networkId: z3.string(),
5186
+ tokenName: z3.string(),
5187
+ networkName: z3.string(),
5188
+ networkType: z3.string(),
5189
+ tokenSymbol: z3.string(),
5190
+ tokenAddress: z3.string(),
5191
+ tokenLogoUri: z3.string(),
5192
+ networkSymbol: z3.string(),
5193
+ tokenDecimals: z3.number(),
5194
+ networkLogoUri: z3.string(),
5195
+ canonicalTokenId: z3.string(),
5196
+ acrossTokenAddress: z3.string()
5197
+ });
5198
+ var TradeEventSchema = z3.object({
5199
+ id: z3.number(),
5200
+ tradeId: z3.string(),
5201
+ action: z3.string(),
5202
+ txId: z3.string().nullable(),
5203
+ blockNumber: z3.number(),
5204
+ timestamp: z3.number(),
5205
+ inputData: z3.record(z3.any()),
5206
+ createdAt: z3.string(),
5207
+ updatedAt: z3.string()
5208
+ });
5209
+ var TradeSchema = z3.object({
5210
+ id: z3.number(),
5211
+ tradeId: z3.string(),
5212
+ status: z3.nativeEnum(TradeStatus),
5213
+ tradeTimeout: z3.number().nullable(),
5214
+ scriptTimeout: z3.number().nullable(),
5215
+ timestamp: z3.number().nullable(),
5216
+ fromUserAddress: z3.string().nullable(),
5217
+ toUserAddress: z3.string().nullable(),
5218
+ orgId: z3.number().nullable(),
5219
+ processedAuto: z3.boolean().nullable(),
5220
+ processedAt: z3.string().nullable(),
5221
+ depositTxId: z3.string().nullable(),
5222
+ settlementTxId: z3.string().nullable(),
5223
+ toBridgeTxId: z3.string().nullable(),
5224
+ fromBridgeTxId: z3.string().nullable(),
5225
+ swapType: z3.nativeEnum(TradeType).nullable(),
5226
+ amountIn: z3.string().nullable(),
5227
+ fromToken: TradeTokenSchema.nullable(),
5228
+ toToken: TradeTokenSchema.nullable(),
5229
+ createdAt: z3.string(),
5230
+ updatedAt: z3.string(),
5231
+ events: z3.array(TradeEventSchema)
5232
+ });
5233
+ var TradeResponseSchema = z3.object({
5234
+ data: TradeSchema,
5235
+ traceId: z3.string()
5236
+ });
5237
+
5150
5238
  // src/services/token.service.ts
5151
- var TokenResponseSchema = z3.object({
5152
- data: z3.object({
5153
- tokens: z3.array(TokenSchema)
5239
+ var TokenResponseSchema = z4.object({
5240
+ data: z4.object({
5241
+ tokens: z4.array(TokenSchema)
5154
5242
  }),
5155
- traceId: z3.string()
5243
+ traceId: z4.string()
5156
5244
  });
5157
5245
  var TokenService = class {
5158
5246
  constructor() {
@@ -5186,7 +5274,7 @@ var TokenService = class {
5186
5274
  const errorMessage = error.response?.data?.message || error.response?.data?.error || error.message;
5187
5275
  throw new Error(errorMessage);
5188
5276
  }
5189
- if (error instanceof z3.ZodError) {
5277
+ if (error instanceof z4.ZodError) {
5190
5278
  throw new Error(`Invalid token data received: ${error.message}`);
5191
5279
  }
5192
5280
  throw error;
@@ -5241,6 +5329,51 @@ var TokenService = class {
5241
5329
  };
5242
5330
  var tokenService = new TokenService();
5243
5331
 
5332
+ // src/services/trade.service.ts
5333
+ import axios3 from "axios";
5334
+ import { z as z5 } from "zod";
5335
+ var TradeService = class {
5336
+ constructor() {
5337
+ this.baseURL = config.getBackendUrl();
5338
+ config.registerObserver(this);
5339
+ }
5340
+ /**
5341
+ * Implementation of ConfigObserver interface
5342
+ * Updates service when config changes
5343
+ */
5344
+ onConfigUpdate(newConfig) {
5345
+ this.baseURL = newConfig.backendUrl;
5346
+ }
5347
+ /**
5348
+ * Fetches a trade by its trade ID
5349
+ * @param tradeId The unique trade ID (hash)
5350
+ * @returns Promise<Trade> The trade details
5351
+ * @throws Error if the API request fails or response validation fails
5352
+ */
5353
+ async getTradeById(tradeId) {
5354
+ try {
5355
+ const response = await axios3.get(`${this.baseURL}/v1/trades/${tradeId}`, {
5356
+ headers: {
5357
+ Accept: "application/json"
5358
+ }
5359
+ });
5360
+ const camelCaseData = convertToCamelCase(response.data);
5361
+ const validatedResponse = TradeResponseSchema.parse(camelCaseData);
5362
+ return validatedResponse.data;
5363
+ } catch (error) {
5364
+ if (axios3.isAxiosError(error)) {
5365
+ const errorMessage = error.response?.data?.message || error.response?.data?.error || error.message;
5366
+ throw new Error(errorMessage);
5367
+ }
5368
+ if (error instanceof z5.ZodError) {
5369
+ throw new Error(`Invalid trade data received: ${error.message}`);
5370
+ }
5371
+ throw error;
5372
+ }
5373
+ }
5374
+ };
5375
+ var tradeService = new TradeService();
5376
+
5244
5377
  // src/signatures/domain.ts
5245
5378
  async function defaultDomain(signerHelper, provider) {
5246
5379
  const chainId = (await provider.getNetwork()).chainId;
@@ -5375,6 +5508,13 @@ export {
5375
5508
  SolverService,
5376
5509
  TokenSchema,
5377
5510
  TokenService,
5511
+ TradeEventSchema,
5512
+ TradeResponseSchema,
5513
+ TradeSchema,
5514
+ TradeService,
5515
+ TradeStatus,
5516
+ TradeTokenSchema,
5517
+ TradeType,
5378
5518
  camelToSnakeCase,
5379
5519
  config,
5380
5520
  confirmDepositType,
@@ -5404,5 +5544,6 @@ export {
5404
5544
  signerService,
5405
5545
  snakeToCamelCase,
5406
5546
  solverService,
5407
- tokenService
5547
+ tokenService,
5548
+ tradeService
5408
5549
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimex-xyz/market-maker-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"