@defisaver/positions-sdk 2.1.45-dev-dev → 2.1.45-portfolio-sim-dev

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.
@@ -1,5 +1,5 @@
1
1
  import { Client } from 'viem';
2
- import { AaveMarketInfo, AaveV3MarketData, AaveV3PositionData, AaveV3UsedAssets, EModeCategoryDataMapping } from '../types';
2
+ import { AaveMarketInfo, AaveV3MarketData, AaveV3PositionData, AaveV3UsedAssets, EModeCategoryDataMapping } from '../types/aave';
3
3
  import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
4
4
  import { getMeritCampaigns } from './merit';
5
5
  import { getMerkleCampaigns } from './merkl';
@@ -1,6 +1,6 @@
1
1
  import { EthAddress, EthereumProvider, NetworkNumber } from '../types/common';
2
2
  import { PortfolioPositionsData } from '../types';
3
- export declare function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], isSim?: boolean): Promise<{
3
+ export declare function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], summerFiAddresses: EthAddress[]): Promise<{
4
4
  positions: PortfolioPositionsData;
5
5
  stakingPositions: any;
6
6
  rewardsData: any;
@@ -40,8 +40,8 @@ const spark_2 = require("../claiming/spark");
40
40
  const morphoBlue_2 = require("../claiming/morphoBlue");
41
41
  const king_1 = require("../claiming/king");
42
42
  const ethena_1 = require("../claiming/ethena");
43
- function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1) {
44
- return __awaiter(this, arguments, void 0, function* (provider, network, defaultProvider, addresses, isSim = false) {
43
+ function getPortfolioData(provider, network, defaultProvider, addresses, summerFiAddresses) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
45
  const isMainnet = network === common_1.NetworkNumber.Eth;
46
46
  const isFluidSupported = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Plasma].includes(network);
47
47
  const isMorphoRewardsSupported = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Base].includes(network);
@@ -56,12 +56,20 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
56
56
  const llamaLendMarkets = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb].includes(network) ? Object.values((0, markets_1.LlamaLendMarkets)(network)).filter((market) => market.chainIds.includes(network)) : [];
57
57
  const liquityV2Markets = [common_1.NetworkNumber.Eth].includes(network) ? Object.values((0, markets_1.LiquityV2Markets)(network)) : [];
58
58
  const liquityV2MarketsStaking = [common_1.NetworkNumber.Eth].includes(network) ? Object.values((0, markets_1.LiquityV2Markets)(network)).filter(market => !market.isLegacy) : [];
59
- const args = [network];
60
- if (!isSim) {
61
- args.push({ batch: { multicall: { batchSize: 2500000 } } });
62
- }
63
- const client = (0, viem_1.getViemProvider)(provider, ...args);
64
- const defaultClient = (0, viem_1.getViemProvider)(defaultProvider, ...args);
59
+ const client = (0, viem_1.getViemProvider)(provider, network, {
60
+ batch: {
61
+ multicall: {
62
+ batchSize: 2500000,
63
+ },
64
+ },
65
+ });
66
+ const defaultClient = (0, viem_1.getViemProvider)(defaultProvider, network, {
67
+ batch: {
68
+ multicall: {
69
+ batchSize: 2500000,
70
+ },
71
+ },
72
+ });
65
73
  const morphoMarketsData = {};
66
74
  const compoundV3MarketsData = {};
67
75
  const sparkMarketsData = {};
@@ -88,7 +96,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
88
96
  const positions = {};
89
97
  const stakingPositions = {};
90
98
  const rewardsData = {};
91
- const allAddresses = [...addresses];
99
+ const allAddresses = [...addresses, ...summerFiAddresses];
92
100
  for (const address of allAddresses) {
93
101
  positions[address.toLowerCase()] = {
94
102
  aaveV3: {},
@@ -1,4 +1,3 @@
1
- import { type Abi } from 'viem';
2
1
  import { Blockish, EthereumProvider, NetworkNumber } from '../types/common';
3
2
  export declare const getViemChain: (network: NetworkNumber) => {
4
3
  blockExplorers: {
@@ -792,10 +791,10 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
792
791
  gasUsed: bigint;
793
792
  }>;
794
793
  createBlockFilter: () => Promise<import("viem").CreateBlockFilterReturnType>;
795
- createContractEventFilter: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined, args extends import("viem").MaybeExtractEventArgsFromAbi<abi, eventName> | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").CreateContractEventFilterParameters<abi, eventName, args, strict, fromBlock, toBlock>) => Promise<import("viem").CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>;
794
+ createContractEventFilter: <const abi extends import("viem").Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined, args extends import("viem").MaybeExtractEventArgsFromAbi<abi, eventName> | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").CreateContractEventFilterParameters<abi, eventName, args, strict, fromBlock, toBlock>) => Promise<import("viem").CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>;
796
795
  createEventFilter: <const abiEvent extends import("viem").AbiEvent | undefined = undefined, const abiEvents extends readonly import("viem").AbiEvent[] | readonly unknown[] | undefined = abiEvent extends import("viem").AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, _EventName extends string | undefined = import("viem").MaybeAbiEventName<abiEvent>, _Args extends import("viem").MaybeExtractEventArgsFromAbi<abiEvents, _EventName> | undefined = undefined>(args?: import("viem").CreateEventFilterParameters<abiEvent, abiEvents, strict, fromBlock, toBlock, _EventName, _Args> | undefined) => Promise<import("viem").CreateEventFilterReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock, _EventName, _Args>>;
797
796
  createPendingTransactionFilter: () => Promise<import("viem").CreatePendingTransactionFilterReturnType>;
798
- estimateContractGas: <chain extends import("viem").Chain | undefined, const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, args extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(args: import("viem").EstimateContractGasParameters<abi, functionName, args, chain>) => Promise<import("viem").EstimateContractGasReturnType>;
797
+ estimateContractGas: <chain extends import("viem").Chain | undefined, const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, args extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(args: import("viem").EstimateContractGasParameters<abi, functionName, args, chain>) => Promise<import("viem").EstimateContractGasReturnType>;
799
798
  estimateGas: (args: import("viem").EstimateGasParameters<undefined>) => Promise<import("viem").EstimateGasReturnType>;
800
799
  getBalance: (args: import("viem").GetBalanceParameters) => Promise<import("viem").GetBalanceReturnType>;
801
800
  getBlobBaseFee: () => Promise<import("viem").GetBlobBaseFeeReturnType>;
@@ -958,7 +957,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
958
957
  getBytecode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
959
958
  getChainId: () => Promise<import("viem").GetChainIdReturnType>;
960
959
  getCode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
961
- getContractEvents: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
960
+ getContractEvents: <const abi extends import("viem").Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
962
961
  getEip712Domain: (args: import("viem").GetEip712DomainParameters) => Promise<import("viem").GetEip712DomainReturnType>;
963
962
  getEnsAddress: (args: import("viem").GetEnsAddressParameters) => Promise<import("viem").GetEnsAddressReturnType>;
964
963
  getEnsAvatar: (args: import("viem").GetEnsAvatarParameters) => Promise<import("viem").GetEnsAvatarReturnType>;
@@ -967,8 +966,8 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
967
966
  getEnsText: (args: import("viem").GetEnsTextParameters) => Promise<import("viem").GetEnsTextReturnType>;
968
967
  getFeeHistory: (args: import("viem").GetFeeHistoryParameters) => Promise<import("viem").GetFeeHistoryReturnType>;
969
968
  estimateFeesPerGas: <chainOverride extends import("viem").Chain | undefined = undefined, type extends import("viem").FeeValuesType = "eip1559">(args?: import("viem").EstimateFeesPerGasParameters<undefined, chainOverride, type> | undefined) => Promise<import("viem").EstimateFeesPerGasReturnType<type>>;
970
- getFilterChanges: <filterType extends import("viem").FilterType, const abi extends Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterChangesParameters<filterType, abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock>>;
971
- getFilterLogs: <const abi extends Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterLogsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
969
+ getFilterChanges: <filterType extends import("viem").FilterType, const abi extends import("viem").Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterChangesParameters<filterType, abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock>>;
970
+ getFilterLogs: <const abi extends import("viem").Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterLogsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
972
971
  getGasPrice: () => Promise<import("viem").GetGasPriceReturnType>;
973
972
  getLogs: <const abiEvent extends import("viem").AbiEvent | undefined = undefined, const abiEvents extends readonly import("viem").AbiEvent[] | readonly unknown[] | undefined = abiEvent extends import("viem").AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args?: import("viem").GetLogsParameters<abiEvent, abiEvents, strict, fromBlock, toBlock> | undefined) => Promise<import("viem").GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>>;
974
973
  getProof: (args: import("viem").GetProofParameters) => Promise<import("viem").GetProofReturnType>;
@@ -4359,12 +4358,12 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
4359
4358
  } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
4360
4359
  chainId?: number | undefined;
4361
4360
  }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "nonce" | "type" | "gas" | "blobVersionedHashes" | "fees" | "chainId") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "nonce" | "type" | "gas" | "blobVersionedHashes" | "fees" | "chainId") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4362
- readContract: <const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "pure" | "view">, const args extends import("viem").ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import("viem").ReadContractParameters<abi, functionName, args>) => Promise<import("viem").ReadContractReturnType<abi, functionName, args>>;
4361
+ readContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "pure" | "view">, const args extends import("viem").ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import("viem").ReadContractParameters<abi, functionName, args>) => Promise<import("viem").ReadContractReturnType<abi, functionName, args>>;
4363
4362
  sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise<import("viem").SendRawTransactionReturnType>;
4364
4363
  simulate: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
4365
4364
  simulateBlocks: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
4366
4365
  simulateCalls: <const calls extends readonly unknown[]>(args: import("viem").SimulateCallsParameters<calls>) => Promise<import("viem").SimulateCallsReturnType<calls>>;
4367
- simulateContract: <const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends import("viem").Chain | undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(args: import("viem").SimulateContractParameters<abi, functionName, args_1, undefined, chainOverride, accountOverride>) => Promise<import("viem").SimulateContractReturnType<abi, functionName, args_1, undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
4366
+ simulateContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends import("viem").Chain | undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(args: import("viem").SimulateContractParameters<abi, functionName, args_1, undefined, chainOverride, accountOverride>) => Promise<import("viem").SimulateContractReturnType<abi, functionName, args_1, undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
4368
4367
  verifyHash: (args: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>;
4369
4368
  verifyMessage: (args: import("viem").VerifyMessageActionParameters) => Promise<import("viem").VerifyMessageActionReturnType>;
4370
4369
  verifySiweMessage: (args: {
@@ -4383,7 +4382,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
4383
4382
  waitForTransactionReceipt: (args: import("viem").WaitForTransactionReceiptParameters<undefined>) => Promise<import("viem").TransactionReceipt>;
4384
4383
  watchBlockNumber: (args: import("viem").WatchBlockNumberParameters) => import("viem").WatchBlockNumberReturnType;
4385
4384
  watchBlocks: <includeTransactions extends boolean = false, blockTag extends import("viem").BlockTag = "latest">(args: import("viem").WatchBlocksParameters<import("viem").Transport, undefined, includeTransactions, blockTag>) => import("viem").WatchBlocksReturnType;
4386
- watchContractEvent: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi>, strict extends boolean | undefined = undefined>(args: import("viem").WatchContractEventParameters<abi, eventName, strict, import("viem").Transport>) => import("viem").WatchContractEventReturnType;
4385
+ watchContractEvent: <const abi extends import("viem").Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi>, strict extends boolean | undefined = undefined>(args: import("viem").WatchContractEventParameters<abi, eventName, strict, import("viem").Transport>) => import("viem").WatchContractEventReturnType;
4387
4386
  watchEvent: <const abiEvent extends import("viem").AbiEvent | undefined = undefined, const abiEvents extends readonly import("viem").AbiEvent[] | readonly unknown[] | undefined = abiEvent extends import("viem").AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined>(args: import("viem").WatchEventParameters<abiEvent, abiEvents, strict, import("viem").Transport>) => import("viem").WatchEventReturnType;
4388
4387
  watchPendingTransactions: (args: import("viem").WatchPendingTransactionsParameters<import("viem").Transport>) => import("viem").WatchPendingTransactionsReturnType;
4389
4388
  extend: <const client extends {
@@ -4408,14 +4407,3 @@ export declare const setViemBlockNumber: (block: Blockish) => {
4408
4407
  } | {
4409
4408
  blockNumber: bigint;
4410
4409
  };
4411
- /**
4412
- * Utility function to return callData
4413
- * Useful for Tenderly simulation
4414
- *
4415
- * @param contract
4416
- * @param functionName
4417
- * @param args
4418
- */
4419
- export declare function encodeCalldata(contract: {
4420
- abi: Abi;
4421
- }, functionName: string, args?: readonly unknown[]): `0x${string}`;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setViemBlockNumber = exports.getViemProvider = exports.getViemChain = void 0;
4
- exports.encodeCalldata = encodeCalldata;
5
4
  const viem_1 = require("viem");
6
5
  const chains_1 = require("viem/chains");
7
6
  const common_1 = require("../types/common");
@@ -32,15 +31,3 @@ const setViemBlockNumber = (block) => {
32
31
  return { blockNumber: BigInt(block) };
33
32
  };
34
33
  exports.setViemBlockNumber = setViemBlockNumber;
35
- /**
36
- * Utility function to return callData
37
- * Useful for Tenderly simulation
38
- *
39
- * @param contract
40
- * @param functionName
41
- * @param args
42
- */
43
- function encodeCalldata(contract, functionName, args) {
44
- const callDescriptor = { abi: contract.abi, functionName };
45
- return (0, viem_1.encodeFunctionData)((args ? Object.assign(Object.assign({}, callDescriptor), { args }) : callDescriptor));
46
- }
@@ -1,5 +1,5 @@
1
1
  import { Client } from 'viem';
2
- import { AaveMarketInfo, AaveV3MarketData, AaveV3PositionData, AaveV3UsedAssets, EModeCategoryDataMapping } from '../types';
2
+ import { AaveMarketInfo, AaveV3MarketData, AaveV3PositionData, AaveV3UsedAssets, EModeCategoryDataMapping } from '../types/aave';
3
3
  import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
4
4
  import { getMeritCampaigns } from './merit';
5
5
  import { getMerkleCampaigns } from './merkl';
@@ -1,6 +1,6 @@
1
1
  import { EthAddress, EthereumProvider, NetworkNumber } from '../types/common';
2
2
  import { PortfolioPositionsData } from '../types';
3
- export declare function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], isSim?: boolean): Promise<{
3
+ export declare function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], summerFiAddresses: EthAddress[]): Promise<{
4
4
  positions: PortfolioPositionsData;
5
5
  stakingPositions: any;
6
6
  rewardsData: any;
@@ -34,8 +34,8 @@ import { fetchSparkAirdropRewards, fetchSparkRewards } from '../claiming/spark';
34
34
  import { fetchMorphoBlueRewards } from '../claiming/morphoBlue';
35
35
  import { getKingRewards } from '../claiming/king';
36
36
  import { fetchEthenaAirdropRewards } from '../claiming/ethena';
37
- export function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1) {
38
- return __awaiter(this, arguments, void 0, function* (provider, network, defaultProvider, addresses, isSim = false) {
37
+ export function getPortfolioData(provider, network, defaultProvider, addresses, summerFiAddresses) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
39
  const isMainnet = network === NetworkNumber.Eth;
40
40
  const isFluidSupported = [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Base, NetworkNumber.Plasma].includes(network);
41
41
  const isMorphoRewardsSupported = [NetworkNumber.Eth, NetworkNumber.Base].includes(network);
@@ -50,12 +50,20 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
50
50
  const llamaLendMarkets = [NetworkNumber.Eth, NetworkNumber.Arb].includes(network) ? Object.values(LlamaLendMarkets(network)).filter((market) => market.chainIds.includes(network)) : [];
51
51
  const liquityV2Markets = [NetworkNumber.Eth].includes(network) ? Object.values(LiquityV2Markets(network)) : [];
52
52
  const liquityV2MarketsStaking = [NetworkNumber.Eth].includes(network) ? Object.values(LiquityV2Markets(network)).filter(market => !market.isLegacy) : [];
53
- const args = [network];
54
- if (!isSim) {
55
- args.push({ batch: { multicall: { batchSize: 2500000 } } });
56
- }
57
- const client = getViemProvider(provider, ...args);
58
- const defaultClient = getViemProvider(defaultProvider, ...args);
53
+ const client = getViemProvider(provider, network, {
54
+ batch: {
55
+ multicall: {
56
+ batchSize: 2500000,
57
+ },
58
+ },
59
+ });
60
+ const defaultClient = getViemProvider(defaultProvider, network, {
61
+ batch: {
62
+ multicall: {
63
+ batchSize: 2500000,
64
+ },
65
+ },
66
+ });
59
67
  const morphoMarketsData = {};
60
68
  const compoundV3MarketsData = {};
61
69
  const sparkMarketsData = {};
@@ -82,7 +90,7 @@ export function getPortfolioData(provider_1, network_1, defaultProvider_1, addre
82
90
  const positions = {};
83
91
  const stakingPositions = {};
84
92
  const rewardsData = {};
85
- const allAddresses = [...addresses];
93
+ const allAddresses = [...addresses, ...summerFiAddresses];
86
94
  for (const address of allAddresses) {
87
95
  positions[address.toLowerCase()] = {
88
96
  aaveV3: {},
@@ -1,4 +1,3 @@
1
- import { type Abi } from 'viem';
2
1
  import { Blockish, EthereumProvider, NetworkNumber } from '../types/common';
3
2
  export declare const getViemChain: (network: NetworkNumber) => {
4
3
  blockExplorers: {
@@ -792,10 +791,10 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
792
791
  gasUsed: bigint;
793
792
  }>;
794
793
  createBlockFilter: () => Promise<import("viem").CreateBlockFilterReturnType>;
795
- createContractEventFilter: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined, args extends import("viem").MaybeExtractEventArgsFromAbi<abi, eventName> | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").CreateContractEventFilterParameters<abi, eventName, args, strict, fromBlock, toBlock>) => Promise<import("viem").CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>;
794
+ createContractEventFilter: <const abi extends import("viem").Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined, args extends import("viem").MaybeExtractEventArgsFromAbi<abi, eventName> | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").CreateContractEventFilterParameters<abi, eventName, args, strict, fromBlock, toBlock>) => Promise<import("viem").CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>;
796
795
  createEventFilter: <const abiEvent extends import("viem").AbiEvent | undefined = undefined, const abiEvents extends readonly import("viem").AbiEvent[] | readonly unknown[] | undefined = abiEvent extends import("viem").AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, _EventName extends string | undefined = import("viem").MaybeAbiEventName<abiEvent>, _Args extends import("viem").MaybeExtractEventArgsFromAbi<abiEvents, _EventName> | undefined = undefined>(args?: import("viem").CreateEventFilterParameters<abiEvent, abiEvents, strict, fromBlock, toBlock, _EventName, _Args> | undefined) => Promise<import("viem").CreateEventFilterReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock, _EventName, _Args>>;
797
796
  createPendingTransactionFilter: () => Promise<import("viem").CreatePendingTransactionFilterReturnType>;
798
- estimateContractGas: <chain extends import("viem").Chain | undefined, const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, args extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(args: import("viem").EstimateContractGasParameters<abi, functionName, args, chain>) => Promise<import("viem").EstimateContractGasReturnType>;
797
+ estimateContractGas: <chain extends import("viem").Chain | undefined, const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, args extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(args: import("viem").EstimateContractGasParameters<abi, functionName, args, chain>) => Promise<import("viem").EstimateContractGasReturnType>;
799
798
  estimateGas: (args: import("viem").EstimateGasParameters<undefined>) => Promise<import("viem").EstimateGasReturnType>;
800
799
  getBalance: (args: import("viem").GetBalanceParameters) => Promise<import("viem").GetBalanceReturnType>;
801
800
  getBlobBaseFee: () => Promise<import("viem").GetBlobBaseFeeReturnType>;
@@ -958,7 +957,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
958
957
  getBytecode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
959
958
  getChainId: () => Promise<import("viem").GetChainIdReturnType>;
960
959
  getCode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
961
- getContractEvents: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
960
+ getContractEvents: <const abi extends import("viem").Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
962
961
  getEip712Domain: (args: import("viem").GetEip712DomainParameters) => Promise<import("viem").GetEip712DomainReturnType>;
963
962
  getEnsAddress: (args: import("viem").GetEnsAddressParameters) => Promise<import("viem").GetEnsAddressReturnType>;
964
963
  getEnsAvatar: (args: import("viem").GetEnsAvatarParameters) => Promise<import("viem").GetEnsAvatarReturnType>;
@@ -967,8 +966,8 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
967
966
  getEnsText: (args: import("viem").GetEnsTextParameters) => Promise<import("viem").GetEnsTextReturnType>;
968
967
  getFeeHistory: (args: import("viem").GetFeeHistoryParameters) => Promise<import("viem").GetFeeHistoryReturnType>;
969
968
  estimateFeesPerGas: <chainOverride extends import("viem").Chain | undefined = undefined, type extends import("viem").FeeValuesType = "eip1559">(args?: import("viem").EstimateFeesPerGasParameters<undefined, chainOverride, type> | undefined) => Promise<import("viem").EstimateFeesPerGasReturnType<type>>;
970
- getFilterChanges: <filterType extends import("viem").FilterType, const abi extends Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterChangesParameters<filterType, abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock>>;
971
- getFilterLogs: <const abi extends Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterLogsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
969
+ getFilterChanges: <filterType extends import("viem").FilterType, const abi extends import("viem").Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterChangesParameters<filterType, abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock>>;
970
+ getFilterLogs: <const abi extends import("viem").Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetFilterLogsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
972
971
  getGasPrice: () => Promise<import("viem").GetGasPriceReturnType>;
973
972
  getLogs: <const abiEvent extends import("viem").AbiEvent | undefined = undefined, const abiEvents extends readonly import("viem").AbiEvent[] | readonly unknown[] | undefined = abiEvent extends import("viem").AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args?: import("viem").GetLogsParameters<abiEvent, abiEvents, strict, fromBlock, toBlock> | undefined) => Promise<import("viem").GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>>;
974
973
  getProof: (args: import("viem").GetProofParameters) => Promise<import("viem").GetProofReturnType>;
@@ -4359,12 +4358,12 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
4359
4358
  } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
4360
4359
  chainId?: number | undefined;
4361
4360
  }, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "nonce" | "type" | "gas" | "blobVersionedHashes" | "fees" | "chainId") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "nonce" | "type" | "gas" | "blobVersionedHashes" | "fees" | "chainId") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
4362
- readContract: <const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "pure" | "view">, const args extends import("viem").ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import("viem").ReadContractParameters<abi, functionName, args>) => Promise<import("viem").ReadContractReturnType<abi, functionName, args>>;
4361
+ readContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "pure" | "view">, const args extends import("viem").ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: import("viem").ReadContractParameters<abi, functionName, args>) => Promise<import("viem").ReadContractReturnType<abi, functionName, args>>;
4363
4362
  sendRawTransaction: (args: import("viem").SendRawTransactionParameters) => Promise<import("viem").SendRawTransactionReturnType>;
4364
4363
  simulate: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
4365
4364
  simulateBlocks: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
4366
4365
  simulateCalls: <const calls extends readonly unknown[]>(args: import("viem").SimulateCallsParameters<calls>) => Promise<import("viem").SimulateCallsReturnType<calls>>;
4367
- simulateContract: <const abi extends Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends import("viem").Chain | undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(args: import("viem").SimulateContractParameters<abi, functionName, args_1, undefined, chainOverride, accountOverride>) => Promise<import("viem").SimulateContractReturnType<abi, functionName, args_1, undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
4366
+ simulateContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends import("viem").Chain | undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(args: import("viem").SimulateContractParameters<abi, functionName, args_1, undefined, chainOverride, accountOverride>) => Promise<import("viem").SimulateContractReturnType<abi, functionName, args_1, undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
4368
4367
  verifyHash: (args: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>;
4369
4368
  verifyMessage: (args: import("viem").VerifyMessageActionParameters) => Promise<import("viem").VerifyMessageActionReturnType>;
4370
4369
  verifySiweMessage: (args: import("viem/_types/actions/siwe/verifySiweMessage").VerifySiweMessageParameters) => Promise<import("viem/_types/actions/siwe/verifySiweMessage").VerifySiweMessageReturnType>;
@@ -4373,7 +4372,7 @@ export declare const getViemProvider: (provider: EthereumProvider, network: Netw
4373
4372
  waitForTransactionReceipt: (args: import("viem").WaitForTransactionReceiptParameters<undefined>) => Promise<import("viem").TransactionReceipt>;
4374
4373
  watchBlockNumber: (args: import("viem").WatchBlockNumberParameters) => import("viem").WatchBlockNumberReturnType;
4375
4374
  watchBlocks: <includeTransactions extends boolean = false, blockTag extends import("viem").BlockTag = "latest">(args: import("viem").WatchBlocksParameters<import("viem").Transport, undefined, includeTransactions, blockTag>) => import("viem").WatchBlocksReturnType;
4376
- watchContractEvent: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi>, strict extends boolean | undefined = undefined>(args: import("viem").WatchContractEventParameters<abi, eventName, strict, import("viem").Transport>) => import("viem").WatchContractEventReturnType;
4375
+ watchContractEvent: <const abi extends import("viem").Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi>, strict extends boolean | undefined = undefined>(args: import("viem").WatchContractEventParameters<abi, eventName, strict, import("viem").Transport>) => import("viem").WatchContractEventReturnType;
4377
4376
  watchEvent: <const abiEvent extends import("viem").AbiEvent | undefined = undefined, const abiEvents extends readonly import("viem").AbiEvent[] | readonly unknown[] | undefined = abiEvent extends import("viem").AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined>(args: import("viem").WatchEventParameters<abiEvent, abiEvents, strict, import("viem").Transport>) => import("viem").WatchEventReturnType;
4378
4377
  watchPendingTransactions: (args: import("viem").WatchPendingTransactionsParameters<import("viem").Transport>) => import("viem").WatchPendingTransactionsReturnType;
4379
4378
  extend: <const client extends {
@@ -4398,14 +4397,3 @@ export declare const setViemBlockNumber: (block: Blockish) => {
4398
4397
  } | {
4399
4398
  blockNumber: bigint;
4400
4399
  };
4401
- /**
4402
- * Utility function to return callData
4403
- * Useful for Tenderly simulation
4404
- *
4405
- * @param contract
4406
- * @param functionName
4407
- * @param args
4408
- */
4409
- export declare function encodeCalldata(contract: {
4410
- abi: Abi;
4411
- }, functionName: string, args?: readonly unknown[]): `0x${string}`;
@@ -1,4 +1,4 @@
1
- import { createPublicClient, custom, encodeFunctionData, } from 'viem';
1
+ import { createPublicClient, custom } from 'viem';
2
2
  import { arbitrum, base, mainnet, optimism, linea, plasma, } from 'viem/chains';
3
3
  import { NetworkNumber } from '../types/common';
4
4
  export const getViemChain = (network) => {
@@ -25,15 +25,3 @@ export const setViemBlockNumber = (block) => {
25
25
  return {};
26
26
  return { blockNumber: BigInt(block) };
27
27
  };
28
- /**
29
- * Utility function to return callData
30
- * Useful for Tenderly simulation
31
- *
32
- * @param contract
33
- * @param functionName
34
- * @param args
35
- */
36
- export function encodeCalldata(contract, functionName, args) {
37
- const callDescriptor = { abi: contract.abi, functionName };
38
- return encodeFunctionData((args ? Object.assign(Object.assign({}, callDescriptor), { args }) : callDescriptor));
39
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "2.1.45-dev-dev",
3
+ "version": "2.1.45-portfolio-sim-dev",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -30,7 +30,7 @@ import {
30
30
  EModeCategoriesData,
31
31
  EModeCategoryData,
32
32
  EModeCategoryDataMapping,
33
- } from '../types';
33
+ } from '../types/aave';
34
34
  import {
35
35
  Blockish,
36
36
  EthAddress,
@@ -50,7 +50,7 @@ import { fetchMorphoBlueRewards } from '../claiming/morphoBlue';
50
50
  import { getKingRewards } from '../claiming/king';
51
51
  import { fetchEthenaAirdropRewards } from '../claiming/ethena';
52
52
 
53
- export async function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], isSim = false): Promise<{
53
+ export async function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], summerFiAddresses: EthAddress[]): Promise<{
54
54
  positions: PortfolioPositionsData;
55
55
  stakingPositions: any;
56
56
  rewardsData: any;
@@ -72,12 +72,20 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
72
72
  const liquityV2Markets = [NetworkNumber.Eth].includes(network) ? Object.values(LiquityV2Markets(network)) : [];
73
73
  const liquityV2MarketsStaking = [NetworkNumber.Eth].includes(network) ? Object.values(LiquityV2Markets(network)).filter(market => !market.isLegacy) : [];
74
74
 
75
- const args: [NetworkNumber, any?] = [network];
76
- if (!isSim) {
77
- args.push({ batch: { multicall: { batchSize: 2500000 } } });
78
- }
79
- const client = getViemProvider(provider, ...args);
80
- const defaultClient = getViemProvider(defaultProvider, ...args);
75
+ const client = getViemProvider(provider, network, {
76
+ batch: {
77
+ multicall: {
78
+ batchSize: 2500000,
79
+ },
80
+ },
81
+ });
82
+ const defaultClient = getViemProvider(defaultProvider, network, {
83
+ batch: {
84
+ multicall: {
85
+ batchSize: 2500000,
86
+ },
87
+ },
88
+ });
81
89
 
82
90
  const morphoMarketsData: Record<string, MorphoBlueMarketInfo> = {};
83
91
  const compoundV3MarketsData: Record<string, CompoundV3MarketsData> = {};
@@ -107,7 +115,7 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
107
115
  const positions: PortfolioPositionsData = {};
108
116
  const stakingPositions: any = {};
109
117
  const rewardsData: any = {};
110
- const allAddresses = [...addresses];
118
+ const allAddresses = [...addresses, ...summerFiAddresses];
111
119
 
112
120
  for (const address of allAddresses) {
113
121
  positions[address.toLowerCase() as EthAddress] = {
@@ -422,6 +430,7 @@ export async function getPortfolioData(provider: EthereumProvider, network: Netw
422
430
  })(),
423
431
  ]);
424
432
 
433
+
425
434
  await Promise.all([
426
435
  ...aaveV3Markets.map((market) => allAddresses.map(async (address) => {
427
436
  try {
@@ -1,9 +1,4 @@
1
- import {
2
- createPublicClient,
3
- custom,
4
- encodeFunctionData,
5
- type Abi,
6
- } from 'viem';
1
+ import { createPublicClient, custom } from 'viem';
7
2
  import {
8
3
  arbitrum, base, mainnet, optimism, linea, plasma,
9
4
  } from 'viem/chains';
@@ -37,21 +32,4 @@ export const getViemProvider = (provider: EthereumProvider, network: NetworkNumb
37
32
  export const setViemBlockNumber = (block: Blockish) => {
38
33
  if (block === 'latest') return {};
39
34
  return { blockNumber: BigInt(block) };
40
- };
41
-
42
- /**
43
- * Utility function to return callData
44
- * Useful for Tenderly simulation
45
- *
46
- * @param contract
47
- * @param functionName
48
- * @param args
49
- */
50
- export function encodeCalldata(
51
- contract: { abi: Abi },
52
- functionName: string,
53
- args?: readonly unknown[],
54
- ): `0x${string}` {
55
- const callDescriptor = { abi: contract.abi, functionName } as const;
56
- return encodeFunctionData((args ? { ...callDescriptor, args } : callDescriptor) as any);
57
- }
35
+ };