@lifi/sdk 3.7.10 → 3.8.0-alpha.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.
Files changed (70) hide show
  1. package/README.md +1 -1
  2. package/package.json +4 -4
  3. package/src/_cjs/core/EVM/EVMStepExecutor.js +55 -46
  4. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  5. package/src/_cjs/core/EVM/getAllowance.js +2 -2
  6. package/src/_cjs/core/EVM/getAllowance.js.map +1 -1
  7. package/src/_cjs/core/EVM/isBatchingSupported.js +2 -2
  8. package/src/_cjs/core/EVM/isBatchingSupported.js.map +1 -1
  9. package/src/_cjs/core/EVM/setAllowance.js +2 -2
  10. package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
  11. package/src/_cjs/core/UTXO/UTXOStepExecutor.js +1 -5
  12. package/src/_cjs/core/UTXO/UTXOStepExecutor.js.map +1 -1
  13. package/src/_cjs/index.js +6 -2
  14. package/src/_cjs/index.js.map +1 -1
  15. package/src/_cjs/services/api.js.map +1 -1
  16. package/src/_cjs/typeguards.js +1 -1
  17. package/src/_cjs/typeguards.js.map +1 -1
  18. package/src/_cjs/utils/isZeroAddress.js +10 -1
  19. package/src/_cjs/utils/isZeroAddress.js.map +1 -1
  20. package/src/_cjs/version.js +1 -1
  21. package/src/_cjs/version.js.map +1 -1
  22. package/src/_esm/core/EVM/EVMStepExecutor.js +62 -53
  23. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  24. package/src/_esm/core/EVM/getAllowance.js +3 -3
  25. package/src/_esm/core/EVM/getAllowance.js.map +1 -1
  26. package/src/_esm/core/EVM/isBatchingSupported.js +2 -2
  27. package/src/_esm/core/EVM/isBatchingSupported.js.map +1 -1
  28. package/src/_esm/core/EVM/setAllowance.js +3 -3
  29. package/src/_esm/core/EVM/setAllowance.js.map +1 -1
  30. package/src/_esm/core/UTXO/UTXOStepExecutor.js +1 -5
  31. package/src/_esm/core/UTXO/UTXOStepExecutor.js.map +1 -1
  32. package/src/_esm/index.js +2 -0
  33. package/src/_esm/index.js.map +1 -1
  34. package/src/_esm/services/api.js.map +1 -1
  35. package/src/_esm/typeguards.js +1 -1
  36. package/src/_esm/typeguards.js.map +1 -1
  37. package/src/_esm/utils/isZeroAddress.js +9 -0
  38. package/src/_esm/utils/isZeroAddress.js.map +1 -1
  39. package/src/_esm/version.js +1 -1
  40. package/src/_esm/version.js.map +1 -1
  41. package/src/_types/core/EVM/EVMStepExecutor.d.ts +1 -0
  42. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  43. package/src/_types/core/EVM/isBatchingSupported.d.ts +2 -1
  44. package/src/_types/core/EVM/isBatchingSupported.d.ts.map +1 -1
  45. package/src/_types/core/UTXO/UTXOStepExecutor.d.ts.map +1 -1
  46. package/src/_types/index.d.ts +2 -0
  47. package/src/_types/index.d.ts.map +1 -1
  48. package/src/_types/services/api.d.ts +2 -2
  49. package/src/_types/services/api.d.ts.map +1 -1
  50. package/src/_types/utils/isZeroAddress.d.ts +1 -0
  51. package/src/_types/utils/isZeroAddress.d.ts.map +1 -1
  52. package/src/_types/version.d.ts +1 -1
  53. package/src/_types/version.d.ts.map +1 -1
  54. package/src/core/EVM/EVMStepExecutor.ts +82 -54
  55. package/src/core/EVM/getAllowance.ts +3 -3
  56. package/src/core/EVM/isBatchingSupported.ts +3 -1
  57. package/src/core/EVM/setAllowance.ts +3 -3
  58. package/src/core/UTXO/UTXOStepExecutor.ts +1 -7
  59. package/src/index.ts +2 -0
  60. package/src/services/api.ts +2 -1
  61. package/src/typeguards.ts +1 -1
  62. package/src/utils/isZeroAddress.ts +12 -0
  63. package/src/version.ts +1 -1
  64. package/src/_cjs/core/UTXO/utils.js +0 -13
  65. package/src/_cjs/core/UTXO/utils.js.map +0 -1
  66. package/src/_esm/core/UTXO/utils.js +0 -10
  67. package/src/_esm/core/UTXO/utils.js.map +0 -1
  68. package/src/_types/core/UTXO/utils.d.ts +0 -3
  69. package/src/_types/core/UTXO/utils.d.ts.map +0 -1
  70. package/src/core/UTXO/utils.ts +0 -10
@@ -7,6 +7,8 @@ export { isEVM } from './core/EVM/types.js';
7
7
  export { isBatchingSupported } from './core/EVM/isBatchingSupported.js';
8
8
  export { isExtendedChain, convertExtendedChain } from './core/EVM/utils.js';
9
9
  export { isRelayerStep, isGaslessStep } from './core/EVM/typeguards.js';
10
+ export { checkPermitSupport } from './core/EVM/checkPermitSupport.js';
11
+ export { getNativePermit } from './core/EVM/permits/getNativePermit.js';
10
12
  export type { EVMProvider, EVMProviderOptions } from './core/EVM/types.js';
11
13
  export { StatusManager } from './core/StatusManager.js';
12
14
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ChainId, type ChainKey, type ChainsRequest, type ConnectionsRequest, type ConnectionsResponse, type ContractCallsQuoteRequest, type ExtendedChain, type GasRecommendationRequest, type GasRecommendationResponse, type GetStatusRequest, type LiFiStep, type QuoteRequest, type RelayRequest, type RelayResponseData, type RelayStatusRequest, type RelayStatusResponseData, type RequestOptions, type RoutesRequest, type RoutesResponse, type StatusResponse, type Token, type TokensRequest, type TokensResponse, type ToolsRequest, type ToolsResponse, type TransactionAnalyticsRequest, type TransactionAnalyticsResponse } from '@lifi/types';
1
+ import { type ChainId, type ChainKey, type ChainsRequest, type ConnectionsRequest, type ConnectionsResponse, type ContractCallsQuoteRequest, type ExtendedChain, type GasRecommendationRequest, type GasRecommendationResponse, type GetStatusRequest, type LiFiStep, type QuoteRequest, type RelayRequest, type RelayResponseData, type RelayStatusRequest, type RelayStatusResponseData, type RequestOptions, type RoutesRequest, type RoutesResponse, type SignedLiFiStep, type StatusResponse, type Token, type TokensRequest, type TokensResponse, type ToolsRequest, type ToolsResponse, type TransactionAnalyticsRequest, type TransactionAnalyticsResponse } from '@lifi/types';
2
2
  /**
3
3
  * Get a quote for a token transfer
4
4
  * @param params - The configuration of the requested quote
@@ -30,7 +30,7 @@ export declare const getContractCallsQuote: (params: ContractCallsQuoteRequest,
30
30
  * @returns The step populated with the transaction data.
31
31
  * @throws {LiFiError} Throws a LiFiError if request fails.
32
32
  */
33
- export declare const getStepTransaction: (step: LiFiStep, options?: RequestOptions) => Promise<LiFiStep>;
33
+ export declare const getStepTransaction: (step: LiFiStep | SignedLiFiStep, options?: RequestOptions) => Promise<LiFiStep>;
34
34
  /**
35
35
  * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
36
36
  * @param params - Configuration of the requested status
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export declare const isZeroAddress: (address: string) => boolean;
2
+ export declare const isNativeTokenAddress: (address: string) => boolean;
2
3
  //# sourceMappingURL=isZeroAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isZeroAddress.d.ts","sourceRoot":"","sources":["../../utils/isZeroAddress.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,OAK/C,CAAA"}
1
+ {"version":3,"file":"isZeroAddress.d.ts","sourceRoot":"","sources":["../../utils/isZeroAddress.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,OAK/C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,OAUtD,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "3.7.10";
2
+ export declare const version = "3.8.0-alpha.1";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,WAAW,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
@@ -24,7 +24,6 @@ import {
24
24
  getStepTransaction,
25
25
  relayTransaction,
26
26
  } from '../../services/api.js'
27
- import { isZeroAddress } from '../../utils/isZeroAddress.js'
28
27
  import { BaseStepExecutor } from '../BaseStepExecutor.js'
29
28
  import { checkBalance } from '../checkBalance.js'
30
29
  import { stepComparison } from '../stepComparison.js'
@@ -46,7 +45,7 @@ import { encodeNativePermitData } from './permits/encodeNativePermitData.js'
46
45
  import { encodePermit2Data } from './permits/encodePermit2Data.js'
47
46
  import { signPermit2Message } from './permits/signPermit2Message.js'
48
47
  import { switchChain } from './switchChain.js'
49
- import { isRelayerStep } from './typeguards.js'
48
+ import { isGaslessStep, isRelayerStep } from './typeguards.js'
50
49
  import type { Call, TransactionMethodType } from './types.js'
51
50
  import { convertExtendedChain, getMaxPriorityFeePerGas } from './utils.js'
52
51
  import {
@@ -199,6 +198,37 @@ export class EVMStepExecutor extends BaseStepExecutor {
199
198
  )
200
199
  }
201
200
 
201
+ private getUpdatedStep = async (
202
+ step: LiFiStepExtended,
203
+ signedNativePermitTypedData?: SignedTypedData
204
+ ): Promise<LiFiStep> => {
205
+ const { execution, ...stepBase } = step
206
+ if (isRelayerStep(step) && isGaslessStep(step)) {
207
+ const updatedRelayedStep = await getRelayerQuote({
208
+ fromChain: stepBase.action.fromChainId,
209
+ fromToken: stepBase.action.fromToken.address,
210
+ fromAddress: stepBase.action.fromAddress!,
211
+ fromAmount: stepBase.action.fromAmount,
212
+ toChain: stepBase.action.toChainId,
213
+ toToken: stepBase.action.toToken.address,
214
+ slippage: stepBase.action.slippage,
215
+ toAddress: stepBase.action.toAddress,
216
+ allowBridges: [stepBase.tool],
217
+ })
218
+ return {
219
+ ...updatedRelayedStep,
220
+ id: stepBase.id,
221
+ }
222
+ }
223
+
224
+ const params =
225
+ isRelayerStep(step) && !isGaslessStep(step) && signedNativePermitTypedData
226
+ ? { ...stepBase, typedData: [signedNativePermitTypedData] }
227
+ : stepBase
228
+
229
+ return getStepTransaction(params)
230
+ }
231
+
202
232
  executeStep = async (
203
233
  step: LiFiStepExtended,
204
234
  // Explicitly set to true if the wallet rejected the upgrade to 7702 account, based on the EIP-5792 capabilities
@@ -248,8 +278,7 @@ export class EVMStepExecutor extends BaseStepExecutor {
248
278
  )
249
279
 
250
280
  const isFromNativeToken =
251
- fromChain.nativeToken.address === step.action.fromToken.address &&
252
- isZeroAddress(step.action.fromToken.address)
281
+ fromChain.nativeToken.address === step.action.fromToken.address
253
282
 
254
283
  // Check if step requires permit signature and will be used with relayer service
255
284
  const isRelayerTransaction = isRelayerStep(step)
@@ -362,28 +391,14 @@ export class EVMStepExecutor extends BaseStepExecutor {
362
391
  await checkBalance(this.client.account!.address, step)
363
392
 
364
393
  // Create new transaction request
365
- if (!step.transactionRequest) {
366
- const { execution, ...stepBase } = step
367
- let updatedStep: LiFiStep
368
- if (isRelayerTransaction) {
369
- const updatedRelayedStep = await getRelayerQuote({
370
- fromChain: stepBase.action.fromChainId,
371
- fromToken: stepBase.action.fromToken.address,
372
- fromAddress: stepBase.action.fromAddress!,
373
- fromAmount: stepBase.action.fromAmount,
374
- toChain: stepBase.action.toChainId,
375
- toToken: stepBase.action.toToken.address,
376
- slippage: stepBase.action.slippage,
377
- toAddress: stepBase.action.toAddress,
378
- allowBridges: [stepBase.tool],
379
- })
380
- updatedStep = {
381
- ...updatedRelayedStep,
382
- id: stepBase.id,
383
- }
384
- } else {
385
- updatedStep = await getStepTransaction(stepBase)
386
- }
394
+ if (
395
+ !step.transactionRequest &&
396
+ !step.typedData?.some((p) => p.primaryType !== 'Permit')
397
+ ) {
398
+ const updatedStep = await this.getUpdatedStep(
399
+ step,
400
+ signedNativePermitTypedData
401
+ )
387
402
  const comparedStep = await stepComparison(
388
403
  this.statusManager,
389
404
  step,
@@ -397,38 +412,47 @@ export class EVMStepExecutor extends BaseStepExecutor {
397
412
  })
398
413
  }
399
414
 
400
- if (!step.transactionRequest) {
415
+ if (
416
+ !step.transactionRequest &&
417
+ !step.typedData?.some((p) => p.primaryType !== 'Permit')
418
+ ) {
401
419
  throw new TransactionError(
402
420
  LiFiErrorCode.TransactionUnprepared,
403
421
  'Unable to prepare transaction.'
404
422
  )
405
423
  }
406
424
 
407
- let transactionRequest: TransactionParameters = {
408
- to: step.transactionRequest.to,
409
- from: step.transactionRequest.from,
410
- data: step.transactionRequest.data,
411
- value: step.transactionRequest.value
412
- ? BigInt(step.transactionRequest.value)
413
- : undefined,
414
- gas: step.transactionRequest.gasLimit
415
- ? BigInt(step.transactionRequest.gasLimit)
416
- : undefined,
417
- // gasPrice: step.transactionRequest.gasPrice
418
- // ? BigInt(step.transactionRequest.gasPrice as string)
419
- // : undefined,
420
- // maxFeePerGas: step.transactionRequest.maxFeePerGas
421
- // ? BigInt(step.transactionRequest.maxFeePerGas as string)
422
- // : undefined,
423
- maxPriorityFeePerGas:
424
- this.client.account?.type === 'local'
425
- ? await getMaxPriorityFeePerGas(this.client)
426
- : step.transactionRequest.maxPriorityFeePerGas
427
- ? BigInt(step.transactionRequest.maxPriorityFeePerGas)
428
- : undefined,
425
+ let transactionRequest: TransactionParameters | undefined
426
+ if (step.transactionRequest) {
427
+ transactionRequest = {
428
+ to: step.transactionRequest.to,
429
+ from: step.transactionRequest.from,
430
+ data: step.transactionRequest.data,
431
+ value: step.transactionRequest.value
432
+ ? BigInt(step.transactionRequest.value)
433
+ : undefined,
434
+ gas: step.transactionRequest.gasLimit
435
+ ? BigInt(step.transactionRequest.gasLimit)
436
+ : undefined,
437
+ // gasPrice: step.transactionRequest.gasPrice
438
+ // ? BigInt(step.transactionRequest.gasPrice as string)
439
+ // : undefined,
440
+ // maxFeePerGas: step.transactionRequest.maxFeePerGas
441
+ // ? BigInt(step.transactionRequest.maxFeePerGas as string)
442
+ // : undefined,
443
+ maxPriorityFeePerGas:
444
+ this.client.account?.type === 'local'
445
+ ? await getMaxPriorityFeePerGas(this.client)
446
+ : step.transactionRequest.maxPriorityFeePerGas
447
+ ? BigInt(step.transactionRequest.maxPriorityFeePerGas)
448
+ : undefined,
449
+ }
429
450
  }
430
451
 
431
- if (this.executionOptions?.updateTransactionRequestHook) {
452
+ if (
453
+ this.executionOptions?.updateTransactionRequestHook &&
454
+ transactionRequest
455
+ ) {
432
456
  const customizedTransactionRequest: TransactionParameters =
433
457
  await this.executionOptions.updateTransactionRequestHook({
434
458
  requestType: 'transaction',
@@ -460,7 +484,7 @@ export class EVMStepExecutor extends BaseStepExecutor {
460
484
  let txHash: Hash
461
485
  let txType: TransactionMethodType = 'standard'
462
486
 
463
- if (batchingSupported) {
487
+ if (batchingSupported && transactionRequest) {
464
488
  const transferCall: Call = {
465
489
  chainId: fromChain.id,
466
490
  data: transactionRequest.data as Hex,
@@ -482,9 +506,7 @@ export class EVMStepExecutor extends BaseStepExecutor {
482
506
  txType = 'batched'
483
507
  } else if (isRelayerTransaction) {
484
508
  const relayerTypedData = step.typedData.find(
485
- (p) =>
486
- p.primaryType === 'PermitWitnessTransferFrom' ||
487
- p.primaryType === 'Order'
509
+ (p) => p.primaryType !== 'Permit'
488
510
  )
489
511
 
490
512
  if (!relayerTypedData) {
@@ -533,6 +555,12 @@ export class EVMStepExecutor extends BaseStepExecutor {
533
555
  txHash = relayedTransaction.taskId as Hash
534
556
  txType = 'relayed'
535
557
  } else {
558
+ if (!transactionRequest) {
559
+ throw new TransactionError(
560
+ LiFiErrorCode.TransactionUnprepared,
561
+ 'Unable to prepare transaction. Transaction request is not found.'
562
+ )
563
+ }
536
564
  if (signedNativePermitTypedData) {
537
565
  transactionRequest.data = encodeNativePermitData(
538
566
  step.action.fromToken.address as Address,
@@ -1,7 +1,7 @@
1
1
  import type { BaseToken, ChainId } from '@lifi/types'
2
2
  import type { Address, Client } from 'viem'
3
3
  import { multicall, readContract } from 'viem/actions'
4
- import { isZeroAddress } from '../../utils/isZeroAddress.js'
4
+ import { isNativeTokenAddress } from '../../utils/isZeroAddress.js'
5
5
  import { allowanceAbi } from './abi.js'
6
6
  import { getActionWithFallback } from './getActionWithFallback.js'
7
7
  import { getPublicClient } from './publicClient.js'
@@ -88,7 +88,7 @@ export const getTokenAllowance = async (
88
88
  spenderAddress: Address
89
89
  ): Promise<bigint | undefined> => {
90
90
  // native token don't need approval
91
- if (isZeroAddress(token.address)) {
91
+ if (isNativeTokenAddress(token.address)) {
92
92
  return
93
93
  }
94
94
 
@@ -115,7 +115,7 @@ export const getTokenAllowanceMulticall = async (
115
115
  ): Promise<TokenAllowance[]> => {
116
116
  // filter out native tokens
117
117
  const filteredTokens = tokens.filter(
118
- ({ token }) => !isZeroAddress(token.address)
118
+ ({ token }) => !isNativeTokenAddress(token.address)
119
119
  )
120
120
 
121
121
  // group by chain
@@ -9,9 +9,11 @@ import type { EVMProvider } from './types.js'
9
9
  export async function isBatchingSupported({
10
10
  client,
11
11
  chainId,
12
+ skipReady = false,
12
13
  }: {
13
14
  client?: Client
14
15
  chainId: number
16
+ skipReady?: boolean
15
17
  }): Promise<boolean> {
16
18
  const _client =
17
19
  client ??
@@ -31,7 +33,7 @@ export async function isBatchingSupported({
31
33
  return (
32
34
  capabilities?.atomicBatch?.supported ||
33
35
  capabilities?.atomic?.status === 'supported' ||
34
- capabilities?.atomic?.status === 'ready' ||
36
+ (!skipReady && capabilities?.atomic?.status === 'ready') ||
35
37
  false
36
38
  )
37
39
  } catch {
@@ -2,7 +2,7 @@ import type { Address, Client, Hash, SendTransactionParameters } from 'viem'
2
2
  import { encodeFunctionData } from 'viem'
3
3
  import { sendTransaction } from 'viem/actions'
4
4
  import { getAction } from 'viem/utils'
5
- import { isZeroAddress } from '../../utils/isZeroAddress.js'
5
+ import { isNativeTokenAddress } from '../../utils/isZeroAddress.js'
6
6
  import type { ExecutionOptions, TransactionParameters } from '../types.js'
7
7
  import { approveAbi } from './abi.js'
8
8
  import { getAllowance } from './getAllowance.js'
@@ -80,7 +80,7 @@ export const setTokenAllowance = async ({
80
80
  amount,
81
81
  }: ApproveTokenRequest): Promise<Hash | void> => {
82
82
  // native token don't need approval
83
- if (isZeroAddress(token.address)) {
83
+ if (isNativeTokenAddress(token.address)) {
84
84
  return
85
85
  }
86
86
  const approvedAmount = await getAllowance(
@@ -116,7 +116,7 @@ export const revokeTokenApproval = async ({
116
116
  spenderAddress,
117
117
  }: RevokeApprovalRequest): Promise<Hash | void> => {
118
118
  // native token don't need approval
119
- if (isZeroAddress(token.address)) {
119
+ if (isNativeTokenAddress(token.address)) {
120
120
  return
121
121
  }
122
122
  const approvedAmount = await getAllowance(
@@ -18,7 +18,6 @@ import type {
18
18
  import { waitForDestinationChainTransaction } from '../waitForDestinationChainTransaction.js'
19
19
  import { getUTXOPublicClient } from './getUTXOPublicClient.js'
20
20
  import { parseUTXOErrors } from './parseUTXOErrors.js'
21
- import { isPsbtFinalized } from './utils.js'
22
21
 
23
22
  export interface UTXOStepExecutorOptions extends StepExecutorOptions {
24
23
  client: Client
@@ -184,12 +183,7 @@ export class UTXOStepExecutor extends BaseStepExecutor {
184
183
  ),
185
184
  }
186
185
  )
187
-
188
- const signedPsbt = Psbt.fromHex(signedPsbtHex)
189
-
190
- if (!isPsbtFinalized(signedPsbt)) {
191
- signedPsbt.finalizeAllInputs()
192
- }
186
+ const signedPsbt = Psbt.fromHex(signedPsbtHex).finalizeAllInputs()
193
187
 
194
188
  txHex = signedPsbt.extractTransaction().toHex()
195
189
 
package/src/index.ts CHANGED
@@ -15,6 +15,8 @@ export { isEVM } from './core/EVM/types.js'
15
15
  export { isBatchingSupported } from './core/EVM/isBatchingSupported.js'
16
16
  export { isExtendedChain, convertExtendedChain } from './core/EVM/utils.js'
17
17
  export { isRelayerStep, isGaslessStep } from './core/EVM/typeguards.js'
18
+ export { checkPermitSupport } from './core/EVM/checkPermitSupport.js'
19
+ export { getNativePermit } from './core/EVM/permits/getNativePermit.js'
18
20
  export type { EVMProvider, EVMProviderOptions } from './core/EVM/types.js'
19
21
  export { StatusManager } from './core/StatusManager.js'
20
22
  export {
@@ -22,6 +22,7 @@ import {
22
22
  type RequestOptions,
23
23
  type RoutesRequest,
24
24
  type RoutesResponse,
25
+ type SignedLiFiStep,
25
26
  type StatusResponse,
26
27
  type Token,
27
28
  type TokensRequest,
@@ -203,7 +204,7 @@ export const getContractCallsQuote = async (
203
204
  * @throws {LiFiError} Throws a LiFiError if request fails.
204
205
  */
205
206
  export const getStepTransaction = async (
206
- step: LiFiStep,
207
+ step: LiFiStep | SignedLiFiStep,
207
208
  options?: RequestOptions
208
209
  ): Promise<LiFiStep> => {
209
210
  if (!isStep(step)) {
package/src/typeguards.ts CHANGED
@@ -72,7 +72,7 @@ const isEstimate = (estimate: Estimate): estimate is Estimate => {
72
72
  toAmount !== '' &&
73
73
  typeof toAmountMin === 'string' &&
74
74
  toAmountMin !== '' &&
75
- typeof approvalAddress === 'string'
75
+ (typeof approvalAddress === 'string' || approvalAddress === null)
76
76
  )
77
77
  }
78
78
 
@@ -6,3 +6,15 @@ export const isZeroAddress = (address: string): boolean => {
6
6
  }
7
7
  return false
8
8
  }
9
+
10
+ export const isNativeTokenAddress = (address: string): boolean => {
11
+ if (
12
+ address === AddressZero ||
13
+ address === AlternativeAddressZero ||
14
+ // CELO native token
15
+ address === '0x471ece3750da237f93b8e339c536989b8978a438'
16
+ ) {
17
+ return true
18
+ }
19
+ return false
20
+ }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '3.7.10'
2
+ export const version = '3.8.0-alpha.1'
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPsbtFinalized = isPsbtFinalized;
4
- function isPsbtFinalized(psbt) {
5
- try {
6
- psbt.extractTransaction();
7
- return true;
8
- }
9
- catch (_) {
10
- return false;
11
- }
12
- }
13
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../core/UTXO/utils.ts"],"names":[],"mappings":";;AAEA,0CAOC;AAPD,SAAgB,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1,10 +0,0 @@
1
- export function isPsbtFinalized(psbt) {
2
- try {
3
- psbt.extractTransaction();
4
- return true;
5
- }
6
- catch (_) {
7
- return false;
8
- }
9
- }
10
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../core/UTXO/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Psbt } from 'bitcoinjs-lib';
2
- export declare function isPsbtFinalized(psbt: Psbt): boolean;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../core/UTXO/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAOnD"}
@@ -1,10 +0,0 @@
1
- import type { Psbt } from 'bitcoinjs-lib'
2
-
3
- export function isPsbtFinalized(psbt: Psbt): boolean {
4
- try {
5
- psbt.extractTransaction()
6
- return true
7
- } catch (_) {
8
- return false
9
- }
10
- }