@lifi/sdk 3.6.0 → 3.6.2-beta.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.
Files changed (145) hide show
  1. package/package.json +3 -3
  2. package/src/_cjs/core/BaseStepExecutor.js +13 -38
  3. package/src/_cjs/core/BaseStepExecutor.js.map +1 -1
  4. package/src/_cjs/core/EVM/EVMStepExecutor.js +329 -359
  5. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  6. package/src/_cjs/core/EVM/checkAllowance.js +18 -9
  7. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  8. package/src/_cjs/core/EVM/checkPermitSupport.js +2 -2
  9. package/src/_cjs/core/EVM/checkPermitSupport.js.map +1 -1
  10. package/src/_cjs/core/EVM/permits/allowanceTransfer.js +8 -8
  11. package/src/_cjs/core/EVM/permits/allowanceTransfer.js.map +1 -1
  12. package/src/_cjs/core/EVM/permits/getNativePermit.js +12 -10
  13. package/src/_cjs/core/EVM/permits/getNativePermit.js.map +1 -1
  14. package/src/_cjs/core/EVM/permits/signPermit2Message.js +27 -26
  15. package/src/_cjs/core/EVM/permits/signPermit2Message.js.map +1 -1
  16. package/src/_cjs/core/EVM/permits/signatureTransfer.js +8 -8
  17. package/src/_cjs/core/EVM/permits/signatureTransfer.js.map +1 -1
  18. package/src/_cjs/core/EVM/typeguards.js +5 -2
  19. package/src/_cjs/core/EVM/typeguards.js.map +1 -1
  20. package/src/_cjs/core/EVM/types.js.map +1 -1
  21. package/src/_cjs/core/Solana/KeypairWalletAdapter.js +8 -33
  22. package/src/_cjs/core/Solana/KeypairWalletAdapter.js.map +1 -1
  23. package/src/_cjs/core/Solana/SolanaStepExecutor.js +97 -112
  24. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
  25. package/src/_cjs/core/StatusManager.js +103 -136
  26. package/src/_cjs/core/StatusManager.js.map +1 -1
  27. package/src/_cjs/core/UTXO/UTXOStepExecutor.js +136 -151
  28. package/src/_cjs/core/UTXO/UTXOStepExecutor.js.map +1 -1
  29. package/src/_cjs/core/prepareRestart.js +7 -1
  30. package/src/_cjs/core/prepareRestart.js.map +1 -1
  31. package/src/_cjs/errors/SDKError.js +5 -30
  32. package/src/_cjs/errors/SDKError.js.map +1 -1
  33. package/src/_cjs/errors/baseError.js +2 -12
  34. package/src/_cjs/errors/baseError.js.map +1 -1
  35. package/src/_cjs/errors/httpError.js +6 -36
  36. package/src/_cjs/errors/httpError.js.map +1 -1
  37. package/src/_cjs/index.js +3 -2
  38. package/src/_cjs/index.js.map +1 -1
  39. package/src/_cjs/services/api.js +2 -4
  40. package/src/_cjs/services/api.js.map +1 -1
  41. package/src/_cjs/utils/withDedupe.js +1 -6
  42. package/src/_cjs/utils/withDedupe.js.map +1 -1
  43. package/src/_cjs/version.js +1 -1
  44. package/src/_cjs/version.js.map +1 -1
  45. package/src/_esm/core/BaseStepExecutor.js +13 -38
  46. package/src/_esm/core/BaseStepExecutor.js.map +1 -1
  47. package/src/_esm/core/EVM/EVMStepExecutor.js +367 -397
  48. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  49. package/src/_esm/core/EVM/checkAllowance.js +18 -9
  50. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  51. package/src/_esm/core/EVM/checkPermitSupport.js +2 -2
  52. package/src/_esm/core/EVM/checkPermitSupport.js.map +1 -1
  53. package/src/_esm/core/EVM/permits/allowanceTransfer.js +8 -8
  54. package/src/_esm/core/EVM/permits/allowanceTransfer.js.map +1 -1
  55. package/src/_esm/core/EVM/permits/getNativePermit.js +12 -10
  56. package/src/_esm/core/EVM/permits/getNativePermit.js.map +1 -1
  57. package/src/_esm/core/EVM/permits/signPermit2Message.js +29 -28
  58. package/src/_esm/core/EVM/permits/signPermit2Message.js.map +1 -1
  59. package/src/_esm/core/EVM/permits/signatureTransfer.js +8 -8
  60. package/src/_esm/core/EVM/permits/signatureTransfer.js.map +1 -1
  61. package/src/_esm/core/EVM/typeguards.js +4 -2
  62. package/src/_esm/core/EVM/typeguards.js.map +1 -1
  63. package/src/_esm/core/EVM/types.js.map +1 -1
  64. package/src/_esm/core/Solana/KeypairWalletAdapter.js +12 -37
  65. package/src/_esm/core/Solana/KeypairWalletAdapter.js.map +1 -1
  66. package/src/_esm/core/Solana/SolanaStepExecutor.js +105 -120
  67. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  68. package/src/_esm/core/StatusManager.js +132 -165
  69. package/src/_esm/core/StatusManager.js.map +1 -1
  70. package/src/_esm/core/UTXO/UTXOStepExecutor.js +144 -159
  71. package/src/_esm/core/UTXO/UTXOStepExecutor.js.map +1 -1
  72. package/src/_esm/core/prepareRestart.js +10 -1
  73. package/src/_esm/core/prepareRestart.js.map +1 -1
  74. package/src/_esm/errors/SDKError.js +5 -30
  75. package/src/_esm/errors/SDKError.js.map +1 -1
  76. package/src/_esm/errors/baseError.js +2 -12
  77. package/src/_esm/errors/baseError.js.map +1 -1
  78. package/src/_esm/errors/httpError.js +6 -36
  79. package/src/_esm/errors/httpError.js.map +1 -1
  80. package/src/_esm/index.js +1 -1
  81. package/src/_esm/index.js.map +1 -1
  82. package/src/_esm/services/api.js +2 -4
  83. package/src/_esm/services/api.js.map +1 -1
  84. package/src/_esm/utils/withDedupe.js +1 -6
  85. package/src/_esm/utils/withDedupe.js.map +1 -1
  86. package/src/_esm/version.js +1 -1
  87. package/src/_esm/version.js.map +1 -1
  88. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  89. package/src/_types/core/EVM/checkAllowance.d.ts +2 -3
  90. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  91. package/src/_types/core/EVM/checkPermitSupport.d.ts.map +1 -1
  92. package/src/_types/core/EVM/permits/allowanceTransfer.d.ts +4 -4
  93. package/src/_types/core/EVM/permits/allowanceTransfer.d.ts.map +1 -1
  94. package/src/_types/core/EVM/permits/getNativePermit.d.ts +1 -2
  95. package/src/_types/core/EVM/permits/getNativePermit.d.ts.map +1 -1
  96. package/src/_types/core/EVM/permits/signPermit2Message.d.ts +2 -11
  97. package/src/_types/core/EVM/permits/signPermit2Message.d.ts.map +1 -1
  98. package/src/_types/core/EVM/permits/signatureTransfer.d.ts +2 -2
  99. package/src/_types/core/EVM/permits/signatureTransfer.d.ts.map +1 -1
  100. package/src/_types/core/EVM/permits/types.d.ts +3 -9
  101. package/src/_types/core/EVM/permits/types.d.ts.map +1 -1
  102. package/src/_types/core/EVM/typeguards.d.ts +6 -2
  103. package/src/_types/core/EVM/typeguards.d.ts.map +1 -1
  104. package/src/_types/core/EVM/types.d.ts +2 -5
  105. package/src/_types/core/EVM/types.d.ts.map +1 -1
  106. package/src/_types/core/StatusManager.d.ts.map +1 -1
  107. package/src/_types/core/prepareRestart.d.ts.map +1 -1
  108. package/src/_types/core/types.d.ts +2 -0
  109. package/src/_types/core/types.d.ts.map +1 -1
  110. package/src/_types/index.d.ts +1 -1
  111. package/src/_types/index.d.ts.map +1 -1
  112. package/src/_types/services/api.d.ts +2 -2
  113. package/src/_types/services/api.d.ts.map +1 -1
  114. package/src/_types/version.d.ts +1 -1
  115. package/src/_types/version.d.ts.map +1 -1
  116. package/src/core/EVM/EVMStepExecutor.ts +39 -44
  117. package/src/core/EVM/checkAllowance.ts +28 -19
  118. package/src/core/EVM/checkPermitSupport.ts +14 -2
  119. package/src/core/EVM/permits/allowanceTransfer.ts +14 -10
  120. package/src/core/EVM/permits/getNativePermit.ts +13 -11
  121. package/src/core/EVM/permits/signPermit2Message.ts +43 -63
  122. package/src/core/EVM/permits/signatureTransfer.ts +10 -10
  123. package/src/core/EVM/permits/types.ts +3 -16
  124. package/src/core/EVM/typeguards.ts +14 -4
  125. package/src/core/EVM/types.ts +2 -6
  126. package/src/core/StatusManager.ts +5 -3
  127. package/src/core/prepareRestart.ts +14 -2
  128. package/src/core/types.ts +2 -0
  129. package/src/index.ts +1 -1
  130. package/src/services/api.ts +3 -6
  131. package/src/version.ts +1 -1
  132. package/src/_cjs/core/EVM/permits/signNativePermitMessage.js +0 -20
  133. package/src/_cjs/core/EVM/permits/signNativePermitMessage.js.map +0 -1
  134. package/src/_cjs/core/EVM/permits/utils.js +0 -31
  135. package/src/_cjs/core/EVM/permits/utils.js.map +0 -1
  136. package/src/_esm/core/EVM/permits/signNativePermitMessage.js +0 -16
  137. package/src/_esm/core/EVM/permits/signNativePermitMessage.js.map +0 -1
  138. package/src/_esm/core/EVM/permits/utils.js +0 -26
  139. package/src/_esm/core/EVM/permits/utils.js.map +0 -1
  140. package/src/_types/core/EVM/permits/signNativePermitMessage.d.ts +0 -4
  141. package/src/_types/core/EVM/permits/signNativePermitMessage.d.ts.map +0 -1
  142. package/src/_types/core/EVM/permits/utils.d.ts +0 -6
  143. package/src/_types/core/EVM/permits/utils.d.ts.map +0 -1
  144. package/src/core/EVM/permits/signNativePermitMessage.ts +0 -27
  145. package/src/core/EVM/permits/utils.ts +0 -40
@@ -1,14 +1,10 @@
1
1
  import type { Address, Hash, TypedData, TypedDataDomain } from 'viem'
2
- import type {
3
- PermitBatchTransferFrom,
4
- PermitTransferFrom,
5
- } from './signatureTransfer.js'
6
2
 
7
3
  export type PermitSignature = {
8
4
  signature: Hash
9
5
  }
10
6
 
11
- export type NativePermitValues = {
7
+ export type NativePermitMessage = {
12
8
  owner: Address
13
9
  spender: Address
14
10
  nonce: bigint
@@ -17,17 +13,8 @@ export type NativePermitValues = {
17
13
  }
18
14
 
19
15
  export type NativePermitData = {
16
+ primaryType: 'Permit'
20
17
  domain: TypedDataDomain
21
18
  types: TypedData
22
- values: NativePermitValues
23
- }
24
-
25
- export type NativePermitSignature = PermitSignature & {
26
- values: NativePermitValues
27
- }
28
-
29
- export type Permit2Signature<
30
- T extends PermitTransferFrom | PermitBatchTransferFrom,
31
- > = PermitSignature & {
32
- values: T
19
+ message: NativePermitMessage
33
20
  }
@@ -1,10 +1,20 @@
1
1
  import type { LiFiStep } from '@lifi/types'
2
2
  import type { LiFiStepExtended } from '../types.js'
3
- import type { EVMPermitStep } from './types.js'
3
+
4
+ type RelayerStep = (LiFiStepExtended | LiFiStep) & {
5
+ typedData: NonNullable<(LiFiStepExtended | LiFiStep)['typedData']>
6
+ }
4
7
 
5
8
  export function isRelayerStep(
6
9
  step: LiFiStepExtended | LiFiStep
7
- ): step is EVMPermitStep {
8
- const evmStep = step as EVMPermitStep
9
- return 'permits' in evmStep && evmStep.permits?.length > 0
10
+ ): step is RelayerStep {
11
+ return !!step.typedData && step.typedData.length > 0
12
+ }
13
+
14
+ export function isGaslessStep(
15
+ step: LiFiStepExtended | LiFiStep
16
+ ): step is RelayerStep {
17
+ return !!step.typedData?.find(
18
+ (p) => p.primaryType === 'PermitWitnessTransferFrom'
19
+ )
10
20
  }
@@ -1,6 +1,6 @@
1
- import { type BaseToken, ChainType, type Permit } from '@lifi/types'
1
+ import { type BaseToken, ChainType } from '@lifi/types'
2
2
  import type { Address, Client, FallbackTransportConfig, Hex } from 'viem'
3
- import type { LiFiStepExtended, SwitchChainHook } from '../types.js'
3
+ import type { SwitchChainHook } from '../types.js'
4
4
  import type { SDKProvider } from '../types.js'
5
5
 
6
6
  export interface EVMProviderOptions {
@@ -52,10 +52,6 @@ export interface RevokeApprovalRequest {
52
52
  spenderAddress: string
53
53
  }
54
54
 
55
- export interface EVMPermitStep extends LiFiStepExtended {
56
- permits: Permit[]
57
- }
58
-
59
55
  export type Call = {
60
56
  to: Address
61
57
  data?: Hex
@@ -40,12 +40,14 @@ export class StatusManager {
40
40
  step.execution = {
41
41
  status: 'PENDING',
42
42
  process: [],
43
+ startedAt: Date.now(),
43
44
  }
44
45
  this.updateStepInRoute(step)
45
46
  }
46
47
 
47
48
  // Change status to PENDING after resuming from FAILED
48
49
  if (step.execution.status === 'FAILED') {
50
+ step.execution.startedAt = Date.now()
49
51
  step.execution.status = 'PENDING'
50
52
  this.updateStepInRoute(step)
51
53
  }
@@ -69,6 +71,9 @@ export class StatusManager {
69
71
  throw Error("Can't update empty execution.")
70
72
  }
71
73
  step.execution.status = status
74
+ if (status === 'DONE') {
75
+ step.execution.doneAt = Date.now()
76
+ }
72
77
  if (execution) {
73
78
  step.execution = {
74
79
  ...step.execution,
@@ -162,9 +167,6 @@ export class StatusManager {
162
167
  }
163
168
 
164
169
  switch (status) {
165
- case 'STARTED':
166
- currentProcess.startedAt = Date.now()
167
- break
168
170
  case 'CANCELLED':
169
171
  currentProcess.doneAt = Date.now()
170
172
  break
@@ -4,9 +4,21 @@ export const prepareRestart = async (route: RouteExtended) => {
4
4
  for (let index = 0; index < route.steps.length; index++) {
5
5
  const step = route.steps[index]
6
6
  if (step.execution) {
7
- step.execution.process = step.execution.process.filter(
8
- (process) => process.status === 'DONE' && process.txHash
7
+ // Find the index of the last process that has tx hash
8
+ const lastValidIndex = step.execution.process.findLastIndex(
9
+ (process) => !!process.txHash
9
10
  )
11
+
12
+ // Keep all processes up to the one with tx hash
13
+ if (lastValidIndex >= 0) {
14
+ step.execution.process = step.execution.process.slice(
15
+ 0,
16
+ lastValidIndex + 1
17
+ )
18
+ } else {
19
+ // If no tx hash exists, reset the process array
20
+ step.execution.process = []
21
+ }
10
22
  }
11
23
  step.transactionRequest = undefined
12
24
  }
package/src/core/types.ts CHANGED
@@ -162,6 +162,8 @@ export type Process = {
162
162
  }
163
163
 
164
164
  export interface Execution {
165
+ startedAt: number
166
+ doneAt?: number
165
167
  status: ExecutionStatus
166
168
  process: Array<Process>
167
169
  fromAmount?: string
package/src/index.ts CHANGED
@@ -14,7 +14,7 @@ export {
14
14
  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
- export { isRelayerStep } from './core/EVM/typeguards.js'
17
+ export { isRelayerStep, isGaslessStep } from './core/EVM/typeguards.js'
18
18
  export type {
19
19
  EVMProvider,
20
20
  EVMProviderOptions,
@@ -19,7 +19,6 @@ import {
19
19
  type RelayStatusResponse,
20
20
  type RelayStatusResponseData,
21
21
  type RelayerQuoteResponse,
22
- type RelayerQuoteResponseData,
23
22
  type RequestOptions,
24
23
  type RoutesRequest,
25
24
  type RoutesResponse,
@@ -262,7 +261,7 @@ export const getStatus = async (
262
261
  export const getRelayerQuote = async (
263
262
  params: QuoteRequest,
264
263
  options?: RequestOptions
265
- ): Promise<RelayerQuoteResponseData> => {
264
+ ): Promise<LiFiStep> => {
266
265
  const requiredParameters: Array<keyof QuoteRequest> = [
267
266
  'fromChain',
268
267
  'fromToken',
@@ -332,10 +331,8 @@ export const relayTransaction = async (
332
331
  options?: RequestOptions
333
332
  ): Promise<RelayResponseData> => {
334
333
  const requiredParameters: Array<keyof RelayRequest> = [
335
- 'tokenOwner',
336
- 'chainId',
337
- 'permits',
338
- 'callData',
334
+ 'typedData',
335
+ 'transactionRequest',
339
336
  ]
340
337
 
341
338
  for (const requiredParameter of requiredParameters) {
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '3.6.0'
2
+ export const version = '3.6.2-beta.0'
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signNativePermitMessage = void 0;
4
- const actions_1 = require("viem/actions");
5
- const utils_1 = require("viem/utils");
6
- const signNativePermitMessage = async (client, permitData) => {
7
- const signature = await (0, utils_1.getAction)(client, actions_1.signTypedData, 'signTypedData')({
8
- account: client.account,
9
- domain: permitData.domain,
10
- types: permitData.types,
11
- primaryType: 'Permit',
12
- message: permitData.values,
13
- });
14
- return {
15
- signature,
16
- values: permitData.values,
17
- };
18
- };
19
- exports.signNativePermitMessage = signNativePermitMessage;
20
- //# sourceMappingURL=signNativePermitMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signNativePermitMessage.js","sourceRoot":"","sources":["../../../../core/EVM/permits/signNativePermitMessage.ts"],"names":[],"mappings":";;;AAEA,0CAA4C;AAC5C,sCAAsC;AAG/B,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAc,EACd,UAA4B,EACI,EAAE;IAClC,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAS,EAC/B,MAAM,EACN,uBAAa,EACb,eAAe,CAChB,CAAC;QACA,OAAO,EAAE,MAAM,CAAC,OAAQ;QACxB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,UAAU,CAAC,MAAM;KAC3B,CAAC,CAAA;IAEF,OAAO;QACL,SAAS;QACT,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,uBAAuB,2BAoBnC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prettifyNativePermitData = exports.prettifyPermit2Data = void 0;
4
- const prettifyPermit2Data = (permitData) => {
5
- return {
6
- ...permitData,
7
- values: {
8
- ...permitData.values,
9
- permitted: {
10
- ...permitData.values.permitted,
11
- amount: BigInt(permitData.values.permitted.amount),
12
- },
13
- nonce: BigInt(permitData.values.nonce),
14
- deadline: BigInt(permitData.values.deadline),
15
- },
16
- };
17
- };
18
- exports.prettifyPermit2Data = prettifyPermit2Data;
19
- const prettifyNativePermitData = (permitData) => {
20
- return {
21
- ...permitData,
22
- values: {
23
- ...permitData.values,
24
- value: BigInt(permitData.values.value),
25
- nonce: BigInt(permitData.values.nonce),
26
- deadline: BigInt(permitData.values.deadline),
27
- },
28
- };
29
- };
30
- exports.prettifyNativePermitData = prettifyNativePermitData;
31
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../core/EVM/permits/utils.ts"],"names":[],"mappings":";;;AAUO,MAAM,mBAAmB,GAAG,CACjC,UAA+D,EACvC,EAAE;IAC1B,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE;YACN,GAAG,UAAU,CAAC,MAAM;YACpB,SAAS,EAAE;gBACT,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;aACnD;YACD,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7C;KACF,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,mBAAmB,uBAe/B;AAEM,MAAM,wBAAwB,GAAG,CACtC,UAA4C,EAC1B,EAAE;IACpB,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE;YACN,GAAG,UAAU,CAAC,MAAM;YACpB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7C;KACF,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,wBAAwB,4BAYpC"}
@@ -1,16 +0,0 @@
1
- import { signTypedData } from 'viem/actions';
2
- import { getAction } from 'viem/utils';
3
- export const signNativePermitMessage = async (client, permitData) => {
4
- const signature = await getAction(client, signTypedData, 'signTypedData')({
5
- account: client.account,
6
- domain: permitData.domain,
7
- types: permitData.types,
8
- primaryType: 'Permit',
9
- message: permitData.values,
10
- });
11
- return {
12
- signature,
13
- values: permitData.values,
14
- };
15
- };
16
- //# sourceMappingURL=signNativePermitMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signNativePermitMessage.js","sourceRoot":"","sources":["../../../../core/EVM/permits/signNativePermitMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAc,EACd,UAA4B,EACI,EAAE;IAClC,MAAM,SAAS,GAAG,MAAM,SAAS,CAC/B,MAAM,EACN,aAAa,EACb,eAAe,CAChB,CAAC;QACA,OAAO,EAAE,MAAM,CAAC,OAAQ;QACxB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,UAAU,CAAC,MAAM;KAC3B,CAAC,CAAA;IAEF,OAAO;QACL,SAAS;QACT,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAA;AACH,CAAC,CAAA"}
@@ -1,26 +0,0 @@
1
- export const prettifyPermit2Data = (permitData) => {
2
- return {
3
- ...permitData,
4
- values: {
5
- ...permitData.values,
6
- permitted: {
7
- ...permitData.values.permitted,
8
- amount: BigInt(permitData.values.permitted.amount),
9
- },
10
- nonce: BigInt(permitData.values.nonce),
11
- deadline: BigInt(permitData.values.deadline),
12
- },
13
- };
14
- };
15
- export const prettifyNativePermitData = (permitData) => {
16
- return {
17
- ...permitData,
18
- values: {
19
- ...permitData.values,
20
- value: BigInt(permitData.values.value),
21
- nonce: BigInt(permitData.values.nonce),
22
- deadline: BigInt(permitData.values.deadline),
23
- },
24
- };
25
- };
26
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../core/EVM/permits/utils.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,UAA+D,EACvC,EAAE;IAC1B,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE;YACN,GAAG,UAAU,CAAC,MAAM;YACpB,SAAS,EAAE;gBACT,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;aACnD;YACD,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7C;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,UAA4C,EAC1B,EAAE;IACpB,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE;YACN,GAAG,UAAU,CAAC,MAAM;YACpB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7C;KACF,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { Client } from 'viem';
2
- import type { NativePermitData, NativePermitSignature } from './types.js';
3
- export declare const signNativePermitMessage: (client: Client, permitData: NativePermitData) => Promise<NativePermitSignature>;
4
- //# sourceMappingURL=signNativePermitMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signNativePermitMessage.d.ts","sourceRoot":"","sources":["../../../../core/EVM/permits/signNativePermitMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAGlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEzE,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,EACd,YAAY,gBAAgB,KAC3B,OAAO,CAAC,qBAAqB,CAiB/B,CAAA"}
@@ -1,6 +0,0 @@
1
- import type { PermitTransferFromData } from './signatureTransfer.js';
2
- import type { PermitData, PermitValues, PermitWitnessTransferFromValues } from '@lifi/types';
3
- import type { NativePermitData } from './types.js';
4
- export declare const prettifyPermit2Data: (permitData: PermitData<PermitWitnessTransferFromValues<string>>) => PermitTransferFromData;
5
- export declare const prettifyNativePermitData: (permitData: PermitData<PermitValues<string>>) => NativePermitData;
6
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../core/EVM/permits/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,+BAA+B,EAChC,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,mBAAmB,GAC9B,YAAY,UAAU,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,KAC9D,sBAaF,CAAA;AAED,eAAO,MAAM,wBAAwB,GACnC,YAAY,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAC3C,gBAUF,CAAA"}
@@ -1,27 +0,0 @@
1
- import type {} from '@lifi/types'
2
- import type { Client } from 'viem'
3
- import { signTypedData } from 'viem/actions'
4
- import { getAction } from 'viem/utils'
5
- import type { NativePermitData, NativePermitSignature } from './types.js'
6
-
7
- export const signNativePermitMessage = async (
8
- client: Client,
9
- permitData: NativePermitData
10
- ): Promise<NativePermitSignature> => {
11
- const signature = await getAction(
12
- client,
13
- signTypedData,
14
- 'signTypedData'
15
- )({
16
- account: client.account!,
17
- domain: permitData.domain,
18
- types: permitData.types,
19
- primaryType: 'Permit',
20
- message: permitData.values,
21
- })
22
-
23
- return {
24
- signature,
25
- values: permitData.values,
26
- }
27
- }
@@ -1,40 +0,0 @@
1
- import type { PermitTransferFromData } from './signatureTransfer.js'
2
-
3
- import type {
4
- PermitData,
5
- PermitValues,
6
- PermitWitnessTransferFromValues,
7
- } from '@lifi/types'
8
- import type {} from './signatureTransfer.js'
9
- import type { NativePermitData } from './types.js'
10
-
11
- export const prettifyPermit2Data = (
12
- permitData: PermitData<PermitWitnessTransferFromValues<string>>
13
- ): PermitTransferFromData => {
14
- return {
15
- ...permitData,
16
- values: {
17
- ...permitData.values,
18
- permitted: {
19
- ...permitData.values.permitted,
20
- amount: BigInt(permitData.values.permitted.amount),
21
- },
22
- nonce: BigInt(permitData.values.nonce),
23
- deadline: BigInt(permitData.values.deadline),
24
- },
25
- }
26
- }
27
-
28
- export const prettifyNativePermitData = (
29
- permitData: PermitData<PermitValues<string>>
30
- ): NativePermitData => {
31
- return {
32
- ...permitData,
33
- values: {
34
- ...permitData.values,
35
- value: BigInt(permitData.values.value),
36
- nonce: BigInt(permitData.values.nonce),
37
- deadline: BigInt(permitData.values.deadline),
38
- },
39
- }
40
- }