@lifi/sdk 3.6.0-beta.2 → 3.6.0-beta.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/package.json +4 -4
- package/src/_cjs/core/EVM/EVMStepExecutor.js +250 -211
- package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_cjs/core/EVM/getNativePermit.js +127 -59
- package/src/_cjs/core/EVM/getNativePermit.js.map +1 -1
- package/src/_cjs/core/EVM/parseEVMErrors.js +2 -1
- package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
- package/src/_cjs/core/EVM/signPermitMessage.js +1 -7
- package/src/_cjs/core/EVM/signPermitMessage.js.map +1 -1
- package/src/_cjs/core/EVM/typeguards.js +3 -3
- package/src/_cjs/core/EVM/typeguards.js.map +1 -1
- package/src/_cjs/core/Solana/SolanaStepExecutor.js +1 -13
- package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -1
- package/src/_cjs/core/StatusManager.js +13 -9
- package/src/_cjs/core/StatusManager.js.map +1 -1
- package/src/_cjs/core/UTXO/UTXOStepExecutor.js +1 -13
- package/src/_cjs/core/UTXO/UTXOStepExecutor.js.map +1 -1
- package/src/_cjs/core/UTXO/getUTXOAPIPublicClient.js +3 -3
- package/src/_cjs/core/UTXO/getUTXOAPIPublicClient.js.map +1 -1
- package/src/_cjs/core/UTXO/parseUTXOErrors.js.map +1 -1
- package/src/_cjs/core/processMessages.js +22 -15
- package/src/_cjs/core/processMessages.js.map +1 -1
- package/src/_cjs/core/waitForDestinationChainTransaction.js +16 -1
- package/src/_cjs/core/waitForDestinationChainTransaction.js.map +1 -1
- package/src/_cjs/core/waitForTransactionStatus.js.map +1 -1
- package/src/_cjs/errors/SDKError.js.map +1 -1
- package/src/_cjs/index.js +2 -2
- package/src/_cjs/index.js.map +1 -1
- package/src/_cjs/utils/getTransactionMessage.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_esm/core/EVM/EVMStepExecutor.js +273 -233
- package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_esm/core/EVM/getNativePermit.js +147 -60
- package/src/_esm/core/EVM/getNativePermit.js.map +1 -1
- package/src/_esm/core/EVM/parseEVMErrors.js +2 -1
- package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
- package/src/_esm/core/EVM/signPermitMessage.js +1 -7
- package/src/_esm/core/EVM/signPermitMessage.js.map +1 -1
- package/src/_esm/core/EVM/typeguards.js +2 -2
- package/src/_esm/core/EVM/typeguards.js.map +1 -1
- package/src/_esm/core/Solana/SolanaStepExecutor.js +1 -14
- package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -1
- package/src/_esm/core/StatusManager.js +24 -18
- package/src/_esm/core/StatusManager.js.map +1 -1
- package/src/_esm/core/UTXO/UTXOStepExecutor.js +1 -14
- package/src/_esm/core/UTXO/UTXOStepExecutor.js.map +1 -1
- package/src/_esm/core/UTXO/getUTXOAPIPublicClient.js +3 -3
- package/src/_esm/core/UTXO/getUTXOAPIPublicClient.js.map +1 -1
- package/src/_esm/core/UTXO/parseUTXOErrors.js.map +1 -1
- package/src/_esm/core/processMessages.js +22 -15
- package/src/_esm/core/processMessages.js.map +1 -1
- package/src/_esm/core/waitForDestinationChainTransaction.js +17 -1
- package/src/_esm/core/waitForDestinationChainTransaction.js.map +1 -1
- package/src/_esm/core/waitForTransactionStatus.js.map +1 -1
- package/src/_esm/errors/SDKError.js.map +1 -1
- package/src/_esm/index.js +1 -1
- package/src/_esm/index.js.map +1 -1
- package/src/_esm/utils/getTransactionMessage.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_types/core/EVM/EVMStepExecutor.d.ts +13 -3
- package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
- package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
- package/src/_types/core/EVM/getNativePermit.d.ts +2 -0
- package/src/_types/core/EVM/getNativePermit.d.ts.map +1 -1
- package/src/_types/core/EVM/parseEVMErrors.d.ts +2 -1
- package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -1
- package/src/_types/core/EVM/signPermitMessage.d.ts.map +1 -1
- package/src/_types/core/EVM/typeguards.d.ts +1 -1
- package/src/_types/core/EVM/typeguards.d.ts.map +1 -1
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
- package/src/_types/core/Solana/parseSolanaErrors.d.ts +2 -1
- package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -1
- package/src/_types/core/StatusManager.d.ts +14 -11
- package/src/_types/core/StatusManager.d.ts.map +1 -1
- package/src/_types/core/UTXO/UTXOStepExecutor.d.ts.map +1 -1
- package/src/_types/core/UTXO/parseUTXOErrors.d.ts +2 -1
- package/src/_types/core/UTXO/parseUTXOErrors.d.ts.map +1 -1
- package/src/_types/core/processMessages.d.ts +3 -1
- package/src/_types/core/processMessages.d.ts.map +1 -1
- package/src/_types/core/types.d.ts +32 -1
- package/src/_types/core/types.d.ts.map +1 -1
- package/src/_types/core/waitForDestinationChainTransaction.d.ts +3 -3
- package/src/_types/core/waitForDestinationChainTransaction.d.ts.map +1 -1
- package/src/_types/core/waitForTransactionStatus.d.ts +2 -1
- package/src/_types/core/waitForTransactionStatus.d.ts.map +1 -1
- package/src/_types/errors/SDKError.d.ts +2 -1
- package/src/_types/errors/SDKError.d.ts.map +1 -1
- package/src/_types/index.d.ts +2 -2
- package/src/_types/index.d.ts.map +1 -1
- package/src/_types/utils/getTransactionMessage.d.ts +2 -1
- package/src/_types/utils/getTransactionMessage.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/core/EVM/EVMStepExecutor.ts +353 -293
- package/src/core/EVM/checkAllowance.ts +2 -2
- package/src/core/EVM/getNativePermit.ts +219 -66
- package/src/core/EVM/parseEVMErrors.ts +6 -2
- package/src/core/EVM/signPermitMessage.ts +1 -8
- package/src/core/EVM/typeguards.ts +2 -2
- package/src/core/Solana/SolanaStepExecutor.ts +2 -16
- package/src/core/Solana/parseSolanaErrors.ts +2 -1
- package/src/core/StatusManager.ts +38 -26
- package/src/core/UTXO/UTXOStepExecutor.ts +2 -16
- package/src/core/UTXO/getUTXOAPIPublicClient.ts +3 -3
- package/src/core/UTXO/parseUTXOErrors.ts +2 -1
- package/src/core/processMessages.ts +25 -21
- package/src/core/types.ts +54 -1
- package/src/core/waitForDestinationChainTransaction.ts +21 -4
- package/src/core/waitForTransactionStatus.ts +2 -6
- package/src/errors/SDKError.ts +2 -1
- package/src/index.ts +6 -1
- package/src/utils/getTransactionMessage.ts +2 -1
- package/src/version.ts +1 -1
package/src/core/types.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
ChainType,
|
|
3
|
-
|
|
3
|
+
FeeCost,
|
|
4
|
+
GasCost,
|
|
4
5
|
LiFiStep,
|
|
5
6
|
Route,
|
|
6
7
|
Step,
|
|
8
|
+
Substatus,
|
|
7
9
|
Token,
|
|
8
10
|
TokenAmount,
|
|
9
11
|
} from '@lifi/types'
|
|
@@ -117,3 +119,54 @@ export interface ExecutionOptions {
|
|
|
117
119
|
*/
|
|
118
120
|
infiniteApproval?: boolean
|
|
119
121
|
}
|
|
122
|
+
|
|
123
|
+
export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE'
|
|
124
|
+
|
|
125
|
+
export type ProcessStatus =
|
|
126
|
+
| 'STARTED'
|
|
127
|
+
| 'ACTION_REQUIRED'
|
|
128
|
+
| 'PENDING'
|
|
129
|
+
| 'FAILED'
|
|
130
|
+
| 'DONE'
|
|
131
|
+
| 'CANCELLED'
|
|
132
|
+
|
|
133
|
+
export type ProcessType =
|
|
134
|
+
| 'TOKEN_ALLOWANCE'
|
|
135
|
+
| 'PERMIT'
|
|
136
|
+
| 'SWITCH_CHAIN'
|
|
137
|
+
| 'SWAP'
|
|
138
|
+
| 'CROSS_CHAIN'
|
|
139
|
+
| 'RECEIVING_CHAIN'
|
|
140
|
+
| 'TRANSACTION'
|
|
141
|
+
|
|
142
|
+
export type Process = {
|
|
143
|
+
type: ProcessType
|
|
144
|
+
status: ProcessStatus
|
|
145
|
+
substatus?: Substatus
|
|
146
|
+
chainId?: number
|
|
147
|
+
txHash?: string
|
|
148
|
+
multisigTxHash?: string
|
|
149
|
+
txLink?: string
|
|
150
|
+
startedAt: number
|
|
151
|
+
doneAt?: number
|
|
152
|
+
failedAt?: number
|
|
153
|
+
message?: string
|
|
154
|
+
error?: {
|
|
155
|
+
code: string | number
|
|
156
|
+
message: string
|
|
157
|
+
htmlMessage?: string
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// additional information
|
|
161
|
+
[key: string]: any
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface Execution {
|
|
165
|
+
status: ExecutionStatus
|
|
166
|
+
process: Array<Process>
|
|
167
|
+
fromAmount?: string
|
|
168
|
+
toAmount?: string
|
|
169
|
+
toToken?: Token
|
|
170
|
+
feeCosts?: FeeCost[]
|
|
171
|
+
gasCosts?: GasCost[]
|
|
172
|
+
}
|
|
@@ -2,23 +2,40 @@ import type {
|
|
|
2
2
|
ExtendedChain,
|
|
3
3
|
ExtendedTransactionInfo,
|
|
4
4
|
FullStatusData,
|
|
5
|
-
ProcessType,
|
|
6
5
|
} from '@lifi/types'
|
|
7
6
|
import { LiFiErrorCode } from '../errors/constants.js'
|
|
8
7
|
import { getTransactionFailedMessage } from '../utils/getTransactionMessage.js'
|
|
9
8
|
import type { StatusManager } from './StatusManager.js'
|
|
10
|
-
import type { LiFiStepExtended } from './types.js'
|
|
9
|
+
import type { LiFiStepExtended, Process } from './types.js'
|
|
11
10
|
import { waitForTransactionStatus } from './waitForTransactionStatus.js'
|
|
12
11
|
|
|
13
12
|
export async function waitForDestinationChainTransaction(
|
|
14
13
|
step: LiFiStepExtended,
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
process: Process,
|
|
15
|
+
fromChain: ExtendedChain,
|
|
17
16
|
toChain: ExtendedChain,
|
|
18
17
|
statusManager: StatusManager,
|
|
19
18
|
pollingInterval?: number
|
|
20
19
|
): Promise<LiFiStepExtended> {
|
|
20
|
+
const transactionHash = process.txHash
|
|
21
|
+
let processType = process.type
|
|
21
22
|
try {
|
|
23
|
+
// Wait for the transaction status on the destination chain
|
|
24
|
+
if (!transactionHash) {
|
|
25
|
+
throw new Error('Transaction hash is undefined.')
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const isBridgeExecution = fromChain.id !== toChain.id
|
|
29
|
+
if (isBridgeExecution) {
|
|
30
|
+
const receivingChainProcess = statusManager.findOrCreateProcess({
|
|
31
|
+
step,
|
|
32
|
+
type: 'RECEIVING_CHAIN',
|
|
33
|
+
status: 'PENDING',
|
|
34
|
+
chainId: toChain.id,
|
|
35
|
+
})
|
|
36
|
+
processType = receivingChainProcess.type
|
|
37
|
+
}
|
|
38
|
+
|
|
22
39
|
const statusResponse = (await waitForTransactionStatus(
|
|
23
40
|
transactionHash,
|
|
24
41
|
statusManager,
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
FullStatusData,
|
|
3
|
-
LiFiStep,
|
|
4
|
-
ProcessType,
|
|
5
|
-
StatusResponse,
|
|
6
|
-
} from '@lifi/types'
|
|
1
|
+
import type { FullStatusData, LiFiStep, StatusResponse } from '@lifi/types'
|
|
7
2
|
import { ServerError } from '../errors/errors.js'
|
|
8
3
|
import { getStatus } from '../services/api.js'
|
|
9
4
|
import { waitForResult } from '../utils/waitForResult.js'
|
|
10
5
|
import type { StatusManager } from './StatusManager.js'
|
|
11
6
|
import { getSubstatusMessage } from './processMessages.js'
|
|
7
|
+
import type { ProcessType } from './types.js'
|
|
12
8
|
|
|
13
9
|
const TRANSACTION_HASH_OBSERVERS: Record<string, Promise<StatusResponse>> = {}
|
|
14
10
|
|
package/src/errors/SDKError.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { LiFiStep
|
|
1
|
+
import type { LiFiStep } from '@lifi/types'
|
|
2
|
+
import type { Process } from '../core/types.js'
|
|
2
3
|
import { version } from '../version.js'
|
|
3
4
|
import type { BaseError } from './baseError.js'
|
|
4
5
|
import type { ErrorCode } from './constants.js'
|
package/src/index.ts
CHANGED
|
@@ -12,7 +12,7 @@ export {
|
|
|
12
12
|
setTokenAllowance,
|
|
13
13
|
} from './core/EVM/setAllowance.js'
|
|
14
14
|
export { isEVM } from './core/EVM/types.js'
|
|
15
|
-
export {
|
|
15
|
+
export { isRelayerStep } from './core/EVM/typeguards.js'
|
|
16
16
|
export type {
|
|
17
17
|
EVMProvider,
|
|
18
18
|
EVMProviderOptions,
|
|
@@ -31,9 +31,14 @@ export type {
|
|
|
31
31
|
AcceptSlippageUpdateHook,
|
|
32
32
|
AcceptSlippageUpdateHookParams,
|
|
33
33
|
ExchangeRateUpdateParams,
|
|
34
|
+
Execution,
|
|
34
35
|
ExecutionOptions,
|
|
36
|
+
ExecutionStatus,
|
|
35
37
|
InteractionSettings,
|
|
36
38
|
LiFiStepExtended,
|
|
39
|
+
Process,
|
|
40
|
+
ProcessStatus,
|
|
41
|
+
ProcessType,
|
|
37
42
|
RouteExecutionData,
|
|
38
43
|
RouteExecutionDataDictionary,
|
|
39
44
|
RouteExecutionDictionary,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { LiFiStep
|
|
1
|
+
import type { LiFiStep } from '@lifi/types'
|
|
2
2
|
import { formatUnits } from 'viem'
|
|
3
3
|
import { config } from '../config.js'
|
|
4
|
+
import type { Process } from '../core/types.js'
|
|
4
5
|
|
|
5
6
|
export const getTransactionNotSentMessage = async (
|
|
6
7
|
step?: LiFiStep,
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk'
|
|
2
|
-
export const version = '3.6.0-beta.
|
|
2
|
+
export const version = '3.6.0-beta.4'
|