@defillama/sdk 2.3.21 → 2.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +16 -16
  3. package/build/abi/cachedABIs.d.ts +4 -4
  4. package/build/abi/cachedABIs.js +70 -70
  5. package/build/abi/convertResults.d.ts +2 -2
  6. package/build/abi/convertResults.js +56 -56
  7. package/build/abi/index.d.ts +25 -25
  8. package/build/abi/index.js +166 -166
  9. package/build/abi/index.test.d.ts +1 -1
  10. package/build/abi/index.test.js +651 -651
  11. package/build/abi/multicall.d.ts +13 -13
  12. package/build/abi/multicall.js +210 -210
  13. package/build/api.d.ts +10 -10
  14. package/build/api.js +32 -32
  15. package/build/cdp/compoundTokens.d.ts +68 -68
  16. package/build/cdp/compoundTokens.js +69 -69
  17. package/build/cdp/index.d.ts +29 -29
  18. package/build/cdp/index.js +124 -124
  19. package/build/cdp/index.test.d.ts +1 -1
  20. package/build/cdp/index.test.js +82 -82
  21. package/build/cdp/makerTokens.d.ts +10 -10
  22. package/build/cdp/makerTokens.js +244 -244
  23. package/build/cli.d.ts +2 -2
  24. package/build/cli.js +95 -95
  25. package/build/computeTVL/blocks.d.ts +15 -15
  26. package/build/computeTVL/blocks.js +136 -136
  27. package/build/computeTVL/blocks.test.d.ts +1 -1
  28. package/build/computeTVL/blocks.test.js +56 -56
  29. package/build/computeTVL/humanizeNumber.d.ts +1 -1
  30. package/build/computeTVL/humanizeNumber.js +18 -18
  31. package/build/computeTVL/index.d.ts +50 -49
  32. package/build/computeTVL/index.js +371 -353
  33. package/build/computeTVL/index.test.d.ts +1 -1
  34. package/build/computeTVL/index.test.js +107 -107
  35. package/build/computeTVL/prices.d.ts +9 -9
  36. package/build/computeTVL/prices.js +163 -163
  37. package/build/erc20/index.d.ts +31 -31
  38. package/build/erc20/index.js +144 -144
  39. package/build/erc20/index.test.d.ts +1 -1
  40. package/build/erc20/index.test.js +124 -124
  41. package/build/eth/index.d.ts +21 -21
  42. package/build/eth/index.js +90 -90
  43. package/build/eth/index.test.d.ts +1 -1
  44. package/build/eth/index.test.js +122 -122
  45. package/build/general.d.ts +7 -7
  46. package/build/general.js +88 -88
  47. package/build/general.test.d.ts +1 -1
  48. package/build/general.test.js +73 -73
  49. package/build/generalUtil.d.ts +19 -19
  50. package/build/generalUtil.js +117 -117
  51. package/build/generalUtil.test.d.ts +1 -1
  52. package/build/generalUtil.test.js +59 -59
  53. package/build/index.d.ts +2 -2
  54. package/build/index.js +24 -24
  55. package/build/index.test.js +69 -69
  56. package/build/types.d.ts +5 -5
  57. package/build/types.js +2 -2
  58. package/build/util/index.d.ts +57 -57
  59. package/build/util/index.js +351 -351
  60. package/build/util/index.test.d.ts +1 -1
  61. package/build/util/index.test.js +314 -314
  62. package/build/util/tokenList.d.ts +14 -14
  63. package/build/util/tokenList.js +3631 -3631
  64. package/package.json +41 -41
@@ -1,13 +1,13 @@
1
- import { Chain } from "../general";
2
- export declare const MULTICALL_ADDRESS_MAINNET = "0xeefba1e63905ef1d7acba5a8513c70307c1ce441";
3
- export declare const MULTICALL_ADDRESS_KOVAN = "0x2cc8688c5f75e365aaeeb4ea8d6a480405a48d2a";
4
- export declare const MULTICALL_ADDRESS_RINKEBY = "0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821";
5
- export declare const MULTICALL_ADDRESS_GOERLI = "0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e";
6
- export declare const MULTICALL_ADDRESS_POLYGON = "0x95028E5B8a734bb7E2071F96De89BABe75be9C8E";
7
- export declare const MULTICALL_ADDRESS_BSC = "0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb";
8
- export declare const MULTICALL_ADDRESS_FANTOM = "0xb828C456600857abd4ed6C32FAcc607bD0464F4F";
9
- export declare const AGGREGATE_SELECTOR = "0x252dba42";
10
- export default function makeMultiCall(functionABI: any, calls: {
11
- contract: string;
12
- params: any[];
13
- }[], chain: Chain, block?: number): Promise<any>;
1
+ import { Chain } from "../general";
2
+ export declare const MULTICALL_ADDRESS_MAINNET = "0xeefba1e63905ef1d7acba5a8513c70307c1ce441";
3
+ export declare const MULTICALL_ADDRESS_KOVAN = "0x2cc8688c5f75e365aaeeb4ea8d6a480405a48d2a";
4
+ export declare const MULTICALL_ADDRESS_RINKEBY = "0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821";
5
+ export declare const MULTICALL_ADDRESS_GOERLI = "0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e";
6
+ export declare const MULTICALL_ADDRESS_POLYGON = "0x95028E5B8a734bb7E2071F96De89BABe75be9C8E";
7
+ export declare const MULTICALL_ADDRESS_BSC = "0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb";
8
+ export declare const MULTICALL_ADDRESS_FANTOM = "0xb828C456600857abd4ed6C32FAcc607bD0464F4F";
9
+ export declare const AGGREGATE_SELECTOR = "0x252dba42";
10
+ export default function makeMultiCall(functionABI: any, calls: {
11
+ contract: string;
12
+ params: any[];
13
+ }[], chain: Chain, block?: number): Promise<any>;
@@ -1,210 +1,210 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.AGGREGATE_SELECTOR = exports.MULTICALL_ADDRESS_FANTOM = exports.MULTICALL_ADDRESS_BSC = exports.MULTICALL_ADDRESS_POLYGON = exports.MULTICALL_ADDRESS_GOERLI = exports.MULTICALL_ADDRESS_RINKEBY = exports.MULTICALL_ADDRESS_KOVAN = exports.MULTICALL_ADDRESS_MAINNET = void 0;
43
- var ethers_1 = require("ethers");
44
- var utils_1 = require("ethers/lib/utils");
45
- var general_1 = require("../general");
46
- var convertResults_1 = __importDefault(require("./convertResults"));
47
- exports.MULTICALL_ADDRESS_MAINNET = "0xeefba1e63905ef1d7acba5a8513c70307c1ce441";
48
- exports.MULTICALL_ADDRESS_KOVAN = "0x2cc8688c5f75e365aaeeb4ea8d6a480405a48d2a";
49
- exports.MULTICALL_ADDRESS_RINKEBY = "0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821";
50
- exports.MULTICALL_ADDRESS_GOERLI = "0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e";
51
- exports.MULTICALL_ADDRESS_POLYGON = "0x95028E5B8a734bb7E2071F96De89BABe75be9C8E";
52
- exports.MULTICALL_ADDRESS_BSC = "0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb";
53
- exports.MULTICALL_ADDRESS_FANTOM = "0xb828C456600857abd4ed6C32FAcc607bD0464F4F";
54
- exports.AGGREGATE_SELECTOR = "0x252dba42";
55
- function makeMultiCall(functionABI, calls, chain, block) {
56
- return __awaiter(this, void 0, void 0, function () {
57
- var contractInterface, fd, contractCalls, returnValues;
58
- return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0:
61
- contractInterface = new ethers_1.ethers.utils.Interface([functionABI]);
62
- fd = Object.values(contractInterface.functions)[0];
63
- contractCalls = calls.map(function (call) {
64
- var data = contractInterface.encodeFunctionData(fd, call.params);
65
- return {
66
- to: call.contract,
67
- data: data,
68
- };
69
- });
70
- return [4 /*yield*/, executeCalls(contractCalls, chain, block)];
71
- case 1:
72
- returnValues = _a.sent();
73
- return [2 /*return*/, returnValues.map(function (values, index) {
74
- var output;
75
- try {
76
- output = convertResults_1.default(contractInterface.decodeFunctionResult(fd, values));
77
- }
78
- catch (e) {
79
- output = null;
80
- }
81
- return {
82
- input: {
83
- params: calls[index].params,
84
- target: calls[index].contract,
85
- },
86
- success: output !== null,
87
- output: output,
88
- };
89
- })];
90
- }
91
- });
92
- });
93
- }
94
- exports.default = makeMultiCall;
95
- function executeCalls(contractCalls, chain, block) {
96
- return __awaiter(this, void 0, void 0, function () {
97
- var multicallData, address, callData, tx, returnData, _a, blockNumber, returnValues, e_1, values;
98
- var _this = this;
99
- return __generator(this, function (_b) {
100
- switch (_b.label) {
101
- case 0: return [4 /*yield*/, networkSupportsMulticall(chain)];
102
- case 1:
103
- if (!_b.sent()) return [3 /*break*/, 6];
104
- _b.label = 2;
105
- case 2:
106
- _b.trys.push([2, 5, , 6]);
107
- multicallData = ethers_1.ethers.utils.defaultAbiCoder.encode([
108
- utils_1.ParamType.fromObject({
109
- components: [
110
- { name: "target", type: "address" },
111
- { name: "callData", type: "bytes" },
112
- ],
113
- name: "data",
114
- type: "tuple[]",
115
- }),
116
- ], [contractCalls.map(function (call) { return [call.to, call.data]; })]);
117
- return [4 /*yield*/, multicallAddressOrThrow(chain)];
118
- case 3:
119
- address = _b.sent();
120
- callData = exports.AGGREGATE_SELECTOR + multicallData.substr(2);
121
- tx = {
122
- to: address,
123
- data: callData,
124
- };
125
- return [4 /*yield*/, general_1.getProvider(chain).call(tx, block !== null && block !== void 0 ? block : "latest")];
126
- case 4:
127
- returnData = _b.sent();
128
- _a = ethers_1.ethers.utils.defaultAbiCoder.decode(["uint256", "bytes[]"], returnData), blockNumber = _a[0], returnValues = _a[1];
129
- return [2 /*return*/, returnValues];
130
- case 5:
131
- e_1 = _b.sent();
132
- if (!process.env.DEFILLAMA_SDK_MUTED) {
133
- console.log("Multicall failed, defaulting to single transactions...");
134
- }
135
- return [3 /*break*/, 6];
136
- case 6: return [4 /*yield*/, Promise.all(contractCalls.map(function (call) { return __awaiter(_this, void 0, void 0, function () {
137
- var e_2;
138
- return __generator(this, function (_a) {
139
- switch (_a.label) {
140
- case 0:
141
- _a.trys.push([0, 2, , 3]);
142
- return [4 /*yield*/, general_1.getProvider(chain).call({ to: call.to, data: call.data }, block !== null && block !== void 0 ? block : "latest")];
143
- case 1: return [2 /*return*/, _a.sent()];
144
- case 2:
145
- e_2 = _a.sent();
146
- return [2 /*return*/, null];
147
- case 3: return [2 /*return*/];
148
- }
149
- });
150
- }); }))];
151
- case 7:
152
- values = _b.sent();
153
- return [2 /*return*/, values];
154
- }
155
- });
156
- });
157
- }
158
- function multicallAddressOrThrow(chain) {
159
- return __awaiter(this, void 0, void 0, function () {
160
- var network, address, msg;
161
- return __generator(this, function (_a) {
162
- switch (_a.label) {
163
- case 0: return [4 /*yield*/, general_1.getProvider(chain).getNetwork()];
164
- case 1:
165
- network = _a.sent();
166
- address = multicallAddress(network.chainId);
167
- if (address === null) {
168
- msg = "multicall is not available on the network " + network.chainId;
169
- console.error(msg);
170
- throw new Error(msg);
171
- }
172
- return [2 /*return*/, address];
173
- }
174
- });
175
- });
176
- }
177
- function networkSupportsMulticall(chain) {
178
- return __awaiter(this, void 0, void 0, function () {
179
- var network, address;
180
- return __generator(this, function (_a) {
181
- switch (_a.label) {
182
- case 0: return [4 /*yield*/, general_1.getProvider(chain).network];
183
- case 1:
184
- network = _a.sent();
185
- address = multicallAddress(network.chainId);
186
- return [2 /*return*/, address !== null];
187
- }
188
- });
189
- });
190
- }
191
- function multicallAddress(chainId) {
192
- switch (chainId) {
193
- case 1:
194
- return exports.MULTICALL_ADDRESS_MAINNET;
195
- case 42:
196
- return exports.MULTICALL_ADDRESS_KOVAN;
197
- case 4:
198
- return exports.MULTICALL_ADDRESS_RINKEBY;
199
- case 5:
200
- return exports.MULTICALL_ADDRESS_GOERLI;
201
- case 137:
202
- return exports.MULTICALL_ADDRESS_POLYGON;
203
- case 56:
204
- return exports.MULTICALL_ADDRESS_BSC;
205
- case 250:
206
- return exports.MULTICALL_ADDRESS_FANTOM;
207
- default:
208
- return null;
209
- }
210
- }
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.AGGREGATE_SELECTOR = exports.MULTICALL_ADDRESS_FANTOM = exports.MULTICALL_ADDRESS_BSC = exports.MULTICALL_ADDRESS_POLYGON = exports.MULTICALL_ADDRESS_GOERLI = exports.MULTICALL_ADDRESS_RINKEBY = exports.MULTICALL_ADDRESS_KOVAN = exports.MULTICALL_ADDRESS_MAINNET = void 0;
43
+ var ethers_1 = require("ethers");
44
+ var utils_1 = require("ethers/lib/utils");
45
+ var general_1 = require("../general");
46
+ var convertResults_1 = __importDefault(require("./convertResults"));
47
+ exports.MULTICALL_ADDRESS_MAINNET = "0xeefba1e63905ef1d7acba5a8513c70307c1ce441";
48
+ exports.MULTICALL_ADDRESS_KOVAN = "0x2cc8688c5f75e365aaeeb4ea8d6a480405a48d2a";
49
+ exports.MULTICALL_ADDRESS_RINKEBY = "0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821";
50
+ exports.MULTICALL_ADDRESS_GOERLI = "0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e";
51
+ exports.MULTICALL_ADDRESS_POLYGON = "0x95028E5B8a734bb7E2071F96De89BABe75be9C8E";
52
+ exports.MULTICALL_ADDRESS_BSC = "0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb";
53
+ exports.MULTICALL_ADDRESS_FANTOM = "0xb828C456600857abd4ed6C32FAcc607bD0464F4F";
54
+ exports.AGGREGATE_SELECTOR = "0x252dba42";
55
+ function makeMultiCall(functionABI, calls, chain, block) {
56
+ return __awaiter(this, void 0, void 0, function () {
57
+ var contractInterface, fd, contractCalls, returnValues;
58
+ return __generator(this, function (_a) {
59
+ switch (_a.label) {
60
+ case 0:
61
+ contractInterface = new ethers_1.ethers.utils.Interface([functionABI]);
62
+ fd = Object.values(contractInterface.functions)[0];
63
+ contractCalls = calls.map(function (call) {
64
+ var data = contractInterface.encodeFunctionData(fd, call.params);
65
+ return {
66
+ to: call.contract,
67
+ data: data,
68
+ };
69
+ });
70
+ return [4 /*yield*/, executeCalls(contractCalls, chain, block)];
71
+ case 1:
72
+ returnValues = _a.sent();
73
+ return [2 /*return*/, returnValues.map(function (values, index) {
74
+ var output;
75
+ try {
76
+ output = convertResults_1.default(contractInterface.decodeFunctionResult(fd, values));
77
+ }
78
+ catch (e) {
79
+ output = null;
80
+ }
81
+ return {
82
+ input: {
83
+ params: calls[index].params,
84
+ target: calls[index].contract,
85
+ },
86
+ success: output !== null,
87
+ output: output,
88
+ };
89
+ })];
90
+ }
91
+ });
92
+ });
93
+ }
94
+ exports.default = makeMultiCall;
95
+ function executeCalls(contractCalls, chain, block) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var multicallData, address, callData, tx, returnData, _a, blockNumber, returnValues, e_1, values;
98
+ var _this = this;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0: return [4 /*yield*/, networkSupportsMulticall(chain)];
102
+ case 1:
103
+ if (!_b.sent()) return [3 /*break*/, 6];
104
+ _b.label = 2;
105
+ case 2:
106
+ _b.trys.push([2, 5, , 6]);
107
+ multicallData = ethers_1.ethers.utils.defaultAbiCoder.encode([
108
+ utils_1.ParamType.fromObject({
109
+ components: [
110
+ { name: "target", type: "address" },
111
+ { name: "callData", type: "bytes" },
112
+ ],
113
+ name: "data",
114
+ type: "tuple[]",
115
+ }),
116
+ ], [contractCalls.map(function (call) { return [call.to, call.data]; })]);
117
+ return [4 /*yield*/, multicallAddressOrThrow(chain)];
118
+ case 3:
119
+ address = _b.sent();
120
+ callData = exports.AGGREGATE_SELECTOR + multicallData.substr(2);
121
+ tx = {
122
+ to: address,
123
+ data: callData,
124
+ };
125
+ return [4 /*yield*/, general_1.getProvider(chain).call(tx, block !== null && block !== void 0 ? block : "latest")];
126
+ case 4:
127
+ returnData = _b.sent();
128
+ _a = ethers_1.ethers.utils.defaultAbiCoder.decode(["uint256", "bytes[]"], returnData), blockNumber = _a[0], returnValues = _a[1];
129
+ return [2 /*return*/, returnValues];
130
+ case 5:
131
+ e_1 = _b.sent();
132
+ if (!process.env.DEFILLAMA_SDK_MUTED) {
133
+ console.log("Multicall failed, defaulting to single transactions...");
134
+ }
135
+ return [3 /*break*/, 6];
136
+ case 6: return [4 /*yield*/, Promise.all(contractCalls.map(function (call) { return __awaiter(_this, void 0, void 0, function () {
137
+ var e_2;
138
+ return __generator(this, function (_a) {
139
+ switch (_a.label) {
140
+ case 0:
141
+ _a.trys.push([0, 2, , 3]);
142
+ return [4 /*yield*/, general_1.getProvider(chain).call({ to: call.to, data: call.data }, block !== null && block !== void 0 ? block : "latest")];
143
+ case 1: return [2 /*return*/, _a.sent()];
144
+ case 2:
145
+ e_2 = _a.sent();
146
+ return [2 /*return*/, null];
147
+ case 3: return [2 /*return*/];
148
+ }
149
+ });
150
+ }); }))];
151
+ case 7:
152
+ values = _b.sent();
153
+ return [2 /*return*/, values];
154
+ }
155
+ });
156
+ });
157
+ }
158
+ function multicallAddressOrThrow(chain) {
159
+ return __awaiter(this, void 0, void 0, function () {
160
+ var network, address, msg;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0: return [4 /*yield*/, general_1.getProvider(chain).getNetwork()];
164
+ case 1:
165
+ network = _a.sent();
166
+ address = multicallAddress(network.chainId);
167
+ if (address === null) {
168
+ msg = "multicall is not available on the network " + network.chainId;
169
+ console.error(msg);
170
+ throw new Error(msg);
171
+ }
172
+ return [2 /*return*/, address];
173
+ }
174
+ });
175
+ });
176
+ }
177
+ function networkSupportsMulticall(chain) {
178
+ return __awaiter(this, void 0, void 0, function () {
179
+ var network, address;
180
+ return __generator(this, function (_a) {
181
+ switch (_a.label) {
182
+ case 0: return [4 /*yield*/, general_1.getProvider(chain).network];
183
+ case 1:
184
+ network = _a.sent();
185
+ address = multicallAddress(network.chainId);
186
+ return [2 /*return*/, address !== null];
187
+ }
188
+ });
189
+ });
190
+ }
191
+ function multicallAddress(chainId) {
192
+ switch (chainId) {
193
+ case 1:
194
+ return exports.MULTICALL_ADDRESS_MAINNET;
195
+ case 42:
196
+ return exports.MULTICALL_ADDRESS_KOVAN;
197
+ case 4:
198
+ return exports.MULTICALL_ADDRESS_RINKEBY;
199
+ case 5:
200
+ return exports.MULTICALL_ADDRESS_GOERLI;
201
+ case 137:
202
+ return exports.MULTICALL_ADDRESS_POLYGON;
203
+ case 56:
204
+ return exports.MULTICALL_ADDRESS_BSC;
205
+ case 250:
206
+ return exports.MULTICALL_ADDRESS_FANTOM;
207
+ default:
208
+ return null;
209
+ }
210
+ }
package/build/api.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export * as util from "./util";
2
- export * as eth from "./eth";
3
- export * as erc20 from "./erc20";
4
- export * as cdp from "./cdp";
5
- export * as abi from "./abi";
6
- import { setProvider } from "./general";
7
- declare const config: {
8
- setProvider: typeof setProvider;
9
- };
10
- export { config };
1
+ export * as util from "./util";
2
+ export * as eth from "./eth";
3
+ export * as erc20 from "./erc20";
4
+ export * as cdp from "./cdp";
5
+ export * as abi from "./abi";
6
+ import { setProvider } from "./general";
7
+ declare const config: {
8
+ setProvider: typeof setProvider;
9
+ };
10
+ export { config };
package/build/api.js CHANGED
@@ -1,32 +1,32 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.config = exports.abi = exports.cdp = exports.erc20 = exports.eth = exports.util = void 0;
23
- exports.util = __importStar(require("./util"));
24
- exports.eth = __importStar(require("./eth"));
25
- exports.erc20 = __importStar(require("./erc20"));
26
- exports.cdp = __importStar(require("./cdp"));
27
- exports.abi = __importStar(require("./abi"));
28
- var general_1 = require("./general");
29
- var config = {
30
- setProvider: general_1.setProvider,
31
- };
32
- exports.config = config;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.config = exports.abi = exports.cdp = exports.erc20 = exports.eth = exports.util = void 0;
23
+ exports.util = __importStar(require("./util"));
24
+ exports.eth = __importStar(require("./eth"));
25
+ exports.erc20 = __importStar(require("./erc20"));
26
+ exports.cdp = __importStar(require("./cdp"));
27
+ exports.abi = __importStar(require("./abi"));
28
+ var general_1 = require("./general");
29
+ var config = {
30
+ setProvider: general_1.setProvider,
31
+ };
32
+ exports.config = config;