@cryptorubic/web3 1.5.1-alpha.tron.3 → 1.5.1-alpha.tron.5

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptorubic/web3",
3
- "version": "1.5.1-alpha.tron.3",
3
+ "version": "1.5.1-alpha.tron.5",
4
4
  "dependencies": {
5
5
  "@ethersproject/bignumber": "^5.8.0",
6
6
  "@mysten/sui": "^1.24.0",
@@ -63,7 +63,7 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
63
63
  tokensAddresses.splice(indexOfNativeCoin, 1);
64
64
  promises[1] = this.getBalance(userAddress);
65
65
  }
66
- promises[0] = this.batchMulticallTokenBalance(userAddress, tokensAddresses, 50);
66
+ promises[0] = this.batchMulticallTokenBalance(userAddress, tokensAddresses, 10);
67
67
  const results = await Promise.all(promises);
68
68
  const tokensBalances = results[0].map((tokenResults) => {
69
69
  const { success, output } = tokenResults[0];
@@ -75,32 +75,23 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
75
75
  return tokensBalances;
76
76
  }
77
77
  async batchMulticallTokenBalance(userAddress, tokensAddresses, batchSize) {
78
- if (tokensAddresses.length > 100) {
79
- const balances = [];
80
- for (let i = 0; i < tokensAddresses.length; i += batchSize) {
81
- const batchRequest = tokensAddresses.slice(i, i + batchSize);
82
- const batchResult = await this.multicallContractsMethods(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, batchRequest.map((tokenAddress) => ({
83
- contractAddress: tokenAddress,
84
- methodsData: [
85
- {
86
- methodName: 'balanceOf',
87
- methodArguments: [userAddress]
88
- }
89
- ]
90
- })));
91
- balances.push(...batchResult);
92
- }
93
- return balances;
78
+ const multicalls = [];
79
+ for (let i = 0; i < tokensAddresses.length; i += batchSize) {
80
+ const batchRequest = tokensAddresses.slice(i, i + batchSize);
81
+ const multicallPromise = this.multicallContractsMethods(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, batchRequest.map((tokenAddress) => ({
82
+ contractAddress: tokenAddress,
83
+ methodsData: [
84
+ {
85
+ methodName: 'balanceOf',
86
+ methodArguments: [userAddress]
87
+ }
88
+ ]
89
+ })));
90
+ multicalls.push(multicallPromise);
94
91
  }
95
- return this.multicallContractsMethods(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, tokensAddresses.map((tokenAddress) => ({
96
- contractAddress: tokenAddress,
97
- methodsData: [
98
- {
99
- methodName: 'balanceOf',
100
- methodArguments: [userAddress]
101
- }
102
- ]
103
- })));
92
+ const res = await Promise.all(multicalls);
93
+ const balances = res.map((batchResult) => batchResult.flat());
94
+ return balances;
104
95
  }
105
96
  // public async multicallContractsMethods<Output extends TronWeb3PrimitiveType>(
106
97
  // contractAbi: any,
@@ -50,7 +50,7 @@ exports.TRON_MULTICALL_ABI = [
50
50
  type: 'tuple[]'
51
51
  }
52
52
  ],
53
- stateMutability: 'payable',
53
+ stateMutability: 'view',
54
54
  type: 'function'
55
55
  }
56
56
  ];