@lifi/sdk 3.1.5 → 3.2.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.
- package/package.json +29 -29
- package/src/_cjs/core/EVM/EVM.js +2 -2
- package/src/_cjs/core/EVM/EVM.js.map +1 -1
- package/src/_cjs/core/EVM/EVMStepExecutor.js +29 -29
- package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_cjs/core/EVM/checkAllowance.js +8 -8
- package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
- package/src/_cjs/core/EVM/getAllowance.js +8 -11
- package/src/_cjs/core/EVM/getAllowance.js.map +1 -1
- package/src/_cjs/core/EVM/getENSAddress.js +1 -1
- package/src/_cjs/core/EVM/getENSAddress.js.map +1 -1
- package/src/_cjs/core/EVM/getEVMBalance.js +6 -5
- package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -1
- package/src/_cjs/core/EVM/publicClient.js +1 -1
- package/src/_cjs/core/EVM/publicClient.js.map +1 -1
- package/src/_cjs/core/EVM/setAllowance.js +5 -5
- package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
- package/src/_cjs/core/EVM/switchChain.js +10 -6
- package/src/_cjs/core/EVM/switchChain.js.map +1 -1
- package/src/_cjs/core/EVM/utils.js +2 -1
- package/src/_cjs/core/EVM/utils.js.map +1 -1
- package/src/_cjs/core/EVM/waitForTransactionReceipt.js +4 -4
- package/src/_cjs/core/EVM/waitForTransactionReceipt.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_cjs/version.js.map +1 -1
- package/src/_esm/core/EVM/EVM.js +2 -2
- package/src/_esm/core/EVM/EVM.js.map +1 -1
- package/src/_esm/core/EVM/EVMStepExecutor.js +29 -29
- package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_esm/core/EVM/checkAllowance.js +8 -8
- package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
- package/src/_esm/core/EVM/getAllowance.js +8 -11
- package/src/_esm/core/EVM/getAllowance.js.map +1 -1
- package/src/_esm/core/EVM/getENSAddress.js +2 -2
- package/src/_esm/core/EVM/getENSAddress.js.map +1 -1
- package/src/_esm/core/EVM/getEVMBalance.js +6 -5
- package/src/_esm/core/EVM/getEVMBalance.js.map +1 -1
- package/src/_esm/core/EVM/publicClient.js +2 -2
- package/src/_esm/core/EVM/publicClient.js.map +1 -1
- package/src/_esm/core/EVM/setAllowance.js +6 -6
- package/src/_esm/core/EVM/setAllowance.js.map +1 -1
- package/src/_esm/core/EVM/switchChain.js +14 -10
- package/src/_esm/core/EVM/switchChain.js.map +1 -1
- package/src/_esm/core/EVM/utils.js +2 -1
- package/src/_esm/core/EVM/utils.js.map +1 -1
- package/src/_esm/core/EVM/waitForTransactionReceipt.js +4 -4
- package/src/_esm/core/EVM/waitForTransactionReceipt.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_esm/version.js.map +1 -1
- package/src/_types/core/EVM/EVMStepExecutor.d.ts +4 -4
- package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
- package/src/_types/core/EVM/checkAllowance.d.ts +2 -2
- package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
- package/src/_types/core/EVM/getAllowance.d.ts.map +1 -1
- package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -1
- package/src/_types/core/EVM/publicClient.d.ts +2 -2
- package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
- package/src/_types/core/EVM/setAllowance.d.ts +2 -2
- package/src/_types/core/EVM/setAllowance.d.ts.map +1 -1
- package/src/_types/core/EVM/switchChain.d.ts +6 -6
- package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
- package/src/_types/core/EVM/types.d.ts +5 -5
- package/src/_types/core/EVM/types.d.ts.map +1 -1
- package/src/_types/core/EVM/utils.d.ts +2 -2
- package/src/_types/core/EVM/utils.d.ts.map +1 -1
- package/src/_types/core/EVM/waitForTransactionReceipt.d.ts +3 -3
- package/src/_types/core/EVM/waitForTransactionReceipt.d.ts.map +1 -1
- package/src/_types/core/types.d.ts +2 -2
- package/src/_types/core/types.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/_types/version.d.ts.map +1 -1
- package/src/core/EVM/EVM.ts +2 -2
- package/src/core/EVM/EVMStepExecutor.ts +33 -46
- package/src/core/EVM/checkAllowance.ts +9 -9
- package/src/core/EVM/getAllowance.ts +8 -12
- package/src/core/EVM/getENSAddress.ts +2 -2
- package/src/core/EVM/getEVMBalance.ts +11 -5
- package/src/core/EVM/publicClient.ts +5 -7
- package/src/core/EVM/setAllowance.ts +8 -13
- package/src/core/EVM/switchChain.ts +16 -12
- package/src/core/EVM/types.ts +5 -5
- package/src/core/EVM/utils.ts +4 -3
- package/src/core/EVM/waitForTransactionReceipt.ts +7 -10
- package/src/core/types.ts +2 -4
- package/src/version.ts +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { encodeFunctionData
|
|
1
|
+
import { encodeFunctionData } from 'viem';
|
|
2
|
+
import { sendTransaction } from 'viem/actions';
|
|
2
3
|
import { isNativeTokenAddress } from '../../utils/utils.js';
|
|
3
4
|
import { approveAbi } from './abi.js';
|
|
4
5
|
import { getAllowance } from './getAllowance.js';
|
|
5
6
|
import { getMaxPriorityFeePerGas } from './utils.js';
|
|
6
|
-
export const setAllowance = async (
|
|
7
|
+
export const setAllowance = async (client, tokenAddress, contractAddress, amount, settings, returnPopulatedTransaction) => {
|
|
7
8
|
const data = encodeFunctionData({
|
|
8
9
|
abi: approveAbi,
|
|
9
10
|
functionName: 'approve',
|
|
@@ -12,11 +13,10 @@ export const setAllowance = async (walletClient, tokenAddress, contractAddress,
|
|
|
12
13
|
if (returnPopulatedTransaction) {
|
|
13
14
|
return data;
|
|
14
15
|
}
|
|
15
|
-
const client = walletClient.extend(publicActions);
|
|
16
16
|
let transactionRequest = {
|
|
17
17
|
to: tokenAddress,
|
|
18
18
|
data,
|
|
19
|
-
maxPriorityFeePerGas:
|
|
19
|
+
maxPriorityFeePerGas: client.account?.type === 'local'
|
|
20
20
|
? await getMaxPriorityFeePerGas(client)
|
|
21
21
|
: undefined,
|
|
22
22
|
};
|
|
@@ -30,9 +30,9 @@ export const setAllowance = async (walletClient, tokenAddress, contractAddress,
|
|
|
30
30
|
...customizedTransactionRequest,
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
return
|
|
33
|
+
return sendTransaction(client, {
|
|
34
34
|
to: transactionRequest.to,
|
|
35
|
-
account:
|
|
35
|
+
account: client.account,
|
|
36
36
|
data: transactionRequest.data,
|
|
37
37
|
gas: transactionRequest.gas,
|
|
38
38
|
gasPrice: transactionRequest.gasPrice,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setAllowance.js","sourceRoot":"","sources":["../../../core/EVM/setAllowance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setAllowance.js","sourceRoot":"","sources":["../../../core/EVM/setAllowance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getChainId } from 'viem/actions';
|
|
1
2
|
import { LiFiErrorCode } from '../../errors/constants.js';
|
|
2
3
|
import { ProviderError } from '../../errors/errors.js';
|
|
3
4
|
/**
|
|
@@ -6,22 +7,22 @@ import { ProviderError } from '../../errors/errors.js';
|
|
|
6
7
|
* If no and if user interaction is allowed it triggers the switchChainHook. If no user interaction is allowed it aborts.
|
|
7
8
|
*
|
|
8
9
|
* Account Type: local -
|
|
9
|
-
* We need to create and return a new
|
|
10
|
+
* We need to create and return a new connector client from the switchChainHook in order to continue execution on a new chain.
|
|
10
11
|
*
|
|
11
12
|
* Account Type: json-rpc -
|
|
12
|
-
* We can switch chain and return existing
|
|
13
|
-
* @param
|
|
13
|
+
* We can switch chain and return existing connector client from the switchChainHook in order to continue execution on a new chain.
|
|
14
|
+
* @param client
|
|
14
15
|
* @param statusManager
|
|
15
16
|
* @param step
|
|
16
17
|
* @param switchChainHook
|
|
17
18
|
* @param allowUserInteraction
|
|
18
|
-
* @returns New
|
|
19
|
+
* @returns New connector client
|
|
19
20
|
*/
|
|
20
|
-
export const switchChain = async (
|
|
21
|
+
export const switchChain = async (client, statusManager, step, allowUserInteraction, switchChainHook) => {
|
|
21
22
|
// if we are already on the correct chain we can proceed directly
|
|
22
|
-
const currentChainId = await
|
|
23
|
+
const currentChainId = await getChainId(client);
|
|
23
24
|
if (currentChainId === step.action.fromChainId) {
|
|
24
|
-
return
|
|
25
|
+
return client;
|
|
25
26
|
}
|
|
26
27
|
// -> set status message
|
|
27
28
|
step.execution = statusManager.initExecutionObject(step);
|
|
@@ -31,14 +32,17 @@ export const switchChain = async (walletClient, statusManager, step, allowUserIn
|
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
34
|
try {
|
|
34
|
-
const
|
|
35
|
-
|
|
35
|
+
const updatedClient = await switchChainHook?.(step.action.fromChainId);
|
|
36
|
+
let updatedChainId;
|
|
37
|
+
if (updatedClient) {
|
|
38
|
+
updatedChainId = await getChainId(updatedClient);
|
|
39
|
+
}
|
|
36
40
|
if (updatedChainId !== step.action.fromChainId) {
|
|
37
41
|
throw new ProviderError(LiFiErrorCode.ChainSwitchError, 'Chain switch required.');
|
|
38
42
|
}
|
|
39
43
|
switchProcess = statusManager.updateProcess(step, switchProcess.type, 'DONE');
|
|
40
44
|
statusManager.updateExecution(step, 'PENDING');
|
|
41
|
-
return
|
|
45
|
+
return updatedClient;
|
|
42
46
|
}
|
|
43
47
|
catch (error) {
|
|
44
48
|
statusManager.updateProcess(step, switchProcess.type, 'FAILED', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchChain.js","sourceRoot":"","sources":["../../../core/EVM/switchChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,
|
|
1
|
+
{"version":3,"file":"switchChain.js","sourceRoot":"","sources":["../../../core/EVM/switchChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,MAAc,EACd,aAA4B,EAC5B,IAAsB,EACtB,oBAA6B,EAC7B,eAAiC,EACJ,EAAE;IAC/B,iEAAiE;IACjE,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/C,IAAI,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACxD,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAEtD,IAAI,aAAa,GAAG,aAAa,CAAC,mBAAmB,CACnD,IAAI,EACJ,cAAc,EACd,iBAAiB,CAClB,CAAA;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACtE,IAAI,cAAc,CAAA;QAClB,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CACrB,aAAa,CAAC,gBAAgB,EAC9B,wBAAwB,CACzB,CAAA;QACH,CAAC;QAED,aAAa,GAAG,aAAa,CAAC,aAAa,CACzC,IAAI,EACJ,aAAa,CAAC,IAAI,EAClB,MAAM,CACP,CAAA;QACD,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAC9C,OAAO,aAAa,CAAA;IACtB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC9D,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,aAAa,CAAC,gBAAgB;aACrC;SACF,CAAC,CAAA;QACF,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {} from '@lifi/types';
|
|
2
|
+
import { getBlock } from 'viem/actions';
|
|
2
3
|
import { config } from '../../config.js';
|
|
3
4
|
import { median } from '../../utils/median.js';
|
|
4
5
|
export const getMaxPriorityFeePerGas = async (client) => {
|
|
5
|
-
const block = await
|
|
6
|
+
const block = await getBlock(client, {
|
|
6
7
|
includeTransactions: true,
|
|
7
8
|
});
|
|
8
9
|
const maxPriorityFeePerGasList = block.transactions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../core/EVM/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../core/EVM/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAc,EACe,EAAE;IAC/B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE;QACnC,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAI,KAAK,CAAC,YAA8B;SACnE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC;SACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAa,CAAA;IAEnD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC;QACrC,OAAM;IACR,CAAC;IAED,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,CAC7D,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAC9B,EAAE,CACH,CAAA;IAED,MAAM,0BAA0B,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAA;IAEzE,MAAM,uBAAuB,GAC3B,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAEnE,OAAO,0BAA0B,GAAG,uBAAuB;QACzD,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,0BAA0B,CAAA;AAChC,CAAC,CAAA;AAED,YAAY;AACZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAgB,EACa,EAAE;IAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,gBAAgB,CAAA;AACvE,CAAC,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAmC,EAAE,EAAE,CACvE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { waitForTransactionReceipt as waitForTransactionReceiptInternal } from 'viem/actions';
|
|
2
2
|
import { LiFiErrorCode, TransactionError } from '../../utils/index.js';
|
|
3
3
|
import { getPublicClient } from './publicClient.js';
|
|
4
4
|
import { retryCount, retryDelay } from './utils.js';
|
|
5
|
-
export async function waitForTransactionReceipt({
|
|
6
|
-
let { transactionReceipt, replacementReason } = await waitForReceipt(
|
|
5
|
+
export async function waitForTransactionReceipt({ client, chainId, txHash, onReplaced, }) {
|
|
6
|
+
let { transactionReceipt, replacementReason } = await waitForReceipt(client, txHash, onReplaced);
|
|
7
7
|
if (!transactionReceipt?.status) {
|
|
8
8
|
const publicClient = await getPublicClient(chainId);
|
|
9
9
|
const result = await waitForReceipt(publicClient, txHash, onReplaced);
|
|
@@ -22,7 +22,7 @@ async function waitForReceipt(client, txHash, onReplaced) {
|
|
|
22
22
|
let replacementReason;
|
|
23
23
|
let transactionReceipt;
|
|
24
24
|
try {
|
|
25
|
-
transactionReceipt = await client
|
|
25
|
+
transactionReceipt = await waitForTransactionReceiptInternal(client, {
|
|
26
26
|
hash: txHash,
|
|
27
27
|
onReplaced: (response) => {
|
|
28
28
|
replacementReason = response.reason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForTransactionReceipt.js","sourceRoot":"","sources":["../../../core/EVM/waitForTransactionReceipt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waitForTransactionReceipt.js","sourceRoot":"","sources":["../../../core/EVM/waitForTransactionReceipt.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,yBAAyB,IAAI,iCAAiC,EAAE,MAAM,cAAc,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AASnD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,MAAM,EACN,OAAO,EACP,MAAM,EACN,UAAU,GACqB;IAC/B,IAAI,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,MAAM,cAAc,CAClE,MAAM,EACN,MAAM,EACN,UAAU,CACX,CAAA;IAED,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QACrE,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAA;QAC9C,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;IAC9C,CAAC;IAED,IAAI,kBAAkB,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,2BAA2B,CAC5B,CAAA;IACH,CAAC;IACD,IAAI,iBAAiB,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,mBAAmB,EACjC,4BAA4B,CAC7B,CAAA;IACH,CAAC;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAAc,EACd,MAAY,EACZ,UAAyE;IAKzE,IAAI,iBAAgD,CAAA;IACpD,IAAI,kBAAkD,CAAA;IAEtD,IAAI,CAAC;QACH,kBAAkB,GAAG,MAAM,iCAAiC,CAAC,MAAM,EAAE;YACnE,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACvB,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAA;gBACnC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;YACxB,CAAC;YACD,UAAU;YACV,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yFAAyF;IAC3F,CAAC;IAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;AAClD,CAAC"}
|
package/src/_esm/version.js
CHANGED
package/src/_esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { Process } from '@lifi/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Client } from 'viem';
|
|
3
3
|
import { BaseStepExecutor } from '../BaseStepExecutor.js';
|
|
4
4
|
import type { LiFiStepExtended, StepExecutorOptions } from '../types.js';
|
|
5
5
|
import type { MultisigConfig } from './types.js';
|
|
6
6
|
export interface EVMStepExecutorOptions extends StepExecutorOptions {
|
|
7
|
-
|
|
7
|
+
client: Client;
|
|
8
8
|
multisig?: MultisigConfig;
|
|
9
9
|
}
|
|
10
10
|
export declare class EVMStepExecutor extends BaseStepExecutor {
|
|
11
|
-
private
|
|
11
|
+
private client;
|
|
12
12
|
private multisig?;
|
|
13
13
|
constructor(options: EVMStepExecutorOptions);
|
|
14
|
-
|
|
14
|
+
checkClient: (step: LiFiStepExtended, process?: Process) => Promise<Client | undefined>;
|
|
15
15
|
executeStep: (step: LiFiStepExtended) => Promise<LiFiStepExtended>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=EVMStepExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EVMStepExecutor.d.ts","sourceRoot":"","sources":["../../../core/EVM/EVMStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,OAAO,EACR,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"EVMStepExecutor.d.ts","sourceRoot":"","sources":["../../../core/EVM/EVMStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,OAAO,EACR,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,MAAM,EAAmC,MAAM,MAAM,CAAA;AAUnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAIzD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,aAAa,CAAA;AAMpB,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAA;AAIrE,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAgB;gBAErB,OAAO,EAAE,sBAAsB;IAO3C,WAAW,SACH,gBAAgB,YACZ,OAAO,KAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C7B;IAED,WAAW,SAAgB,gBAAgB,KAAG,OAAO,CAAC,gBAAgB,CAAC,CA6XtE;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Chain, LiFiStep } from '@lifi/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Client, Hash } from 'viem';
|
|
3
3
|
import type { StatusManager } from '../StatusManager.js';
|
|
4
4
|
import type { ExecutionOptions } from '../types.js';
|
|
5
|
-
export declare const checkAllowance: (chain: Chain, step: LiFiStep,
|
|
5
|
+
export declare const checkAllowance: (client: Client, chain: Chain, step: LiFiStep, statusManager: StatusManager, settings?: ExecutionOptions, allowUserInteraction?: boolean, shouldBatchTransactions?: boolean) => Promise<Hash | void>;
|
|
6
6
|
//# sourceMappingURL=checkAllowance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkAllowance.d.ts","sourceRoot":"","sources":["../../../core/EVM/checkAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAA;AACxE,OAAO,KAAK,EAAW,
|
|
1
|
+
{"version":3,"file":"checkAllowance.d.ts","sourceRoot":"","sources":["../../../core/EVM/checkAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAA;AACxE,OAAO,KAAK,EAAW,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,eAAO,MAAM,cAAc,WACjB,MAAM,SACP,KAAK,QACN,QAAQ,iBACC,aAAa,aACjB,gBAAgB,wEAG1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAgGrB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllowance.d.ts","sourceRoot":"","sources":["../../../core/EVM/getAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAMrD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,eAAO,MAAM,YAAY,YACd,OAAO,gBACF,MAAM,gBACN,MAAM,kBACJ,MAAM,KACrB,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"getAllowance.d.ts","sourceRoot":"","sources":["../../../core/EVM/getAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAMrD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,eAAO,MAAM,YAAY,YACd,OAAO,gBACF,MAAM,gBACN,MAAM,kBACJ,MAAM,KACrB,OAAO,CAAC,MAAM,CAahB,CAAA;AAED,eAAO,MAAM,qBAAqB,YACvB,OAAO,UACR,YAAY,EAAE,gBACR,MAAM,KACnB,OAAO,CAAC,qBAAqB,EAAE,CAkCjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,UACrB,SAAS,gBACF,MAAM,kBACJ,MAAM,KACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAa5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,iBACvB,MAAM,UACZ,YAAY,EAAE,KACrB,OAAO,CAAC,cAAc,EAAE,CA+B1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEVMBalance.d.ts","sourceRoot":"","sources":["../../../core/EVM/getEVMBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"getEVMBalance.d.ts","sourceRoot":"","sources":["../../../core/EVM/getEVMBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAa9D,eAAO,MAAM,aAAa,kBACT,MAAM,UACb,KAAK,EAAE,KACd,OAAO,CAAC,WAAW,EAAE,CAuBvB,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Client } from 'viem';
|
|
2
2
|
/**
|
|
3
3
|
* Get an instance of a provider for a specific chain
|
|
4
4
|
* @param chainId - Id of the chain the provider is for
|
|
5
5
|
* @returns The public client for the given chain
|
|
6
6
|
*/
|
|
7
|
-
export declare const getPublicClient: (chainId: number) => Promise<
|
|
7
|
+
export declare const getPublicClient: (chainId: number) => Promise<Client>;
|
|
8
8
|
//# sourceMappingURL=publicClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicClient.d.ts","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"publicClient.d.ts","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AASlC;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAAmB,MAAM,KAAG,OAAO,CAAC,MAAM,CA2CrE,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Client, Hash } from 'viem';
|
|
2
2
|
import type { ExecutionOptions } from '../types.js';
|
|
3
3
|
import type { ApproveTokenRequest, RevokeApprovalRequest } from './types.js';
|
|
4
|
-
export declare const setAllowance: (
|
|
4
|
+
export declare const setAllowance: (client: Client, tokenAddress: string, contractAddress: string, amount: bigint, settings?: ExecutionOptions, returnPopulatedTransaction?: boolean) => Promise<Hash>;
|
|
5
5
|
/**
|
|
6
6
|
* Set approval for a certain token and amount.
|
|
7
7
|
* @param request - The approval request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setAllowance.d.ts","sourceRoot":"","sources":["../../../core/EVM/setAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"setAllowance.d.ts","sourceRoot":"","sources":["../../../core/EVM/setAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAA6B,MAAM,MAAM,CAAA;AAInE,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAA;AAG1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAG5E,eAAO,MAAM,YAAY,WACf,MAAM,gBACA,MAAM,mBACH,MAAM,UACf,MAAM,aACH,gBAAgB,+BACE,OAAO,KACnC,OAAO,CAAC,IAAI,CA2Cd,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,qDAK3B,mBAAmB,KAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAsB3C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,6CAI7B,qBAAqB,KAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAqB7C,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Client } from 'viem';
|
|
2
2
|
import type { StatusManager } from '../StatusManager.js';
|
|
3
3
|
import type { LiFiStepExtended, SwitchChainHook } from '../types.js';
|
|
4
4
|
/**
|
|
@@ -7,16 +7,16 @@ import type { LiFiStepExtended, SwitchChainHook } from '../types.js';
|
|
|
7
7
|
* If no and if user interaction is allowed it triggers the switchChainHook. If no user interaction is allowed it aborts.
|
|
8
8
|
*
|
|
9
9
|
* Account Type: local -
|
|
10
|
-
* We need to create and return a new
|
|
10
|
+
* We need to create and return a new connector client from the switchChainHook in order to continue execution on a new chain.
|
|
11
11
|
*
|
|
12
12
|
* Account Type: json-rpc -
|
|
13
|
-
* We can switch chain and return existing
|
|
14
|
-
* @param
|
|
13
|
+
* We can switch chain and return existing connector client from the switchChainHook in order to continue execution on a new chain.
|
|
14
|
+
* @param client
|
|
15
15
|
* @param statusManager
|
|
16
16
|
* @param step
|
|
17
17
|
* @param switchChainHook
|
|
18
18
|
* @param allowUserInteraction
|
|
19
|
-
* @returns New
|
|
19
|
+
* @returns New connector client
|
|
20
20
|
*/
|
|
21
|
-
export declare const switchChain: (
|
|
21
|
+
export declare const switchChain: (client: Client, statusManager: StatusManager, step: LiFiStepExtended, allowUserInteraction: boolean, switchChainHook?: SwitchChainHook) => Promise<Client | undefined>;
|
|
22
22
|
//# sourceMappingURL=switchChain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchChain.d.ts","sourceRoot":"","sources":["../../../core/EVM/switchChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"switchChain.d.ts","sourceRoot":"","sources":["../../../core/EVM/switchChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,WACd,MAAM,iBACC,aAAa,QACtB,gBAAgB,wBACA,OAAO,oBACX,eAAe,KAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAmD5B,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type BaseToken } from '@lifi/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Client, Hash } from 'viem';
|
|
3
3
|
import type { SwitchChainHook } from '../types.js';
|
|
4
4
|
import { type SDKProvider } from '../types.js';
|
|
5
5
|
export interface EVMProviderOptions {
|
|
6
|
-
getWalletClient?: () => Promise<
|
|
6
|
+
getWalletClient?: () => Promise<Client>;
|
|
7
7
|
switchChain?: SwitchChainHook;
|
|
8
8
|
multisig?: MultisigConfig;
|
|
9
9
|
}
|
|
@@ -26,7 +26,7 @@ export type TokenSpenderAllowance = {
|
|
|
26
26
|
allowance?: bigint;
|
|
27
27
|
};
|
|
28
28
|
export interface ApproveTokenRequest {
|
|
29
|
-
walletClient:
|
|
29
|
+
walletClient: Client;
|
|
30
30
|
token: BaseToken;
|
|
31
31
|
spenderAddress: string;
|
|
32
32
|
amount: bigint;
|
|
@@ -36,7 +36,7 @@ export interface ApproveTokenRequest {
|
|
|
36
36
|
infiniteApproval?: boolean;
|
|
37
37
|
}
|
|
38
38
|
export interface RevokeApprovalRequest {
|
|
39
|
-
walletClient:
|
|
39
|
+
walletClient: Client;
|
|
40
40
|
token: BaseToken;
|
|
41
41
|
spenderAddress: string;
|
|
42
42
|
}
|
|
@@ -50,7 +50,7 @@ export interface MultisigTransaction {
|
|
|
50
50
|
data: string;
|
|
51
51
|
}
|
|
52
52
|
export interface MultisigConfig {
|
|
53
|
-
|
|
53
|
+
isMultisigClient: boolean;
|
|
54
54
|
getMultisigTransactionDetails: (txHash: Hash, fromChainId: number, updateIntermediateStatus?: () => void) => Promise<MultisigTxDetails>;
|
|
55
55
|
sendBatchTransaction?: (batchTransactions: MultisigTransaction[]) => Promise<Hash>;
|
|
56
56
|
shouldBatchTransactions?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../core/EVM/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../core/EVM/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,WAAW,CAEpE;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;IACnD,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,OAAO,CAAA;IACzB,6BAA6B,EAAE,CAC7B,MAAM,EAAE,IAAI,EACZ,WAAW,EAAE,MAAM,EACnB,wBAAwB,CAAC,EAAE,MAAM,IAAI,KAClC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC/B,oBAAoB,CAAC,EAAE,CACrB,iBAAiB,EAAE,mBAAmB,EAAE,KACrC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ChainId } from '@lifi/types';
|
|
2
|
-
import type {
|
|
3
|
-
export declare const getMaxPriorityFeePerGas: (client:
|
|
2
|
+
import type { Client } from 'viem';
|
|
3
|
+
export declare const getMaxPriorityFeePerGas: (client: Client) => Promise<bigint | undefined>;
|
|
4
4
|
export declare const getMulticallAddress: (chainId: ChainId) => Promise<string | undefined>;
|
|
5
5
|
export declare const retryDelay: ({ count }: {
|
|
6
6
|
count: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../core/EVM/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../core/EVM/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,MAAM,CAAA;AAK/C,eAAO,MAAM,uBAAuB,WAC1B,MAAM,KACb,OAAO,CAAC,MAAM,GAAG,SAAS,CA0B5B,CAAA;AAGD,eAAO,MAAM,mBAAmB,YACrB,OAAO,KACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAG5B,CAAA;AAGD,eAAO,MAAM,UAAU,cAAe;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,WAC/B,CAAA;AAEtC,eAAO,MAAM,UAAU,KAAK,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ChainId } from '@lifi/types';
|
|
2
|
-
import type { Chain, Hash, ReplacementReturnType, TransactionReceipt
|
|
2
|
+
import type { Chain, Client, Hash, ReplacementReturnType, TransactionReceipt } from 'viem';
|
|
3
3
|
interface WaitForTransactionReceiptProps {
|
|
4
|
-
|
|
4
|
+
client: Client;
|
|
5
5
|
chainId: ChainId;
|
|
6
6
|
txHash: Hash;
|
|
7
7
|
onReplaced?: (response: ReplacementReturnType<Chain | undefined>) => void;
|
|
8
8
|
}
|
|
9
|
-
export declare function waitForTransactionReceipt({
|
|
9
|
+
export declare function waitForTransactionReceipt({ client, chainId, txHash, onReplaced, }: WaitForTransactionReceiptProps): Promise<TransactionReceipt | undefined>;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=waitForTransactionReceipt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForTransactionReceipt.d.ts","sourceRoot":"","sources":["../../../core/EVM/waitForTransactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EACV,KAAK,EACL,IAAI,
|
|
1
|
+
{"version":3,"file":"waitForTransactionReceipt.d.ts","sourceRoot":"","sources":["../../../core/EVM/waitForTransactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EACV,KAAK,EACL,MAAM,EACN,IAAI,EAEJ,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,MAAM,CAAA;AAMb,UAAU,8BAA8B;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,IAAI,CAAA;IACZ,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAA;CAC1E;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,MAAM,EACN,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE,8BAA8B,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CA4B1E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ChainType, Execution, LiFiStep, Route, Step, Token, TokenAmount } from '@lifi/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Client } from 'viem';
|
|
3
3
|
export interface SDKProvider {
|
|
4
4
|
readonly type: ChainType;
|
|
5
5
|
isAddress(address: string): boolean;
|
|
@@ -55,7 +55,7 @@ export interface TransactionRequestParameters extends TransactionParameters {
|
|
|
55
55
|
requestType: 'approve' | 'transaction';
|
|
56
56
|
}
|
|
57
57
|
export type TransactionRequestUpdateHook = (updatedTxRequest: TransactionRequestParameters) => Promise<TransactionParameters>;
|
|
58
|
-
export type SwitchChainHook = (chainId: number) => Promise<
|
|
58
|
+
export type SwitchChainHook = (chainId: number) => Promise<Client | undefined>;
|
|
59
59
|
export interface AcceptSlippageUpdateHookParams {
|
|
60
60
|
toToken: Token;
|
|
61
61
|
oldToAmount: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,EACL,WAAW,EACZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../core/types.ts"],"names":[],"mappings":"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"}
|
package/src/_types/version.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/src/core/EVM/EVM.ts
CHANGED
|
@@ -22,13 +22,13 @@ export function EVM(options?: EVMProviderOptions): EVMProvider {
|
|
|
22
22
|
options: StepExecutorOptions
|
|
23
23
|
): Promise<EVMStepExecutor> {
|
|
24
24
|
if (!_options.getWalletClient) {
|
|
25
|
-
throw new Error(`
|
|
25
|
+
throw new Error(`Client is not provided.`)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
const walletClient = await _options.getWalletClient()
|
|
29
29
|
|
|
30
30
|
const executor = new EVMStepExecutor({
|
|
31
|
-
walletClient,
|
|
31
|
+
client: walletClient,
|
|
32
32
|
multisig: _options.multisig,
|
|
33
33
|
routeId: options.routeId,
|
|
34
34
|
executionOptions: {
|