@metamask/bridge-status-controller 66.1.0 → 67.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.
@@ -10,9 +10,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _IntentApiImpl_baseUrl, _IntentApiImpl_fetchFn;
13
- import { StatusTypes } from "@metamask/bridge-controller";
13
+ import { getClientHeaders, StatusTypes } from "@metamask/bridge-controller";
14
14
  import { TransactionStatus } from "@metamask/transaction-controller";
15
- import { getClientIdHeader } from "./bridge-status.mjs";
16
15
  import { IntentOrderStatus, validateIntentOrderResponse } from "./validators.mjs";
17
16
  export class IntentApiImpl {
18
17
  constructor(baseUrl, fetchFn) {
@@ -21,14 +20,14 @@ export class IntentApiImpl {
21
20
  __classPrivateFieldSet(this, _IntentApiImpl_baseUrl, baseUrl, "f");
22
21
  __classPrivateFieldSet(this, _IntentApiImpl_fetchFn, fetchFn, "f");
23
22
  }
24
- async submitIntent(params, clientId) {
23
+ async submitIntent(params, clientId, jwt) {
25
24
  const endpoint = `${__classPrivateFieldGet(this, _IntentApiImpl_baseUrl, "f")}/submitOrder`;
26
25
  try {
27
26
  const response = await __classPrivateFieldGet(this, _IntentApiImpl_fetchFn, "f").call(this, endpoint, {
28
27
  method: 'POST',
29
28
  headers: {
30
29
  'Content-Type': 'application/json',
31
- ...getClientIdHeader(clientId),
30
+ ...getClientHeaders({ clientId, jwt }),
32
31
  },
33
32
  body: JSON.stringify(params),
34
33
  });
@@ -44,12 +43,12 @@ export class IntentApiImpl {
44
43
  throw new Error('Failed to submit intent');
45
44
  }
46
45
  }
47
- async getOrderStatus(orderId, aggregatorId, srcChainId, clientId) {
46
+ async getOrderStatus(orderId, aggregatorId, srcChainId, clientId, jwt) {
48
47
  const endpoint = `${__classPrivateFieldGet(this, _IntentApiImpl_baseUrl, "f")}/getOrderStatus?orderId=${orderId}&aggregatorId=${encodeURIComponent(aggregatorId)}&srcChainId=${srcChainId}`;
49
48
  try {
50
49
  const response = await __classPrivateFieldGet(this, _IntentApiImpl_fetchFn, "f").call(this, endpoint, {
51
50
  method: 'GET',
52
- headers: getClientIdHeader(clientId),
51
+ headers: getClientHeaders({ clientId, jwt }),
53
52
  });
54
53
  if (!validateIntentOrderResponse(response)) {
55
54
  throw new Error('Invalid getOrderStatus response');
@@ -1 +1 @@
1
- {"version":3,"file":"intent-api.mjs","sourceRoot":"","sources":["../../src/utils/intent-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { StatusTypes } from '@metamask/bridge-controller';\nimport { TransactionStatus } from '@metamask/transaction-controller';\n\nimport { getClientIdHeader } from './bridge-status';\nimport {\n IntentOrder,\n IntentOrderStatus,\n validateIntentOrderResponse,\n} from './validators';\nimport type { FetchFunction, StatusResponse } from '../types';\n\nexport type IntentSubmissionParams = {\n srcChainId: string;\n quoteId: string;\n signature: string;\n order: unknown;\n userAddress: string;\n aggregatorId: string;\n};\n\nexport type IntentApi = {\n submitIntent(\n params: IntentSubmissionParams,\n clientId: string,\n ): Promise<IntentOrder>;\n getOrderStatus(\n orderId: string,\n aggregatorId: string,\n srcChainId: string,\n clientId: string,\n ): Promise<IntentOrder>;\n};\n\nexport class IntentApiImpl implements IntentApi {\n readonly #baseUrl: string;\n\n readonly #fetchFn: FetchFunction;\n\n constructor(baseUrl: string, fetchFn: FetchFunction) {\n this.#baseUrl = baseUrl;\n this.#fetchFn = fetchFn;\n }\n\n async submitIntent(\n params: IntentSubmissionParams,\n clientId: string,\n ): Promise<IntentOrder> {\n const endpoint = `${this.#baseUrl}/submitOrder`;\n try {\n const response = await this.#fetchFn(endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...getClientIdHeader(clientId),\n },\n body: JSON.stringify(params),\n });\n if (!validateIntentOrderResponse(response)) {\n throw new Error('Invalid submitOrder response');\n }\n return response;\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(`Failed to submit intent: ${error.message}`);\n }\n throw new Error('Failed to submit intent');\n }\n }\n\n async getOrderStatus(\n orderId: string,\n aggregatorId: string,\n srcChainId: string,\n clientId: string,\n ): Promise<IntentOrder> {\n const endpoint = `${this.#baseUrl}/getOrderStatus?orderId=${orderId}&aggregatorId=${encodeURIComponent(aggregatorId)}&srcChainId=${srcChainId}`;\n try {\n const response = await this.#fetchFn(endpoint, {\n method: 'GET',\n headers: getClientIdHeader(clientId),\n });\n if (!validateIntentOrderResponse(response)) {\n throw new Error('Invalid getOrderStatus response');\n }\n return response;\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(`Failed to get order status: ${error.message}`);\n }\n throw new Error('Failed to get order status');\n }\n }\n}\n\nexport type IntentStatusTranslation = {\n status: StatusResponse;\n txHash?: string;\n transactionStatus: TransactionStatus;\n};\n\nexport const translateIntentOrderToBridgeStatus = (\n intentOrder: IntentOrder,\n srcChainId: number,\n fallbackTxHash?: string,\n): IntentStatusTranslation => {\n let statusType: StatusTypes;\n switch (intentOrder.status) {\n case IntentOrderStatus.CONFIRMED:\n case IntentOrderStatus.COMPLETED:\n statusType = StatusTypes.COMPLETE;\n break;\n case IntentOrderStatus.FAILED:\n case IntentOrderStatus.EXPIRED:\n case IntentOrderStatus.CANCELLED:\n statusType = StatusTypes.FAILED;\n break;\n case IntentOrderStatus.PENDING:\n statusType = StatusTypes.PENDING;\n break;\n case IntentOrderStatus.SUBMITTED:\n statusType = StatusTypes.SUBMITTED;\n break;\n default:\n statusType = StatusTypes.UNKNOWN;\n }\n\n const txHash = intentOrder.txHash ?? fallbackTxHash ?? '';\n const status: StatusResponse = {\n status: statusType,\n srcChain: {\n chainId: srcChainId,\n txHash,\n },\n };\n\n return {\n status,\n txHash: intentOrder.txHash,\n transactionStatus: mapIntentOrderStatusToTransactionStatus(\n intentOrder.status,\n ),\n };\n};\n\nexport function mapIntentOrderStatusToTransactionStatus(\n intentStatus: IntentOrderStatus,\n): TransactionStatus {\n switch (intentStatus) {\n case IntentOrderStatus.PENDING:\n case IntentOrderStatus.SUBMITTED:\n return TransactionStatus.submitted;\n case IntentOrderStatus.CONFIRMED:\n case IntentOrderStatus.COMPLETED:\n return TransactionStatus.confirmed;\n case IntentOrderStatus.FAILED:\n case IntentOrderStatus.EXPIRED:\n case IntentOrderStatus.CANCELLED:\n return TransactionStatus.failed;\n default:\n return TransactionStatus.submitted;\n }\n}\n"]}
1
+ {"version":3,"file":"intent-api.mjs","sourceRoot":"","sources":["../../src/utils/intent-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { getClientHeaders, StatusTypes } from '@metamask/bridge-controller';\nimport { TransactionStatus } from '@metamask/transaction-controller';\n\nimport {\n IntentOrder,\n IntentOrderStatus,\n validateIntentOrderResponse,\n} from './validators';\nimport type { FetchFunction, StatusResponse } from '../types';\n\nexport type IntentSubmissionParams = {\n srcChainId: string;\n quoteId: string;\n signature: string;\n order: unknown;\n userAddress: string;\n aggregatorId: string;\n};\n\nexport type IntentApi = {\n submitIntent(\n params: IntentSubmissionParams,\n clientId: string,\n jwt: string,\n ): Promise<IntentOrder>;\n getOrderStatus(\n orderId: string,\n aggregatorId: string,\n srcChainId: string,\n clientId: string,\n jwt: string,\n ): Promise<IntentOrder>;\n};\n\nexport class IntentApiImpl implements IntentApi {\n readonly #baseUrl: string;\n\n readonly #fetchFn: FetchFunction;\n\n constructor(baseUrl: string, fetchFn: FetchFunction) {\n this.#baseUrl = baseUrl;\n this.#fetchFn = fetchFn;\n }\n\n async submitIntent(\n params: IntentSubmissionParams,\n clientId: string,\n jwt: string | undefined,\n ): Promise<IntentOrder> {\n const endpoint = `${this.#baseUrl}/submitOrder`;\n try {\n const response = await this.#fetchFn(endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...getClientHeaders({ clientId, jwt }),\n },\n body: JSON.stringify(params),\n });\n if (!validateIntentOrderResponse(response)) {\n throw new Error('Invalid submitOrder response');\n }\n return response;\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(`Failed to submit intent: ${error.message}`);\n }\n throw new Error('Failed to submit intent');\n }\n }\n\n async getOrderStatus(\n orderId: string,\n aggregatorId: string,\n srcChainId: string,\n clientId: string,\n jwt: string | undefined,\n ): Promise<IntentOrder> {\n const endpoint = `${this.#baseUrl}/getOrderStatus?orderId=${orderId}&aggregatorId=${encodeURIComponent(aggregatorId)}&srcChainId=${srcChainId}`;\n try {\n const response = await this.#fetchFn(endpoint, {\n method: 'GET',\n headers: getClientHeaders({ clientId, jwt }),\n });\n if (!validateIntentOrderResponse(response)) {\n throw new Error('Invalid getOrderStatus response');\n }\n return response;\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(`Failed to get order status: ${error.message}`);\n }\n throw new Error('Failed to get order status');\n }\n }\n}\n\nexport type IntentStatusTranslation = {\n status: StatusResponse;\n txHash?: string;\n transactionStatus: TransactionStatus;\n};\n\nexport const translateIntentOrderToBridgeStatus = (\n intentOrder: IntentOrder,\n srcChainId: number,\n fallbackTxHash?: string,\n): IntentStatusTranslation => {\n let statusType: StatusTypes;\n switch (intentOrder.status) {\n case IntentOrderStatus.CONFIRMED:\n case IntentOrderStatus.COMPLETED:\n statusType = StatusTypes.COMPLETE;\n break;\n case IntentOrderStatus.FAILED:\n case IntentOrderStatus.EXPIRED:\n case IntentOrderStatus.CANCELLED:\n statusType = StatusTypes.FAILED;\n break;\n case IntentOrderStatus.PENDING:\n statusType = StatusTypes.PENDING;\n break;\n case IntentOrderStatus.SUBMITTED:\n statusType = StatusTypes.SUBMITTED;\n break;\n default:\n statusType = StatusTypes.UNKNOWN;\n }\n\n const txHash = intentOrder.txHash ?? fallbackTxHash ?? '';\n const status: StatusResponse = {\n status: statusType,\n srcChain: {\n chainId: srcChainId,\n txHash,\n },\n };\n\n return {\n status,\n txHash: intentOrder.txHash,\n transactionStatus: mapIntentOrderStatusToTransactionStatus(\n intentOrder.status,\n ),\n };\n};\n\nexport function mapIntentOrderStatusToTransactionStatus(\n intentStatus: IntentOrderStatus,\n): TransactionStatus {\n switch (intentStatus) {\n case IntentOrderStatus.PENDING:\n case IntentOrderStatus.SUBMITTED:\n return TransactionStatus.submitted;\n case IntentOrderStatus.CONFIRMED:\n case IntentOrderStatus.COMPLETED:\n return TransactionStatus.confirmed;\n case IntentOrderStatus.FAILED:\n case IntentOrderStatus.EXPIRED:\n case IntentOrderStatus.CANCELLED:\n return TransactionStatus.failed;\n default:\n return TransactionStatus.submitted;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/bridge-status-controller",
3
- "version": "66.1.0",
3
+ "version": "67.0.0",
4
4
  "description": "Manages bridge-related status fetching functionality for MetaMask",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -50,11 +50,12 @@
50
50
  "dependencies": {
51
51
  "@metamask/accounts-controller": "^36.0.0",
52
52
  "@metamask/base-controller": "^9.0.0",
53
- "@metamask/bridge-controller": "^66.2.0",
53
+ "@metamask/bridge-controller": "^67.0.0",
54
54
  "@metamask/controller-utils": "^11.18.0",
55
55
  "@metamask/gas-fee-controller": "^26.0.2",
56
56
  "@metamask/network-controller": "^29.0.0",
57
57
  "@metamask/polling-controller": "^16.0.2",
58
+ "@metamask/profile-sync-controller": "^27.1.0",
58
59
  "@metamask/snaps-controllers": "^17.2.0",
59
60
  "@metamask/superstruct": "^3.1.0",
60
61
  "@metamask/transaction-controller": "^62.17.0",