@0xsquid/react-hooks 1.0.45 → 2.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/core/constants.d.ts +2 -3
- package/dist/core/constants.js +16 -17
- package/dist/core/constants.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +4 -2
- package/dist/core/queries/queries-keys.js +12 -8
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/hooks/chains/useSquidChains.d.ts +3 -1
- package/dist/hooks/chains/useSquidChains.js +13 -3
- package/dist/hooks/chains/useSquidChains.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -1
- package/dist/hooks/index.js +4 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/squid/useSquid.js +3 -2
- package/dist/hooks/squid/useSquid.js.map +1 -1
- package/dist/hooks/store/useHistoryStore.d.ts +47 -0
- package/dist/hooks/store/useHistoryStore.js +41 -0
- package/dist/hooks/store/useHistoryStore.js.map +1 -0
- package/dist/hooks/store/useSquidStore.d.ts +12 -51
- package/dist/hooks/store/useSquidStore.js +11 -28
- package/dist/hooks/store/useSquidStore.js.map +1 -1
- package/dist/hooks/swap/useSwap.d.ts +4 -5
- package/dist/hooks/swap/useSwap.js +88 -98
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +4 -18
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.js +4 -4
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useSingleTokenPrice.d.ts +19 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +76 -4
- package/dist/hooks/tokens/useSquidTokens.js +60 -103
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/tokens/useTokensWithBalance.js +2 -2
- package/dist/hooks/tokens/useTokensWithBalance.js.map +1 -1
- package/dist/hooks/transaction/useAllTransactionsStatus.d.ts +4 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js +49 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -0
- package/dist/hooks/transaction/useEstimate.d.ts +58 -3
- package/dist/hooks/transaction/useEstimate.js +5 -5
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useEstimatePriceImpact.js +2 -2
- package/dist/hooks/transaction/useEstimatePriceImpact.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +28 -39
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useExpress.js +2 -2
- package/dist/hooks/transaction/useExpress.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +5 -0
- package/dist/hooks/transaction/useGetRoute.js +46 -19
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.d.ts +3 -4
- package/dist/hooks/transaction/useSingleTransaction.js +21 -32
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
- package/dist/hooks/transaction/useTransaction.js +5 -2
- package/dist/hooks/transaction/useTransaction.js.map +1 -1
- package/dist/hooks/user/useHistory.d.ts +12 -0
- package/dist/hooks/user/useHistory.js +94 -0
- package/dist/hooks/user/useHistory.js.map +1 -0
- package/dist/hooks/user/useUserParams.js +2 -2
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/provider/index.js +5 -5
- package/dist/provider/index.js.map +1 -1
- package/dist/services/internal/configService.d.ts +5 -5
- package/dist/services/internal/configService.js +23 -23
- package/dist/services/internal/configService.js.map +1 -1
- package/dist/services/internal/transactionService.d.ts +40 -20
- package/dist/services/internal/transactionService.js +59 -55
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/tests/configService.test.js +11 -70
- package/dist/tests/configService.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -8,7 +8,7 @@ export declare const getTokensForChain: (tokens: Token[], chainId: number | stri
|
|
|
8
8
|
* If no initial chains are found in config, returns the first available chain ID.
|
|
9
9
|
* @returns The first available chain ID.
|
|
10
10
|
*/
|
|
11
|
-
export declare const getFirstAvailableChainId: (config: AppConfig, direction: "from" | "to", chains?: ChainData[] | undefined) => string | undefined;
|
|
11
|
+
export declare const getFirstAvailableChainId: (config: Pick<AppConfig, "disabledChains" | "comingSoonChainIds" | "initialAssets">, direction: "from" | "to", chains?: ChainData[] | undefined) => string | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Returns the default token address for a specific chain and direction based on config.
|
|
14
14
|
* If no default tokens are set in config, returns the first token in the tokens array for the specified chain
|
|
@@ -20,7 +20,7 @@ export declare const getFirstAvailableChainId: (config: AppConfig, direction: "f
|
|
|
20
20
|
* @param unavailableTokenAddress The token that is unavailable. Can be useful when we don't want to show the same token in the opposite direction
|
|
21
21
|
* @returns
|
|
22
22
|
*/
|
|
23
|
-
export declare const getInitialOrDefaultTokenAddressForChain: (tokens: Token[], config: AppConfig, chainId: string | undefined, direction: "from" | "to", unavailableTokenAddress?: string) => string | undefined;
|
|
23
|
+
export declare const getInitialOrDefaultTokenAddressForChain: (tokens: Token[], config: Pick<AppConfig, "initialAssets" | "defaultTokensPerChain" | "comingSoonChainIds" | "disabledChains">, chainId: string | undefined, direction: "from" | "to", unavailableTokenAddress?: string) => string | undefined;
|
|
24
24
|
/**
|
|
25
25
|
* Retrieves the initial token address for a specific chain and direction.
|
|
26
26
|
* If no initial assets are set in config, returns undefined.
|
|
@@ -33,7 +33,7 @@ export declare const getInitialOrDefaultTokenAddressForChain: (tokens: Token[],
|
|
|
33
33
|
*/
|
|
34
34
|
export declare const getInitialTokenAddressForChain: ({ chainId, config, direction, tokens, unavailableTokenAddress, }: {
|
|
35
35
|
tokens: Token[];
|
|
36
|
-
config: AppConfig
|
|
36
|
+
config: Pick<AppConfig, "initialAssets">;
|
|
37
37
|
chainId: string | undefined;
|
|
38
38
|
direction: "from" | "to";
|
|
39
39
|
unavailableTokenAddress?: string | undefined;
|
|
@@ -59,7 +59,7 @@ export declare const filterTokensForDestination: <T extends Token>(tokens: T[],
|
|
|
59
59
|
* @returns The initial chain ID if found in config; otherwise, undefined.
|
|
60
60
|
*/
|
|
61
61
|
export declare const getInitialChainIdFromConfig: ({ config, direction, chains, }: {
|
|
62
|
-
config: AppConfig
|
|
62
|
+
config: Pick<AppConfig, "initialAssets" | "comingSoonChainIds" | "disabledChains">;
|
|
63
63
|
direction: "from" | "to";
|
|
64
64
|
chains: ChainData[] | undefined;
|
|
65
65
|
}) => string | undefined;
|
|
@@ -69,6 +69,6 @@ export declare const getInitialChainIdFromConfig: ({ config, direction, chains,
|
|
|
69
69
|
* @returns The unavailable chains for the specified direction.
|
|
70
70
|
*/
|
|
71
71
|
export declare const getUnavailableChainIdsForDirection: ({ config, direction, }: {
|
|
72
|
-
config: AppConfig
|
|
72
|
+
config: Pick<AppConfig, "disabledChains" | "comingSoonChainIds">;
|
|
73
73
|
direction: "from" | "to";
|
|
74
74
|
}) => Set<string>;
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import get from "lodash/get";
|
|
3
|
-
import {
|
|
3
|
+
import { defaultConfigValues } from "../../core/constants";
|
|
4
4
|
import { shareSubgraphId } from "./assetsService";
|
|
5
5
|
export const getConfigWithDefaults = (config) => {
|
|
6
6
|
return {
|
|
7
|
-
integratorId: get(config, "integratorId",
|
|
8
|
-
companyName: get(config, "companyName",
|
|
9
|
-
slippage: get(config, "slippage",
|
|
10
|
-
advanced: get(config, "advanced",
|
|
11
|
-
internalSameChainSwapAllowed: get(config, "internalSameChainSwapAllowed",
|
|
12
|
-
hideAnimations: get(config, "hideAnimations",
|
|
13
|
-
infiniteApproval: get(config, "infiniteApproval",
|
|
14
|
-
enableExpress: get(config, "enableExpress",
|
|
15
|
-
collectFees: get(config, "collectFees",
|
|
16
|
-
enableGetGasOnDestination: get(config, "enableGetGasOnDestination",
|
|
17
|
-
apiUrl: get(config, "apiUrl",
|
|
18
|
-
showOnRampLink: get(config, "showOnRampLink",
|
|
19
|
-
priceImpactWarnings: get(config, "priceImpactWarnings",
|
|
20
|
-
initialAssets: get(config, "initialAssets",
|
|
21
|
-
defaultTokensPerChain: get(config, "defaultTokensPerChain",
|
|
22
|
-
loadPreviousStateFromLocalStorage: get(config, "loadPreviousStateFromLocalStorage",
|
|
23
|
-
preferDex: get(config, "preferDex",
|
|
24
|
-
favTokens: get(config, "favTokens",
|
|
25
|
-
comingSoonChainIds: get(config, "comingSoonChainIds",
|
|
26
|
-
availableChains: get(config, "availableChains",
|
|
27
|
-
onChainQuoting: get(config, "onChainQuoting",
|
|
28
|
-
disabledChains: get(config, "disabledChains",
|
|
7
|
+
integratorId: get(config, "integratorId", defaultConfigValues.integratorId),
|
|
8
|
+
companyName: get(config, "companyName", defaultConfigValues.companyName),
|
|
9
|
+
slippage: get(config, "slippage", defaultConfigValues.slippage),
|
|
10
|
+
advanced: get(config, "advanced", defaultConfigValues.advanced),
|
|
11
|
+
internalSameChainSwapAllowed: get(config, "internalSameChainSwapAllowed", defaultConfigValues.internalSameChainSwapAllowed),
|
|
12
|
+
hideAnimations: get(config, "hideAnimations", defaultConfigValues.hideAnimations),
|
|
13
|
+
infiniteApproval: get(config, "infiniteApproval", defaultConfigValues.infiniteApproval),
|
|
14
|
+
enableExpress: get(config, "enableExpress", defaultConfigValues.enableExpress),
|
|
15
|
+
collectFees: get(config, "collectFees", defaultConfigValues.collectFees),
|
|
16
|
+
enableGetGasOnDestination: get(config, "enableGetGasOnDestination", defaultConfigValues.enableGetGasOnDestination),
|
|
17
|
+
apiUrl: get(config, "apiUrl", defaultConfigValues.apiUrl),
|
|
18
|
+
showOnRampLink: get(config, "showOnRampLink", defaultConfigValues.showOnRampLink),
|
|
19
|
+
priceImpactWarnings: get(config, "priceImpactWarnings", defaultConfigValues.priceImpactWarnings),
|
|
20
|
+
initialAssets: get(config, "initialAssets", defaultConfigValues.initialAssets),
|
|
21
|
+
defaultTokensPerChain: get(config, "defaultTokensPerChain", defaultConfigValues.defaultTokensPerChain),
|
|
22
|
+
loadPreviousStateFromLocalStorage: get(config, "loadPreviousStateFromLocalStorage", defaultConfigValues.loadPreviousStateFromLocalStorage),
|
|
23
|
+
preferDex: get(config, "preferDex", defaultConfigValues.preferDex),
|
|
24
|
+
favTokens: get(config, "favTokens", defaultConfigValues.favTokens),
|
|
25
|
+
comingSoonChainIds: get(config, "comingSoonChainIds", defaultConfigValues.comingSoonChainIds),
|
|
26
|
+
availableChains: get(config, "availableChains", defaultConfigValues.availableChains),
|
|
27
|
+
onChainQuoting: get(config, "onChainQuoting", defaultConfigValues.onChainQuoting),
|
|
28
|
+
disabledChains: get(config, "disabledChains", defaultConfigValues.disabledChains),
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
31
|
export const randomIntFromInterval = (min, max) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configService.js","sourceRoot":"","sources":["../../../src/services/internal/configService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"configService.js","sourceRoot":"","sources":["../../../src/services/internal/configService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
import type { ChainData } from "@0xsquid/squid-types";
|
|
2
|
-
import type { TransactionHistoryStore, TransactionParams
|
|
3
|
-
|
|
4
|
-
* Helper to find the desired transaction history in array
|
|
5
|
-
* @param transactionID
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export declare const findHistoryItem: (transactionID: string | undefined) => TransactionHistoryStore | undefined;
|
|
9
|
-
/**
|
|
10
|
-
* Will return the same object but with the desired transaction history
|
|
11
|
-
* Status changed
|
|
12
|
-
* @param transactionID
|
|
13
|
-
* @param status
|
|
14
|
-
* @param transactionsHistory
|
|
15
|
-
* @param statusResponse
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
export declare const updateTransactionHistoryStatus: (transactionID: string | undefined, status: TransactionStatus, transactionsHistory: TransactionHistoryStore[] | undefined, statusResponse: any | undefined) => TransactionHistoryStore[];
|
|
19
|
-
export declare const replaceTransactionAtNonce: (nonce: number, fromAddress: string, transactionsHistory: TransactionHistoryStore[] | undefined, TransactionHistoryStore: TransactionHistoryStore) => TransactionHistoryStore[];
|
|
1
|
+
import type { ChainData, StatusResponse } from "@0xsquid/squid-types";
|
|
2
|
+
import type { TransactionHistoryStore, TransactionParams } from "../../core/types/transaction";
|
|
3
|
+
import { SimplifiedTransactionHistory } from "../../hooks/store/useHistoryStore";
|
|
20
4
|
export declare const formatTransactionHistoryDate: (transaction: TransactionHistoryStore | undefined) => {
|
|
21
5
|
month: string;
|
|
22
6
|
day: string;
|
|
@@ -30,13 +14,49 @@ export declare const getMainExplorerUrl: (transaction?: TransactionParams) => an
|
|
|
30
14
|
* @param transaction
|
|
31
15
|
* @returns
|
|
32
16
|
*/
|
|
33
|
-
export declare const isCCTPBridge: (transaction:
|
|
17
|
+
export declare const isCCTPBridge: (transaction: Pick<SimplifiedTransactionHistory, "fromChain" | "toChain"> | undefined) => boolean | undefined;
|
|
34
18
|
export declare const formatDistance: (date: number | Date, baseDate: number | Date, options?: {
|
|
35
19
|
includeSeconds?: boolean | undefined;
|
|
36
20
|
addSuffix?: boolean | undefined;
|
|
37
21
|
locale?: Locale | undefined;
|
|
38
22
|
}) => string;
|
|
39
23
|
export declare const formatSeconds: (seconds: number, secondsTemplate?: string, minutesTemplate?: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Remove the chainData from statusResponse to gain some storage space
|
|
26
|
+
* @param sr
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export declare const formatStatusResponseForStorage: (sr?: StatusResponse) => StatusResponse | undefined;
|
|
30
|
+
export declare const formatTxForStorage: (tx: SimplifiedTransactionHistory) => {
|
|
31
|
+
statusResponse: StatusResponse | undefined;
|
|
32
|
+
fromChain: string;
|
|
33
|
+
fromToken: string;
|
|
34
|
+
fromAddress: string;
|
|
35
|
+
fromAmount: string;
|
|
36
|
+
toChain: string;
|
|
37
|
+
toToken: string;
|
|
38
|
+
transactionId: string;
|
|
39
|
+
toAddress: string;
|
|
40
|
+
toAmount: string;
|
|
41
|
+
toAmountMin: string;
|
|
42
|
+
exchangeRate: string;
|
|
43
|
+
status: import("../../core/types/transaction").TransactionStatus;
|
|
44
|
+
aggregatePriceImpact?: string | undefined;
|
|
45
|
+
toAmountMinUSD?: string | undefined;
|
|
46
|
+
fromAmountUSD?: string | undefined;
|
|
47
|
+
toAmountUSD?: string | undefined;
|
|
48
|
+
timestamp: number;
|
|
49
|
+
slippage?: number | undefined;
|
|
50
|
+
enableBoost?: boolean | undefined;
|
|
51
|
+
nonce?: number | undefined;
|
|
52
|
+
routeType: string | undefined;
|
|
53
|
+
sourceTxExplorerUrl?: string | undefined;
|
|
54
|
+
};
|
|
55
|
+
export declare const fetchTransactionStatus: ({ transaction, integratorId, currentRequestId, }: {
|
|
56
|
+
transaction?: Pick<SimplifiedTransactionHistory, "status" | "fromChain" | "toChain" | "transactionId"> | undefined;
|
|
57
|
+
integratorId: string;
|
|
58
|
+
currentRequestId?: string | undefined;
|
|
59
|
+
}) => Promise<StatusResponse>;
|
|
40
60
|
interface Locale {
|
|
41
61
|
locale?: string;
|
|
42
62
|
}
|
|
@@ -1,57 +1,7 @@
|
|
|
1
|
+
import axios, { AxiosError } from "axios";
|
|
2
|
+
import { squidApiBaseUrl } from "../../core/externalLinks";
|
|
1
3
|
import { TransactionType } from "../../core/types/transaction";
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
* Helper to find the desired transaction history in array
|
|
5
|
-
* @param transactionID
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export const findHistoryItem = (transactionID) => {
|
|
9
|
-
// TODO: This works but could be improved, persistStore shouldnt be used directly
|
|
10
|
-
// Or move this inside a callback hook
|
|
11
|
-
return usePersistStore
|
|
12
|
-
.getState()
|
|
13
|
-
.transactionsHistory?.find((th) => th.transactionId === transactionID);
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Will return the same object but with the desired transaction history
|
|
17
|
-
* Status changed
|
|
18
|
-
* @param transactionID
|
|
19
|
-
* @param status
|
|
20
|
-
* @param transactionsHistory
|
|
21
|
-
* @param statusResponse
|
|
22
|
-
* @returns
|
|
23
|
-
*/
|
|
24
|
-
export const updateTransactionHistoryStatus = (transactionID, status, transactionsHistory, statusResponse) => {
|
|
25
|
-
return (transactionsHistory?.map((th) => {
|
|
26
|
-
// Use the status response from the query if available, if not, use the one from the store
|
|
27
|
-
statusResponse = statusResponse ?? th.statusResponse;
|
|
28
|
-
// If the transaction is already in the store and had a different status, update status
|
|
29
|
-
if (th.transactionId === transactionID && th.status !== status) {
|
|
30
|
-
return {
|
|
31
|
-
...th,
|
|
32
|
-
status,
|
|
33
|
-
statusResponse,
|
|
34
|
-
axelarUrl: statusResponse?.axelarTransactionUrl,
|
|
35
|
-
sourceTxExplorerUrl: statusResponse?.fromChain?.transactionUrl,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
...th,
|
|
40
|
-
axelarUrl: statusResponse?.axelarTransactionUrl,
|
|
41
|
-
sourceTxExplorerUrl: statusResponse?.fromChain?.transactionUrl,
|
|
42
|
-
};
|
|
43
|
-
}) ?? []);
|
|
44
|
-
};
|
|
45
|
-
export const replaceTransactionAtNonce = (nonce, fromAddress, transactionsHistory, TransactionHistoryStore) => {
|
|
46
|
-
const newTransactionsHistory = transactionsHistory ?? [];
|
|
47
|
-
// Find the transaction with the same nonce and from address
|
|
48
|
-
const transactionIndex = transactionsHistory?.findIndex((th) => th.nonce === nonce && th.fromAddress === fromAddress);
|
|
49
|
-
// If found, replace it with the new transaction
|
|
50
|
-
if (transactionIndex !== undefined && transactionIndex !== -1) {
|
|
51
|
-
newTransactionsHistory[transactionIndex] = TransactionHistoryStore;
|
|
52
|
-
}
|
|
53
|
-
return newTransactionsHistory;
|
|
54
|
-
};
|
|
4
|
+
import { getQueryHeaders } from "./apiService";
|
|
55
5
|
export const formatTransactionHistoryDate = (transaction) => {
|
|
56
6
|
if (!transaction?.timestamp)
|
|
57
7
|
return undefined;
|
|
@@ -119,8 +69,8 @@ export const getMainExplorerUrl = (transaction) => {
|
|
|
119
69
|
* @returns
|
|
120
70
|
*/
|
|
121
71
|
export const isCCTPBridge = (transaction) => {
|
|
122
|
-
return (transaction?.fromChain
|
|
123
|
-
transaction?.toChain
|
|
72
|
+
return (transaction?.fromChain.includes("noble") ||
|
|
73
|
+
transaction?.toChain.includes("noble"));
|
|
124
74
|
};
|
|
125
75
|
export const formatDistance = (date, baseDate, options) => {
|
|
126
76
|
const { includeSeconds = false, addSuffix = false, locale = { locale: "en-US" }, } = options || {};
|
|
@@ -169,4 +119,58 @@ export const formatSeconds = (seconds, secondsTemplate = " seconds", minutesTemp
|
|
|
169
119
|
.replace(" minutes", minutesTemplate)
|
|
170
120
|
.replace(" minute", minutesTemplate);
|
|
171
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* Remove the chainData from statusResponse to gain some storage space
|
|
124
|
+
* @param sr
|
|
125
|
+
* @returns
|
|
126
|
+
*/
|
|
127
|
+
export const formatStatusResponseForStorage = (sr) => {
|
|
128
|
+
if (!sr) {
|
|
129
|
+
return sr;
|
|
130
|
+
}
|
|
131
|
+
const formattedSrcChain = sr.fromChain
|
|
132
|
+
? {
|
|
133
|
+
...sr.fromChain,
|
|
134
|
+
chainData: undefined,
|
|
135
|
+
}
|
|
136
|
+
: undefined;
|
|
137
|
+
const formattedDestChain = sr.toChain
|
|
138
|
+
? {
|
|
139
|
+
...sr.toChain,
|
|
140
|
+
chainData: undefined,
|
|
141
|
+
}
|
|
142
|
+
: undefined;
|
|
143
|
+
return {
|
|
144
|
+
...sr,
|
|
145
|
+
fromChain: formattedSrcChain,
|
|
146
|
+
toChain: formattedDestChain,
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
export const formatTxForStorage = (tx) => {
|
|
150
|
+
return {
|
|
151
|
+
...tx,
|
|
152
|
+
statusResponse: formatStatusResponseForStorage(tx.statusResponse),
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
export const fetchTransactionStatus = async ({ transaction, integratorId, currentRequestId, }) => {
|
|
156
|
+
const statusEndpoint = `${squidApiBaseUrl}/v2/status`;
|
|
157
|
+
try {
|
|
158
|
+
const response = await axios.get(statusEndpoint, {
|
|
159
|
+
params: {
|
|
160
|
+
transactionId: transaction?.transactionId,
|
|
161
|
+
fromChainId: transaction?.fromChain,
|
|
162
|
+
toChainId: transaction?.toChain,
|
|
163
|
+
...(isCCTPBridge(transaction) ? { bridgeType: "cctp" } : {}),
|
|
164
|
+
},
|
|
165
|
+
headers: getQueryHeaders(integratorId, currentRequestId ?? ""),
|
|
166
|
+
});
|
|
167
|
+
return response.data;
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
if (error instanceof AxiosError) {
|
|
171
|
+
throw new Error("Fetch transaction status failed", { cause: error });
|
|
172
|
+
}
|
|
173
|
+
throw error;
|
|
174
|
+
}
|
|
175
|
+
};
|
|
172
176
|
//# sourceMappingURL=transactionService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionService.ts"],"names":[],"mappings":"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"}
|