@defillama/sdk 5.0.5 → 5.0.8

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.
@@ -39,7 +39,14 @@ export declare class ChainApi {
39
39
  removeTokenBalance(token: string): void;
40
40
  deleteToken(token: string): void;
41
41
  deleteTokens(tokens: string[]): void;
42
- erc4626Sum({ calls, tokenAbi, balanceAbi, balanceCalls, permitFailure }: any): Promise<void>;
42
+ erc4626Sum({ calls, tokenAbi, balanceAbi, balanceCalls, permitFailure, isOG4626 }: {
43
+ calls: string[];
44
+ tokenAbi?: string;
45
+ balanceAbi?: string;
46
+ balanceCalls?: any[];
47
+ permitFailure?: boolean;
48
+ isOG4626?: boolean;
49
+ }): Promise<BalancesV1>;
43
50
  sumTokens({ tokens, owners, owner, tokensAndOwners, tokensAndOwners2, blacklistedTokens, blacklistedOwners, ownerTokens, }: {
44
51
  tokens?: string[];
45
52
  owner?: string;
package/build/ChainApi.js CHANGED
@@ -155,23 +155,27 @@ var ChainApi = /** @class */ (function () {
155
155
  tokens.forEach(function (i) { return _this.deleteToken(i); });
156
156
  };
157
157
  ChainApi.prototype.erc4626Sum = function (_a) {
158
- var calls = _a.calls, _b = _a.tokenAbi, tokenAbi = _b === void 0 ? 'address:token' : _b, _c = _a.balanceAbi, balanceAbi = _c === void 0 ? 'uint256:balance' : _c, balanceCalls = _a.balanceCalls, _d = _a.permitFailure, permitFailure = _d === void 0 ? false : _d;
158
+ var calls = _a.calls, _b = _a.tokenAbi, tokenAbi = _b === void 0 ? 'address:token' : _b, _c = _a.balanceAbi, balanceAbi = _c === void 0 ? 'uint256:balance' : _c, balanceCalls = _a.balanceCalls, _d = _a.permitFailure, permitFailure = _d === void 0 ? false : _d, _e = _a.isOG4626, isOG4626 = _e === void 0 ? false : _e;
159
159
  return __awaiter(this, void 0, void 0, function () {
160
160
  var tokens, balances;
161
161
  var _this = this;
162
- return __generator(this, function (_e) {
163
- switch (_e.label) {
162
+ return __generator(this, function (_f) {
163
+ switch (_f.label) {
164
164
  case 0:
165
+ if (isOG4626) {
166
+ tokenAbi = 'asset';
167
+ balanceAbi = 'totalAssets';
168
+ }
165
169
  if (typeof tokenAbi === 'string' && (!tokenAbi.includes(':') && !tokenAbi.includes('(')))
166
170
  tokenAbi = "address:".concat(tokenAbi);
167
171
  if (typeof balanceAbi === 'string' && (!balanceAbi.includes(':') && !balanceAbi.includes('(')))
168
172
  balanceAbi = "uint256:".concat(balanceAbi);
169
173
  return [4 /*yield*/, this.multiCall({ calls: calls, abi: tokenAbi, permitFailure: permitFailure })];
170
174
  case 1:
171
- tokens = _e.sent();
175
+ tokens = _f.sent();
172
176
  return [4 /*yield*/, this.multiCall({ calls: calls !== null && calls !== void 0 ? calls : balanceCalls, abi: balanceAbi, permitFailure: permitFailure })];
173
177
  case 2:
174
- balances = _e.sent();
178
+ balances = _f.sent();
175
179
  if (!permitFailure)
176
180
  this.addTokens(tokens, balances);
177
181
  else
@@ -179,7 +183,7 @@ var ChainApi = /** @class */ (function () {
179
183
  if (i && balances[j])
180
184
  _this.addToken(i, balances[j]);
181
185
  });
182
- return [2 /*return*/];
186
+ return [2 /*return*/, this.getBalances()];
183
187
  }
184
188
  });
185
189
  });
@@ -93,6 +93,7 @@ var internal_cache_1 = require("../util/internal-cache");
93
93
  var util_1 = require("../util");
94
94
  var Tron = __importStar(require("./tron"));
95
95
  var generalUtil_1 = require("../generalUtil");
96
+ var env_1 = require("../util/env");
96
97
  var nullAddress = '0x0000000000000000000000000000000000000000';
97
98
  // https://docs.soliditylang.org/en/latest/abi-spec.html
98
99
  var knownTypes = [
@@ -101,7 +102,6 @@ var knownTypes = [
101
102
  'uint', 'uint8', 'uint16', 'uint32', 'uint64', 'uint128', 'uint256',
102
103
  ];
103
104
  (__spreadArray([], knownTypes, true)).forEach(function (i) { return knownTypes.push(i + '[]'); }); // support array type for all known types
104
- var defaultChunkSize = !!process.env.SDK_MULTICALL_CHUNK_SIZE ? +process.env.SDK_MULTICALL_CHUNK_SIZE : 300;
105
105
  function resolveABI(providedAbi) {
106
106
  if (!providedAbi)
107
107
  throw new Error('Missing ABI parameter!');
@@ -265,7 +265,7 @@ function multiCall(params) {
265
265
  chunkSize = params.chunkSize;
266
266
  if (!params.chunkSize) {
267
267
  // Only a max of around 500 calls are supported by multicall, we have to split bigger batches
268
- chunkSize = defaultChunkSize;
268
+ chunkSize = (0, env_1.getDefaultChunkSize)(chain);
269
269
  }
270
270
  if (!params.target && !params.permitFailure) {
271
271
  // check if target adddress is missing for one of the calls
@@ -70,6 +70,7 @@ var rpcCall_1 = require("./rpcCall");
70
70
  var debugLog_1 = require("../util/debugLog");
71
71
  var util_1 = require("../util");
72
72
  var Tron = __importStar(require("./tron"));
73
+ var env_1 = require("../util/env");
73
74
  exports.MULTICALL_ADDRESS_MAINNET = "0xeefba1e63905ef1d7acba5a8513c70307c1ce441";
74
75
  exports.MULTICALL_ADDRESS_KOVAN = "0x2cc8688c5f75e365aaeeb4ea8d6a480405a48d2a";
75
76
  exports.MULTICALL_ADDRESS_RINKEBY = "0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821";
@@ -228,7 +229,7 @@ function multicallAddressOrThrow(chain) {
228
229
  return __generator(this, function (_a) {
229
230
  switch (_a.label) {
230
231
  case 0:
231
- multicallEnv = process.env["".concat(chain.toUpperCase(), "_RPC_MULTICALL")];
232
+ multicallEnv = (0, env_1.getEnvMulticallAddress)(chain);
232
233
  if (multicallEnv)
233
234
  return [2 /*return*/, multicallEnv];
234
235
  return [4 /*yield*/, (0, general_1.getProvider)(chain).getNetwork()];
@@ -254,7 +255,7 @@ function networkSupportsMulticall(chain) {
254
255
  return __generator(this, function (_b) {
255
256
  switch (_b.label) {
256
257
  case 0:
257
- multicallEnv = process.env["".concat(chain.toUpperCase(), "_RPC_MULTICALL")];
258
+ multicallEnv = (0, env_1.getEnvMulticallAddress)(chain);
258
259
  if (multicallEnv)
259
260
  networkMulticallCache[chain] = true;
260
261
  if (!!networkMulticallCache.hasOwnProperty(chain)) return [3 /*break*/, 2];
@@ -50,7 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.call = void 0;
51
51
  var events_1 = require("events");
52
52
  var debugLog_1 = require("../util/debugLog");
53
- var maxParallelCalls = !!process.env.LLAMA_SDK_MAX_PARALLEL ? +process.env.LLAMA_SDK_MAX_PARALLEL : 100;
53
+ var env_1 = require("../util/env");
54
54
  var COUNTERS = {};
55
55
  var emitter = new events_1.EventEmitter();
56
56
  emitter.setMaxListeners(500000);
@@ -77,9 +77,7 @@ function call(provider, data, block, chain, options) {
77
77
  counter = getChainCounter(chain);
78
78
  currentId = counter.requestCount++;
79
79
  eventId = "".concat(chain, "-").concat(currentId);
80
- chainMaxParallelCalls = maxParallelCalls;
81
- if (['avax', 'harmony'].includes(chain))
82
- chainMaxParallelCalls = 20;
80
+ chainMaxParallelCalls = (0, env_1.getMaxParallelRequests)(chain);
83
81
  if (!(counter.activeWorkers > chainMaxParallelCalls)) return [3 /*break*/, 2];
84
82
  counter.queue.push(eventId);
85
83
  return [4 /*yield*/, (0, events_1.once)(emitter, eventId)];
package/build/abi/tron.js CHANGED
@@ -47,7 +47,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
47
47
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
49
  };
50
- var _a;
51
50
  Object.defineProperty(exports, "__esModule", { value: true });
52
51
  exports.getBalances = exports.getBalance = exports.multiCall = exports.call = void 0;
53
52
  var node_fetch_1 = __importDefault(require("node-fetch"));
@@ -58,11 +57,11 @@ var debugLog_1 = require("../util/debugLog");
58
57
  var util_1 = require("../util");
59
58
  var general_1 = require("../general");
60
59
  var p_limit_1 = __importDefault(require("p-limit"));
61
- var limitRPCCalls = (0, p_limit_1.default)(+((_a = process.env.TRON_RPC_CONCURRENCY_LIMIT) !== null && _a !== void 0 ? _a : 5));
60
+ var env_1 = require("../util/env");
61
+ var limitRPCCalls = (0, p_limit_1.default)(+(0, env_1.getEnvValue)('TRON_RPC_CONCURRENCY_LIMIT', '5'));
62
62
  var ownerAddress = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';
63
- var endpoint = 'https://api.trongrid.io';
64
63
  var MULTICALL_ADDRESS = 'TGXuuKAb4bnrn137u39EKbYzKNXvdCes98';
65
- var getEndpoint = function () { var _a; return (_a = process.env.TRON_RPC) !== null && _a !== void 0 ? _a : endpoint; };
64
+ var getEndpoint = function () { return (0, env_1.getEnvRPC)('tron'); };
66
65
  function call(options) {
67
66
  var _a, _b;
68
67
  return __awaiter(this, void 0, void 0, function () {
@@ -295,14 +294,15 @@ function post(body, endpoint) {
295
294
  if (body === void 0) { body = {}; }
296
295
  if (endpoint === void 0) { endpoint = '/wallet/triggerconstantcontract'; }
297
296
  return __awaiter(this, void 0, void 0, function () {
298
- var host, headers, response;
297
+ var host, headers, apiKey, response;
299
298
  return __generator(this, function (_a) {
300
299
  switch (_a.label) {
301
300
  case 0:
302
301
  host = getEndpoint();
303
302
  headers = { 'Content-Type': 'application/json' };
304
- if (process.env.TRON_PRO_API_KEY)
305
- headers['TRON-PRO-API-KEY'] = process.env.TRON_PRO_API_KEY;
303
+ apiKey = (0, env_1.getEnvValue)('TRON_PRO_API_KEY');
304
+ if (apiKey)
305
+ headers['TRON-PRO-API-KEY'] = apiKey;
306
306
  return [4 /*yield*/, (0, node_fetch_1.default)(host + endpoint, {
307
307
  method: 'post',
308
308
  body: JSON.stringify(body),
package/build/general.js CHANGED
@@ -4,23 +4,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.setProvider = exports.ETHER_ADDRESS = exports.handleDecimals = exports.TEN = exports.getProvider = exports.providers = void 0;
7
+ var debugLog_1 = require("./util/debugLog");
7
8
  var ethers_1 = require("ethers");
8
9
  var providers_json_1 = __importDefault(require("./providers.json"));
10
+ var env_1 = require("./util/env");
9
11
  function createProvider(name, rpcString, chainId) {
10
- if (chainId === void 0) { chainId = 2424242424242422; }
12
+ chainId = (0, env_1.getChainId)(name, chainId);
11
13
  var networkish = { name: name, chainId: chainId };
12
14
  var rpcList = rpcString.split(',');
13
- if (process.env["".concat(name.toUpperCase(), "_RPC_CHAIN_ID")])
14
- chainId = +process.env["".concat(name.toUpperCase(), "_RPC_CHAIN_ID")];
15
- if (process.env.HISTORICAL) {
15
+ if ((0, env_1.getEnvValue)('HISTORICAL')) {
16
16
  if (chainId === 1) {
17
- console.log("RPC providers set to historical, only the first RPC provider will be used");
17
+ (0, debugLog_1.debugLog)("RPC providers set to historical, only the first RPC provider will be used");
18
18
  }
19
- return getProviderObject(rpcList[0]);
19
+ return getProviderObject(rpcList[0], name);
20
20
  }
21
21
  else {
22
22
  try {
23
- return new ethers_1.ethers.FallbackProvider(rpcList.map(function (url, i) { return ({ provider: getProviderObject(url), priority: i, chainId: chainId, }); }), networkish, { cacheTimeout: 5 * 1000, quorum: 1, eventWorkers: 1, eventQuorum: 1, });
23
+ return new ethers_1.ethers.FallbackProvider(rpcList.map(function (url, i) { return ({ provider: getProviderObject(url, name), priority: i, chainId: chainId, }); }), networkish, { cacheTimeout: 5 * 1000, quorum: 1, eventQuorum: 1, });
24
24
  }
25
25
  catch (e) {
26
26
  // debugLog(`Error creating provider for ${name} with RPCs: ${rpcList.join(', ')}`)
@@ -30,7 +30,7 @@ function createProvider(name, rpcString, chainId) {
30
30
  return null;
31
31
  }
32
32
  }
33
- function getProviderObject(url) {
33
+ function getProviderObject(url, chain) {
34
34
  /**
35
35
  * Options for configuring a [[JsonRpcApiProvider]]. Much of this
36
36
  * is targetted towards sub-classes, which often will not expose
@@ -68,9 +68,10 @@ function createProvider(name, rpcString, chainId) {
68
68
  * disable, ``0`` will only buffer within the same event loop and
69
69
  * any other value is in ms. (default: ``250``)
70
70
  */
71
- var batchMaxSize = 10 * (1024 * 1024); // 10Mb
71
+ // const batchMaxSize = 10 * (1024 * 1024) // 10Mb
72
72
  // some rpcs throw error if batchMaxCount is set higher than 100
73
- var jsonRpcApiProviderOptions = { staticNetwork: true, batchStallTime: 42, batchMaxSize: batchMaxSize, batchMaxCount: 99, cacheTimeout: 5 * 1000 };
73
+ var batchMaxCount = (0, env_1.getBatchMaxCount)(chain);
74
+ var jsonRpcApiProviderOptions = { staticNetwork: true, batchStallTime: 42, batchMaxCount: batchMaxCount, cacheTimeout: 5 * 1000 };
74
75
  if (url.startsWith('wss://')) {
75
76
  delete jsonRpcApiProviderOptions.batchMaxCount;
76
77
  return new ethers_1.ethers.WebSocketProvider(url, networkish, jsonRpcApiProviderOptions);
@@ -79,23 +80,28 @@ function createProvider(name, rpcString, chainId) {
79
80
  }
80
81
  }
81
82
  exports.providers = {};
83
+ var archivalProviders = {};
82
84
  function getProvider(chain, getArchivalNode) {
83
85
  var _a, _b, _c;
84
86
  if (chain === void 0) { chain = "ethereum"; }
85
87
  if (getArchivalNode === void 0) { getArchivalNode = false; }
88
+ if (getArchivalNode) {
89
+ if (archivalProviders[chain])
90
+ return archivalProviders[chain]._provider;
91
+ var rpcList_1 = (0, env_1.getArchivalRPCs)(chain);
92
+ if (rpcList_1.length) {
93
+ // shuffle rpcList
94
+ rpcList_1 = rpcList_1.sort(function () { return Math.random() - 0.5; });
95
+ var provider = createProvider(chain, rpcList_1.join(','), (_a = providers_json_1.default[chain]) === null || _a === void 0 ? void 0 : _a.chainId);
96
+ if (rpcList_1.length === 1)
97
+ archivalProviders[chain] = { rpcList: rpcList_1[0], _provider: provider };
98
+ return provider;
99
+ }
100
+ }
86
101
  if (exports.providers[chain] && !getArchivalNode)
87
102
  return exports.providers[chain]._provider;
88
- var chainArchivalpcEnv = process.env[chain.toUpperCase() + "_ARCHIVAL_RPC"];
89
- if (getArchivalNode && typeof chainArchivalpcEnv === 'string' && chainArchivalpcEnv.length > 0) {
90
- var rpcList_1 = chainArchivalpcEnv === null || chainArchivalpcEnv === void 0 ? void 0 : chainArchivalpcEnv.split(',');
91
- // shuffle rpcList
92
- rpcList_1 = rpcList_1.sort(function () { return Math.random() - 0.5; });
93
- return createProvider(chain, rpcList_1.join(','), (_a = providers_json_1.default[chain]) === null || _a === void 0 ? void 0 : _a.chainId);
94
- }
95
103
  // use RPC from env variable if set else use RPC from providers.json
96
- var rpcList = process.env[chain.toUpperCase() + "_RPC"];
97
- if (!rpcList)
98
- rpcList = (_b = providers_json_1.default[chain]) === null || _b === void 0 ? void 0 : _b.rpc.join(',');
104
+ var rpcList = (0, env_1.getChainRPCs)(chain, (_b = providers_json_1.default[chain]) === null || _b === void 0 ? void 0 : _b.rpc);
99
105
  if (!rpcList) {
100
106
  // in case provider was set using `setProvider` function
101
107
  if (exports.providers[chain])
@@ -1,6 +1,7 @@
1
1
  import * as blocks from "./computeTVL/blocks";
2
2
  import * as humanizeNumber from "./computeTVL/humanizeNumber";
3
3
  import type { Balances, StringNumber, Address } from "./types";
4
+ export declare function convertToBigInt(value: any): bigint;
4
5
  export declare function sumMultiBalanceOf(balances: Balances, results: {
5
6
  ethCallCount?: number;
6
7
  output: {
@@ -59,13 +59,44 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
59
59
  }
60
60
  };
61
61
  Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.formError = exports.formErrorString = exports.getProviderUrl = exports.getUniqueAddresses = exports.humanizeNumber = exports.blocks = exports.sumChainTvls = exports.removeTokenBalance = exports.mergeBalances = exports.sumSingleBalance = exports.sumMultiBalanceOf = void 0;
62
+ exports.formError = exports.formErrorString = exports.getProviderUrl = exports.getUniqueAddresses = exports.humanizeNumber = exports.blocks = exports.sumChainTvls = exports.removeTokenBalance = exports.mergeBalances = exports.sumSingleBalance = exports.sumMultiBalanceOf = exports.convertToBigInt = void 0;
63
63
  var blocks = __importStar(require("./computeTVL/blocks"));
64
64
  exports.blocks = blocks;
65
65
  var humanizeNumber = __importStar(require("./computeTVL/humanizeNumber"));
66
66
  exports.humanizeNumber = humanizeNumber;
67
67
  var ethers = __importStar(require("ethers"));
68
68
  // We ignore `sum` as it's never used (only in some SDK wrapper code)
69
+ function convertToBigInt(value) {
70
+ var balance = value;
71
+ if (!value)
72
+ return BigInt(0);
73
+ if (typeof value === 'bigint')
74
+ return value;
75
+ if (typeof value === 'number')
76
+ value = value.toString();
77
+ if (typeof value === 'string') {
78
+ if (!value.startsWith('0x') && value.includes('e')) { // Convert scientific notation to standard notation
79
+ var _a = value.split('e'), base = _a[0], e = _a[1];
80
+ var _b = base.split('.'), lead = _b[0], decimal = _b[1];
81
+ var final = void 0;
82
+ var exponent = +e;
83
+ if (exponent >= 0) {
84
+ final = lead + (decimal || '') + '0'.repeat(exponent - (decimal || '').length);
85
+ }
86
+ else {
87
+ // NOTE: unforutenately BigInt doesn't support negative exponents, so this ends up being 0
88
+ exponent = exponent * -1;
89
+ final = BigInt(lead) / BigInt('1' + Array(exponent).fill(0).join(''));
90
+ }
91
+ return BigInt(final);
92
+ }
93
+ return BigInt(value);
94
+ }
95
+ if (typeof value === 'string')
96
+ return BigInt(value);
97
+ throw new Error("Invalid balance: ".concat(balance));
98
+ }
99
+ exports.convertToBigInt = convertToBigInt;
69
100
  function sumMultiBalanceOf(balances, results, allCallsMustBeSuccessful, transformAddress) {
70
101
  if (allCallsMustBeSuccessful === void 0) { allCallsMustBeSuccessful = true; }
71
102
  if (transformAddress === void 0) { transformAddress = function (addr) { return addr; }; }
@@ -109,41 +140,11 @@ function sumSingleBalance(balances, token, balance, chain) {
109
140
  balances[token] = value;
110
141
  }
111
142
  else {
112
- var prevBalance = getBigInt(balances[token]);
113
- var value = (prevBalance + getBigInt(balance));
143
+ var prevBalance = convertToBigInt(balances[token]);
144
+ var value = (prevBalance + convertToBigInt(balance));
114
145
  isValidNumber(Number(value));
115
146
  balances[token] = Number(value).toString();
116
147
  }
117
- function getBigInt(value) {
118
- var balance = value;
119
- if (!value)
120
- return BigInt(0);
121
- if (typeof value === 'bigint')
122
- return value;
123
- if (typeof value === 'number')
124
- value = value.toString();
125
- if (typeof value === 'string') {
126
- if (value.includes('e')) { // Convert scientific notation to standard notation
127
- var _a = value.split('e'), base = _a[0], e = _a[1];
128
- var _b = base.split('.'), lead = _b[0], decimal = _b[1];
129
- var final = void 0;
130
- var exponent = +e;
131
- if (exponent >= 0) {
132
- final = lead + (decimal || '') + '0'.repeat(exponent - (decimal || '').length);
133
- }
134
- else {
135
- // NOTE: unforutenately BigInt doesn't support negative exponents, so this ends up being 0
136
- exponent = exponent * -1;
137
- final = BigInt(lead) / BigInt('1' + Array(exponent).fill(0).join(''));
138
- }
139
- return BigInt(final);
140
- }
141
- return BigInt(value);
142
- }
143
- if (typeof value === 'string')
144
- return BigInt(value);
145
- throw new Error("Invalid balance: ".concat(balance));
146
- }
147
148
  function isValidNumber(value) {
148
149
  if (typeof value === 'bigint')
149
150
  return;
@@ -273,7 +274,7 @@ function formErrorString(e, errorParams) {
273
274
  }
274
275
  else if (e.code === 'CALL_EXCEPTION' || errorParams.isCallError) {
275
276
  var extraInfo = 'target: ' + errorParams.target;
276
- if (errorParams.params && errorParams.params.length)
277
+ if (errorParams.params && Array.isArray(errorParams.params) && errorParams.params.length)
277
278
  extraInfo += shortenString(' params: ' + errorParams.params.join(', '));
278
279
  return "Failed to call: ".concat(method, " ").concat(extraInfo, " on chain: [").concat(errorParams.chain, "] rpc: ").concat(providerUrl, " call reverted, reason: ").concat((_o = (_m = e.errorName) !== null && _m !== void 0 ? _m : e.shortMessage) !== null && _o !== void 0 ? _o : '', " ").concat((_p = e.errorArgs) !== null && _p !== void 0 ? _p : '');
279
280
  }
@@ -281,7 +282,7 @@ function formErrorString(e, errorParams) {
281
282
  if (!method)
282
283
  method = (_r = (_q = e === null || e === void 0 ? void 0 : e.info) === null || _q === void 0 ? void 0 : _q.payload) === null || _r === void 0 ? void 0 : _r.method;
283
284
  var extraInfo = 'target: ' + errorParams.target;
284
- return "Failed method: ".concat(method, " ").concat(extraInfo, " on chain: [").concat(errorParams.chain, "] rpc: ").concat(providerUrl, " reason: ").concat((_u = (_t = (_s = e.errorName) !== null && _s !== void 0 ? _s : e.shortMessage) !== null && _t !== void 0 ? _t : e.message) !== null && _u !== void 0 ? _u : '', " ").concat((_v = e.errorArgs) !== null && _v !== void 0 ? _v : '');
285
+ return "Failed method: ".concat(method, " ").concat(shortenString(extraInfo), " on chain: [").concat(errorParams.chain, "] rpc: ").concat(providerUrl, " reason: ").concat((_u = (_t = (_s = e.errorName) !== null && _s !== void 0 ? _s : e.shortMessage) !== null && _t !== void 0 ? _t : e.message) !== null && _u !== void 0 ? _u : '', " ").concat((_v = e.errorArgs) !== null && _v !== void 0 ? _v : '');
285
286
  }
286
287
  if (method === 'eth_blockNumber')
287
288
  return "host: ".concat(providerUrl, " reason: ").concat(e.reason, " code: ").concat(e.code);
@@ -311,7 +312,7 @@ function formError(e, errorParams) {
311
312
  }
312
313
  catch (e) { }
313
314
  error._isCustomError = true;
314
- error.message = shortenString(error.message, 420);
315
+ error.message = shortenString(error.message, 999);
315
316
  error.stack = '';
316
317
  return error;
317
318
  }