@augustdigital/sdk 4.15.1 → 4.15.2-alpha.2
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/lib/adapters/sui/constants.d.ts +1 -0
- package/lib/adapters/sui/constants.js +8 -1
- package/lib/adapters/sui/constants.js.map +1 -1
- package/lib/core/constants/vaults.d.ts +3 -2
- package/lib/core/constants/vaults.js +60 -60
- package/lib/core/constants/vaults.js.map +1 -1
- package/lib/core/constants.adapters.d.ts +117 -0
- package/lib/core/constants.adapters.js +160 -0
- package/lib/core/constants.adapters.js.map +1 -0
- package/lib/core/constants.core.d.ts +78 -0
- package/lib/core/constants.core.js +75 -0
- package/lib/core/constants.core.js.map +1 -0
- package/lib/core/constants.d.ts +96 -0
- package/lib/core/constants.js +148 -0
- package/lib/core/constants.js.map +1 -0
- package/lib/core/constants.vaults.d.ts +64 -0
- package/lib/core/constants.vaults.js +155 -0
- package/lib/core/constants.vaults.js.map +1 -0
- package/lib/core/constants.web3.d.ts +31 -0
- package/lib/core/constants.web3.js +112 -0
- package/lib/core/constants.web3.js.map +1 -0
- package/lib/core/core.helpers.d.ts +48 -0
- package/lib/core/core.helpers.js +210 -0
- package/lib/core/core.helpers.js.map +1 -0
- package/lib/core/helpers/core.js +9 -1
- package/lib/core/helpers/core.js.map +1 -1
- package/lib/core/helpers/vaults.js +2 -2
- package/lib/core/helpers.adapters.d.ts +9 -0
- package/lib/core/helpers.adapters.js +28 -0
- package/lib/core/helpers.adapters.js.map +1 -0
- package/lib/core/helpers.core.d.ts +48 -0
- package/lib/core/helpers.core.js +210 -0
- package/lib/core/helpers.core.js.map +1 -0
- package/lib/core/helpers.signer.d.ts +9 -0
- package/lib/core/helpers.signer.js +54 -0
- package/lib/core/helpers.signer.js.map +1 -0
- package/lib/core/helpers.vaults.d.ts +36 -0
- package/lib/core/helpers.vaults.js +145 -0
- package/lib/core/helpers.vaults.js.map +1 -0
- package/lib/core/helpers.web3.d.ts +95 -0
- package/lib/core/helpers.web3.js +376 -0
- package/lib/core/helpers.web3.js.map +1 -0
- package/lib/core/read.actions.d.ts +6 -0
- package/lib/core/read.actions.js +39 -0
- package/lib/core/read.actions.js.map +1 -0
- package/lib/core/web3.helpers.d.ts +95 -0
- package/lib/core/web3.helpers.js +356 -0
- package/lib/core/web3.helpers.js.map +1 -0
- package/lib/core/write.actions.d.ts +12 -0
- package/lib/core/write.actions.js +51 -0
- package/lib/core/write.actions.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/modules/vaults/constants.d.ts +109 -0
- package/lib/modules/vaults/constants.js +194 -0
- package/lib/modules/vaults/constants.js.map +1 -0
- package/lib/modules/vaults/main.js +8 -1
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/utils.js +11 -1
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/vault.actions.d.ts +19 -0
- package/lib/modules/vaults/vault.actions.js +95 -0
- package/lib/modules/vaults/vault.actions.js.map +1 -0
- package/lib/modules/vaults/write.actions.js +17 -15
- package/lib/modules/vaults/write.actions.js.map +1 -1
- package/lib/services/subgraph/vaults.js +25 -13
- package/lib/services/subgraph/vaults.js.map +1 -1
- package/lib/verify.d.ts +2 -0
- package/lib/verify.js +33 -0
- package/lib/verify.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getManagementFeePercent = exports.getSymbol = exports.getReceiptTokenAddress = exports.getDecimals = exports.explorerLink = exports.getInfuraProvider = exports.createProvider = exports.getChainId = exports.determineBlockSkipInternal = exports.determineBlockCutoff = void 0;
|
|
4
|
+
exports.createContract = createContract;
|
|
5
|
+
exports.getTokenMetadata = getTokenMetadata;
|
|
6
|
+
exports.simulateTransaction = simulateTransaction;
|
|
7
|
+
exports.checkAddress = checkAddress;
|
|
8
|
+
exports.getLoanOracleFeeRate = getLoanOracleFeeRate;
|
|
9
|
+
exports.getHistoricalContractData = getHistoricalContractData;
|
|
10
|
+
exports.getHistoricalContractDataByDate = getHistoricalContractDataByDate;
|
|
11
|
+
const ethers_1 = require("ethers");
|
|
12
|
+
const _1 = require(".");
|
|
13
|
+
const solana_1 = require("../adapters/solana");
|
|
14
|
+
const abis_1 = require("../abis");
|
|
15
|
+
const TokenizedVaultV2_1 = require("../abis/TokenizedVaultV2");
|
|
16
|
+
const helpers_vaults_1 = require("./helpers.vaults");
|
|
17
|
+
const _2 = require(".");
|
|
18
|
+
const determineBlockCutoff = (chain) => {
|
|
19
|
+
switch (chain) {
|
|
20
|
+
case 56:
|
|
21
|
+
return 120000;
|
|
22
|
+
case 43114:
|
|
23
|
+
return 120000;
|
|
24
|
+
default:
|
|
25
|
+
return 150000;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.determineBlockCutoff = determineBlockCutoff;
|
|
29
|
+
const determineBlockSkipInternal = (chain) => {
|
|
30
|
+
switch (chain) {
|
|
31
|
+
case 43114:
|
|
32
|
+
return 8000;
|
|
33
|
+
case 56:
|
|
34
|
+
return 8000;
|
|
35
|
+
default:
|
|
36
|
+
return 50000;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.determineBlockSkipInternal = determineBlockSkipInternal;
|
|
40
|
+
const getChainId = async (provider) => {
|
|
41
|
+
try {
|
|
42
|
+
if (!provider?._network) {
|
|
43
|
+
return Number((await provider.getNetwork()).chainId);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return Number(provider?._network.chainId);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
return Number((await provider.getNetwork()).chainId);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.getChainId = getChainId;
|
|
54
|
+
function createContract({ provider, address, abi, }) {
|
|
55
|
+
const goodAddress = checkAddress(address);
|
|
56
|
+
if (!goodAddress)
|
|
57
|
+
return;
|
|
58
|
+
const contract = new ethers_1.Contract(address, abi, provider);
|
|
59
|
+
if (!contract) {
|
|
60
|
+
console.error('#createContract', 'contract does not exist on connected chain');
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
return contract;
|
|
64
|
+
}
|
|
65
|
+
const createProvider = (rpcUrl) => {
|
|
66
|
+
if (_1.CACHE.has(rpcUrl))
|
|
67
|
+
return _1.CACHE.get(rpcUrl);
|
|
68
|
+
const provider = new ethers_1.JsonRpcProvider(rpcUrl);
|
|
69
|
+
_1.CACHE.set(rpcUrl, provider);
|
|
70
|
+
return provider;
|
|
71
|
+
};
|
|
72
|
+
exports.createProvider = createProvider;
|
|
73
|
+
const getInfuraProvider = (infura) => {
|
|
74
|
+
let baseUrl = 'https://';
|
|
75
|
+
switch (infura.chainId) {
|
|
76
|
+
case 8453: {
|
|
77
|
+
baseUrl = baseUrl + 'base-mainnet';
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case 43114: {
|
|
81
|
+
baseUrl = baseUrl + 'avalanche-mainnet';
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
case 137: {
|
|
85
|
+
baseUrl = baseUrl + 'polygon-mainnet';
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case 42161: {
|
|
89
|
+
baseUrl = baseUrl + 'arbitrum-mainnet';
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
default: {
|
|
93
|
+
baseUrl = baseUrl + 'mainnet';
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return new ethers_1.JsonRpcProvider(`${baseUrl}.infura.io/v3/${infura.apiKey}`);
|
|
98
|
+
};
|
|
99
|
+
exports.getInfuraProvider = getInfuraProvider;
|
|
100
|
+
const explorerLink = (hex, chain, type) => {
|
|
101
|
+
if (!chain)
|
|
102
|
+
return;
|
|
103
|
+
return `${_1.NETWORKS[chain].explorer}/${type}/${hex}`;
|
|
104
|
+
};
|
|
105
|
+
exports.explorerLink = explorerLink;
|
|
106
|
+
const getDecimals = async (provider, address) => {
|
|
107
|
+
if (address === ethers_1.ZeroAddress) {
|
|
108
|
+
_1.Logger.log.info('getDecimals', 'address is zero address');
|
|
109
|
+
return 0;
|
|
110
|
+
}
|
|
111
|
+
if (solana_1.Solana.utils.isSolanaAddress(address))
|
|
112
|
+
return solana_1.Solana.constants.fallbackDecimals;
|
|
113
|
+
if (!(address && provider))
|
|
114
|
+
return;
|
|
115
|
+
const key = `decimals-${address}`;
|
|
116
|
+
try {
|
|
117
|
+
if (_1.CACHE.get(key))
|
|
118
|
+
return _1.CACHE.get(key);
|
|
119
|
+
const tokenizedVault = (await (0, _2.fetchTokenizedVaults)(address))?.[0];
|
|
120
|
+
const version = (0, helpers_vaults_1.getVaultVersionV2)(tokenizedVault);
|
|
121
|
+
let realAddress = address;
|
|
122
|
+
if (version === 'evm-2') {
|
|
123
|
+
realAddress = await (0, exports.getReceiptTokenAddress)(provider, address);
|
|
124
|
+
}
|
|
125
|
+
const contract = new ethers_1.Contract(realAddress, [_1.MIN_ABIS.decimals], provider);
|
|
126
|
+
const decimals = Number(await contract.decimals());
|
|
127
|
+
_1.CACHE.set(key, decimals);
|
|
128
|
+
return decimals;
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
_1.Logger.log.error('getDecimals', `${address}::${e}`);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
exports.getDecimals = getDecimals;
|
|
135
|
+
const getReceiptTokenAddress = async (provider, address) => {
|
|
136
|
+
if (!(address && provider))
|
|
137
|
+
return;
|
|
138
|
+
const key = `receipt-token-${address}`;
|
|
139
|
+
try {
|
|
140
|
+
if (_1.CACHE.get(key))
|
|
141
|
+
return _1.CACHE.get(key);
|
|
142
|
+
const vaultContract = new ethers_1.Contract(address, TokenizedVaultV2_1.ABI_TOKENIZED_VAULT_V2, provider);
|
|
143
|
+
const receiptToken = (await vaultContract.lpTokenAddress());
|
|
144
|
+
_1.CACHE.set(key, receiptToken);
|
|
145
|
+
return receiptToken;
|
|
146
|
+
}
|
|
147
|
+
catch (e) {
|
|
148
|
+
_1.Logger.log.error('getReceiptTokenAddress', e);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
exports.getReceiptTokenAddress = getReceiptTokenAddress;
|
|
152
|
+
const getSymbol = async (provider, address) => {
|
|
153
|
+
if (address === ethers_1.ZeroAddress) {
|
|
154
|
+
_1.Logger.log.info('getSymbol', 'address is zero address');
|
|
155
|
+
return 'N/A';
|
|
156
|
+
}
|
|
157
|
+
if (!(address && provider))
|
|
158
|
+
return;
|
|
159
|
+
const key = `symbol-${address}`;
|
|
160
|
+
try {
|
|
161
|
+
if (_1.CACHE.get(key))
|
|
162
|
+
return _1.CACHE.get(key);
|
|
163
|
+
const tokenizedVault = (await (0, _2.fetchTokenizedVaults)(address))?.[0];
|
|
164
|
+
const version = (0, helpers_vaults_1.getVaultVersionV2)(tokenizedVault);
|
|
165
|
+
let realAddress = address;
|
|
166
|
+
if (version === 'evm-2') {
|
|
167
|
+
realAddress = await (0, exports.getReceiptTokenAddress)(provider, address);
|
|
168
|
+
}
|
|
169
|
+
const contract = new ethers_1.Contract(realAddress, [_1.MIN_ABIS.symbol], provider);
|
|
170
|
+
const symbol = (await contract.symbol());
|
|
171
|
+
_1.CACHE.set(key, symbol);
|
|
172
|
+
return symbol;
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
_1.Logger.log.error('getSymbol', `${address}::${e}`);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
exports.getSymbol = getSymbol;
|
|
179
|
+
async function getTokenMetadata(provider, asset, meta) {
|
|
180
|
+
if (!asset)
|
|
181
|
+
return [];
|
|
182
|
+
function buildAbi() {
|
|
183
|
+
const abiArr = [];
|
|
184
|
+
if (meta?.includes('name'))
|
|
185
|
+
abiArr.push(_1.MIN_ABIS.name);
|
|
186
|
+
if (meta?.includes('symbol'))
|
|
187
|
+
abiArr.push(_1.MIN_ABIS.symbol);
|
|
188
|
+
if (meta?.includes('decimals'))
|
|
189
|
+
abiArr.push(_1.MIN_ABIS.decimals);
|
|
190
|
+
if (meta?.includes('totalSupply'))
|
|
191
|
+
abiArr.push(_1.MIN_ABIS.totalSupply);
|
|
192
|
+
return abiArr;
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
const contract = new ethers_1.Contract(asset, buildAbi(), provider);
|
|
196
|
+
const getterArr = [];
|
|
197
|
+
if (meta?.includes('name'))
|
|
198
|
+
getterArr.push(contract.name());
|
|
199
|
+
if (meta?.includes('symbol'))
|
|
200
|
+
getterArr.push(contract.symbol());
|
|
201
|
+
if (meta?.includes('decimals'))
|
|
202
|
+
getterArr.push(contract.decimals());
|
|
203
|
+
if (meta?.includes('totalSupply'))
|
|
204
|
+
getterArr.push(contract.totalSupply());
|
|
205
|
+
return await Promise.all(getterArr);
|
|
206
|
+
}
|
|
207
|
+
catch (e) {
|
|
208
|
+
console.error('#getTokenMetadata:', e);
|
|
209
|
+
return [];
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
const getManagementFeePercent = async (provider, address) => {
|
|
213
|
+
if (!(address && provider))
|
|
214
|
+
return;
|
|
215
|
+
try {
|
|
216
|
+
const contract = new ethers_1.Contract(address, [_1.MIN_ABIS.managementFeePercent], provider);
|
|
217
|
+
await contract.managementFeePercent.staticCall();
|
|
218
|
+
}
|
|
219
|
+
catch (e) {
|
|
220
|
+
console.error('#getManagementFeePercent::simulate:', e);
|
|
221
|
+
return undefined;
|
|
222
|
+
}
|
|
223
|
+
try {
|
|
224
|
+
const contract = new ethers_1.Contract(address, [_1.MIN_ABIS.managementFeePercent], provider);
|
|
225
|
+
const fee = (await contract.managementFeePercent());
|
|
226
|
+
return Number(fee) / 100;
|
|
227
|
+
}
|
|
228
|
+
catch (e) {
|
|
229
|
+
console.error('#getManagementFeePercent:', e);
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
exports.getManagementFeePercent = getManagementFeePercent;
|
|
234
|
+
async function simulateTransaction(provider, abi, functionName, options) {
|
|
235
|
+
try {
|
|
236
|
+
const customInterface = new ethers_1.Interface(abi);
|
|
237
|
+
const callData = customInterface.encodeFunctionData(functionName, options?.args);
|
|
238
|
+
const response = await provider.call({
|
|
239
|
+
from: options?.from,
|
|
240
|
+
to: options?.to,
|
|
241
|
+
data: callData,
|
|
242
|
+
});
|
|
243
|
+
if (!response)
|
|
244
|
+
return false;
|
|
245
|
+
return customInterface.decodeFunctionResult(functionName, response);
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
console.error('#simulateTransaction:', e);
|
|
249
|
+
if (String(e).includes('reverted with reason string "denied"'))
|
|
250
|
+
return true;
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
function checkAddress(address, logger, type = 'contract') {
|
|
255
|
+
const _logger = logger ?? console;
|
|
256
|
+
if (!address) {
|
|
257
|
+
_logger.error(type, 'address is undefined');
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
if (typeof address !== 'string') {
|
|
261
|
+
_logger.error(type, 'address not of string type:', String(typeof address), String(address));
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
if (!(0, ethers_1.isAddress)(address)) {
|
|
265
|
+
_logger.error(type, 'address not checksummed:', String(address));
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
async function getLoanOracleFeeRate(provider, category_id, address, chainId) {
|
|
271
|
+
if (!(0, ethers_1.isAddress)(address)) {
|
|
272
|
+
console.error('#getLoanOracleFee:', 'address is undefined or not a valid address');
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
let _chainId = chainId;
|
|
276
|
+
if (!chainId) {
|
|
277
|
+
const chainIdRes = await (0, exports.getChainId)(provider);
|
|
278
|
+
_chainId = Number(chainIdRes);
|
|
279
|
+
}
|
|
280
|
+
if (!_1.ORACLE_CONTRACTS?.[_chainId]) {
|
|
281
|
+
console.warn('#getLoanOracleFeeRate: no oracle address for', _chainId);
|
|
282
|
+
return Number(0);
|
|
283
|
+
}
|
|
284
|
+
const oracleContract = createContract({
|
|
285
|
+
provider,
|
|
286
|
+
address: _1.ORACLE_CONTRACTS[_chainId],
|
|
287
|
+
abi: abis_1.ABI_FEE_ORACLE,
|
|
288
|
+
});
|
|
289
|
+
const hashedCategory = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(category_id));
|
|
290
|
+
const rawFee = await oracleContract.getContextFeeRate(hashedCategory, (0, ethers_1.getAddress)(address));
|
|
291
|
+
return Number((0, ethers_1.formatUnits)(rawFee, 6));
|
|
292
|
+
}
|
|
293
|
+
async function getHistoricalContractData(provider, contractAddress, abi, methodName, args = [], startBlock, endBlock, blockInterval = 1000) {
|
|
294
|
+
const contract = new ethers_1.ethers.Contract(contractAddress, abi, provider);
|
|
295
|
+
const results = [];
|
|
296
|
+
if (!endBlock) {
|
|
297
|
+
endBlock = await provider.getBlockNumber();
|
|
298
|
+
}
|
|
299
|
+
for (let blockNumber = startBlock; blockNumber <= endBlock; blockNumber += blockInterval) {
|
|
300
|
+
try {
|
|
301
|
+
const contractAtBlock = contract.connect(provider);
|
|
302
|
+
const result = await contractAtBlock[methodName](...args, {
|
|
303
|
+
blockTag: blockNumber,
|
|
304
|
+
});
|
|
305
|
+
const block = await provider.getBlock(blockNumber);
|
|
306
|
+
results.push({
|
|
307
|
+
blockNumber,
|
|
308
|
+
timestamp: block.timestamp,
|
|
309
|
+
result: result.toString(),
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
console.error(`Error at block ${blockNumber}:`, error);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return results;
|
|
317
|
+
}
|
|
318
|
+
async function getHistoricalContractDataByDate(provider, contractAddress, abi, methodName, args = [], startDate, endDate, intervalHours = 24) {
|
|
319
|
+
const contract = new ethers_1.ethers.Contract(contractAddress, abi, provider);
|
|
320
|
+
const startTimestamp = Math.floor(new Date(startDate).getTime() / 1000);
|
|
321
|
+
const endTimestamp = Math.floor(new Date(endDate).getTime() / 1000);
|
|
322
|
+
const intervalSeconds = intervalHours * 3600;
|
|
323
|
+
const results = [];
|
|
324
|
+
async function findBlockByTimestamp(targetTimestamp) {
|
|
325
|
+
let left = 1;
|
|
326
|
+
let right = await provider.getBlockNumber();
|
|
327
|
+
let closestBlock = null;
|
|
328
|
+
while (left <= right) {
|
|
329
|
+
const mid = Math.floor((left + right) / 2);
|
|
330
|
+
const block = await provider.getBlock(mid);
|
|
331
|
+
if (!block) {
|
|
332
|
+
right = mid - 1;
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
if (block.timestamp === targetTimestamp) {
|
|
336
|
+
return block;
|
|
337
|
+
}
|
|
338
|
+
if (!closestBlock ||
|
|
339
|
+
Math.abs(block.timestamp - targetTimestamp) <
|
|
340
|
+
Math.abs(closestBlock.timestamp - targetTimestamp)) {
|
|
341
|
+
closestBlock = block;
|
|
342
|
+
}
|
|
343
|
+
if (block.timestamp < targetTimestamp) {
|
|
344
|
+
left = mid + 1;
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
right = mid - 1;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return closestBlock;
|
|
351
|
+
}
|
|
352
|
+
try {
|
|
353
|
+
for (let timestamp = startTimestamp; timestamp <= endTimestamp; timestamp += intervalSeconds) {
|
|
354
|
+
const block = await findBlockByTimestamp(timestamp);
|
|
355
|
+
if (!block) {
|
|
356
|
+
console.warn(`No block found for timestamp ${timestamp}`);
|
|
357
|
+
continue;
|
|
358
|
+
}
|
|
359
|
+
const result = await contract[methodName](...args, {
|
|
360
|
+
blockTag: block.number,
|
|
361
|
+
});
|
|
362
|
+
results.push({
|
|
363
|
+
date: new Date(timestamp * 1000).toISOString(),
|
|
364
|
+
blockNumber: block.number,
|
|
365
|
+
timestamp,
|
|
366
|
+
result: result.toString(),
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
return results;
|
|
370
|
+
}
|
|
371
|
+
catch (error) {
|
|
372
|
+
console.error('Error fetching historical data:', error);
|
|
373
|
+
throw error;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
//# sourceMappingURL=helpers.web3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.web3.js","sourceRoot":"","sources":["../../src.ts/core/helpers.web3.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allowance = allowance;
|
|
4
|
+
const abis_1 = require("../abis");
|
|
5
|
+
const __1 = require("..");
|
|
6
|
+
const web3_helpers_1 = require("./web3.helpers");
|
|
7
|
+
async function allowance(signer, options) {
|
|
8
|
+
const { wallet, target } = options;
|
|
9
|
+
const [goodWallet, goodPool] = [
|
|
10
|
+
(0, web3_helpers_1.checkAddress)(wallet, console, 'wallet'),
|
|
11
|
+
(0, web3_helpers_1.checkAddress)(target, console),
|
|
12
|
+
];
|
|
13
|
+
if (!goodWallet || !goodPool)
|
|
14
|
+
return;
|
|
15
|
+
try {
|
|
16
|
+
const poolContract = (0, web3_helpers_1.createContract)({
|
|
17
|
+
address: target,
|
|
18
|
+
abi: abis_1.ABI_LENDING_POOLS,
|
|
19
|
+
provider: signer,
|
|
20
|
+
});
|
|
21
|
+
const [asset, decimals] = await Promise.all([
|
|
22
|
+
poolContract.asset(),
|
|
23
|
+
poolContract.decimals(),
|
|
24
|
+
]);
|
|
25
|
+
const depositTokenContract = (0, web3_helpers_1.createContract)({
|
|
26
|
+
address: asset,
|
|
27
|
+
abi: abis_1.ABI_ERC20,
|
|
28
|
+
provider: signer,
|
|
29
|
+
});
|
|
30
|
+
const _allowance = (await depositTokenContract.allowance(wallet, target));
|
|
31
|
+
const normalized = (0, __1.toNormalizedBn)(_allowance, decimals);
|
|
32
|
+
console.log('#allowance:', normalized);
|
|
33
|
+
return normalized;
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
console.error('#allowance', e);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=read.actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.actions.js","sourceRoot":"","sources":["../../src.ts/core/read.actions.ts"],"names":[],"mappings":";;AAYA,8BAuCC;AAnDD,kCAAuD;AACvD,0BAAoC;AACpC,iDAA8D;AAUvD,KAAK,UAAU,SAAS,CAC7B,MAAuB,EACvB,OAA8B;IAE9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;QAC7B,IAAA,2BAAY,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACvC,IAAA,2BAAY,EAAC,MAAM,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;QAAE,OAAO;IAErC,IAAI,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,6BAAc,EAAC;YAClC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,wBAAiB;YACtB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,YAAY,CAAC,KAAK,EAAqB;YACvC,YAAY,CAAC,QAAQ,EAAqB;SAC3C,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAA,6BAAc,EAAC;YAC1C,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,gBAAS;YACd,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,MAAM,oBAAoB,CAAC,SAAS,CACtD,MAAM,EACN,MAAM,CACP,CAAW,CAAC;QACb,MAAM,UAAU,GAAG,IAAA,kBAAc,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Contract, ethers, Interface, InterfaceAbi } from 'ethers';
|
|
2
|
+
import {
|
|
3
|
+
IAddress,
|
|
4
|
+
IChainId,
|
|
5
|
+
IContractRunner,
|
|
6
|
+
IExplorerType,
|
|
7
|
+
IInfuraOptions,
|
|
8
|
+
} from '../types';
|
|
9
|
+
export declare const determineBlockCutoff: (chain: number) => 120000 | 150000;
|
|
10
|
+
export declare const determineBlockSkipInternal: (
|
|
11
|
+
chain: number,
|
|
12
|
+
) => 8000 | 50000;
|
|
13
|
+
export declare const getChainId: (provider: IContractRunner) => Promise<number>;
|
|
14
|
+
export declare function createContract({
|
|
15
|
+
provider,
|
|
16
|
+
address,
|
|
17
|
+
abi,
|
|
18
|
+
}: {
|
|
19
|
+
address: string;
|
|
20
|
+
provider: IContractRunner;
|
|
21
|
+
abi: Interface | InterfaceAbi;
|
|
22
|
+
}): Contract;
|
|
23
|
+
export declare const createProvider: (rpcUrl: string) => any;
|
|
24
|
+
export declare const getInfuraProvider: (
|
|
25
|
+
infura: IInfuraOptions,
|
|
26
|
+
) => ethers.JsonRpcProvider;
|
|
27
|
+
export declare const explorerLink: (
|
|
28
|
+
hex: IAddress,
|
|
29
|
+
chain: IChainId,
|
|
30
|
+
type: IExplorerType,
|
|
31
|
+
) => string;
|
|
32
|
+
export declare const getDecimals: (
|
|
33
|
+
provider: IContractRunner,
|
|
34
|
+
address: IAddress,
|
|
35
|
+
) => Promise<any>;
|
|
36
|
+
export declare const getReceiptTokenAddress: (
|
|
37
|
+
provider: IContractRunner,
|
|
38
|
+
address: IAddress,
|
|
39
|
+
) => Promise<any>;
|
|
40
|
+
export declare const getSymbol: (
|
|
41
|
+
provider: IContractRunner,
|
|
42
|
+
address: IAddress | undefined,
|
|
43
|
+
) => Promise<any>;
|
|
44
|
+
export declare function getTokenMetadata(
|
|
45
|
+
provider: IContractRunner,
|
|
46
|
+
asset: IAddress,
|
|
47
|
+
meta: ('symbol' | 'decimals' | 'name' | 'totalSupply')[],
|
|
48
|
+
): Promise<any[]>;
|
|
49
|
+
export declare const getManagementFeePercent: (
|
|
50
|
+
provider: IContractRunner,
|
|
51
|
+
address: IAddress,
|
|
52
|
+
) => Promise<number>;
|
|
53
|
+
export declare function simulateTransaction(
|
|
54
|
+
provider: IContractRunner,
|
|
55
|
+
abi: string[] | any,
|
|
56
|
+
functionName: string,
|
|
57
|
+
options?: {
|
|
58
|
+
args?: (string | number | bigint)[][];
|
|
59
|
+
from?: string;
|
|
60
|
+
to?: string;
|
|
61
|
+
},
|
|
62
|
+
): Promise<boolean | ethers.Result>;
|
|
63
|
+
export declare function checkAddress(
|
|
64
|
+
address: string,
|
|
65
|
+
logger?: any,
|
|
66
|
+
type?: 'wallet' | 'contract',
|
|
67
|
+
): boolean;
|
|
68
|
+
type ILoanOracleFeeCategories = 'LOAN.REPAY.INTERESTS';
|
|
69
|
+
export declare function getLoanOracleFeeRate(
|
|
70
|
+
provider: IContractRunner,
|
|
71
|
+
category_id: ILoanOracleFeeCategories,
|
|
72
|
+
address: IAddress,
|
|
73
|
+
chainId?: number,
|
|
74
|
+
): Promise<number>;
|
|
75
|
+
export declare function getHistoricalContractData(
|
|
76
|
+
provider: IContractRunner,
|
|
77
|
+
contractAddress: IAddress,
|
|
78
|
+
abi: Interface | InterfaceAbi,
|
|
79
|
+
methodName: string,
|
|
80
|
+
args: (string | number | bigint | boolean)[],
|
|
81
|
+
startBlock: number,
|
|
82
|
+
endBlock: number,
|
|
83
|
+
blockInterval?: number,
|
|
84
|
+
): Promise<any[]>;
|
|
85
|
+
export declare function getHistoricalContractDataByDate(
|
|
86
|
+
provider: IContractRunner,
|
|
87
|
+
contractAddress: IAddress,
|
|
88
|
+
abi: Interface | InterfaceAbi,
|
|
89
|
+
methodName: string,
|
|
90
|
+
args: (string | number | bigint | boolean)[],
|
|
91
|
+
startDate: string | number,
|
|
92
|
+
endDate: string | number,
|
|
93
|
+
intervalHours?: number,
|
|
94
|
+
): Promise<any[]>;
|
|
95
|
+
export {};
|