@0xtorch/evm 0.0.32 → 0.0.34
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/_cjs/decoder/decode.js +1 -0
- package/_cjs/decoder/decode.js.map +1 -1
- package/_cjs/index.js +1 -7
- package/_cjs/index.js.map +1 -1
- package/_esm/decoder/decode.js +1 -0
- package/_esm/decoder/decode.js.map +1 -1
- package/_esm/index.js +0 -2
- package/_esm/index.js.map +1 -1
- package/_types/chains/definitions/arbitrumOne.d.ts +1 -0
- package/_types/chains/definitions/arbitrumOne.d.ts.map +1 -1
- package/_types/chains/definitions/astar.d.ts +1 -0
- package/_types/chains/definitions/astar.d.ts.map +1 -1
- package/_types/chains/definitions/avalancheC.d.ts +1 -0
- package/_types/chains/definitions/avalancheC.d.ts.map +1 -1
- package/_types/chains/definitions/base.d.ts +1 -0
- package/_types/chains/definitions/base.d.ts.map +1 -1
- package/_types/chains/definitions/bsc.d.ts +1 -0
- package/_types/chains/definitions/bsc.d.ts.map +1 -1
- package/_types/chains/definitions/ethereum.d.ts +1 -0
- package/_types/chains/definitions/ethereum.d.ts.map +1 -1
- package/_types/chains/definitions/fantom.d.ts +1 -0
- package/_types/chains/definitions/fantom.d.ts.map +1 -1
- package/_types/chains/definitions/linea.d.ts +1 -0
- package/_types/chains/definitions/linea.d.ts.map +1 -1
- package/_types/chains/definitions/mantle.d.ts +1 -0
- package/_types/chains/definitions/mantle.d.ts.map +1 -1
- package/_types/chains/definitions/metis.d.ts +1 -0
- package/_types/chains/definitions/metis.d.ts.map +1 -1
- package/_types/chains/definitions/moonbeam.d.ts +1 -0
- package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
- package/_types/chains/definitions/moonriver.d.ts +1 -0
- package/_types/chains/definitions/moonriver.d.ts.map +1 -1
- package/_types/chains/definitions/oasys.d.ts +1 -0
- package/_types/chains/definitions/oasys.d.ts.map +1 -1
- package/_types/chains/definitions/optimism.d.ts +1 -0
- package/_types/chains/definitions/optimism.d.ts.map +1 -1
- package/_types/chains/definitions/polygonPos.d.ts +1 -0
- package/_types/chains/definitions/polygonPos.d.ts.map +1 -1
- package/_types/chains/definitions/ronin.d.ts +1 -0
- package/_types/chains/definitions/ronin.d.ts.map +1 -1
- package/_types/decoder/tests.d.ts +3 -2
- package/_types/decoder/tests.d.ts.map +1 -1
- package/_types/explorers/definitions/blockscout.d.ts +4 -0
- package/_types/explorers/definitions/blockscout.d.ts.map +1 -1
- package/_types/explorers/definitions/etherscan.d.ts +4 -0
- package/_types/explorers/definitions/etherscan.d.ts.map +1 -1
- package/_types/explorers/definitions/roninExplorer.d.ts +4 -0
- package/_types/explorers/definitions/roninExplorer.d.ts.map +1 -1
- package/_types/index.d.ts +0 -2
- package/_types/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/_cjs/getAccountsTransactionFulls/getAccountsTransactionFulls.js +0 -22
- package/_cjs/getAccountsTransactionFulls/getAccountsTransactionFulls.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/getAccountsTransactionFullsCustom.js +0 -52
- package/_cjs/getAccountsTransactionFulls/getAccountsTransactionFullsCustom.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/getDecodedTransactionsPrices.js +0 -55
- package/_cjs/getAccountsTransactionFulls/getDecodedTransactionsPrices.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/getHashesAndInternalTxs.js +0 -49
- package/_cjs/getAccountsTransactionFulls/getHashesAndInternalTxs.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/getTransactionDetails.js +0 -28
- package/_cjs/getAccountsTransactionFulls/getTransactionDetails.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/getTransactionsApps.js +0 -24
- package/_cjs/getAccountsTransactionFulls/getTransactionsApps.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/index.js +0 -8
- package/_cjs/getAccountsTransactionFulls/index.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/types.js +0 -3
- package/_cjs/getAccountsTransactionFulls/types.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/withD.js +0 -41
- package/_cjs/getAccountsTransactionFulls/withD.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/withDA.js +0 -59
- package/_cjs/getAccountsTransactionFulls/withDA.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/withP.js +0 -61
- package/_cjs/getAccountsTransactionFulls/withP.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/withPD.js +0 -73
- package/_cjs/getAccountsTransactionFulls/withPD.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/withPDA.js +0 -89
- package/_cjs/getAccountsTransactionFulls/withPDA.js.map +0 -1
- package/_cjs/getAccountsTransactionFulls/withUndefined.js +0 -46
- package/_cjs/getAccountsTransactionFulls/withUndefined.js.map +0 -1
- package/_cjs/getTransactionFull/getTransactionFull.js +0 -18
- package/_cjs/getTransactionFull/getTransactionFull.js.map +0 -1
- package/_cjs/getTransactionFull/getTransactionFullCustom.js +0 -52
- package/_cjs/getTransactionFull/getTransactionFullCustom.js.map +0 -1
- package/_cjs/getTransactionFull/index.js +0 -8
- package/_cjs/getTransactionFull/index.js.map +0 -1
- package/_cjs/getTransactionFull/types.js +0 -3
- package/_cjs/getTransactionFull/types.js.map +0 -1
- package/_cjs/getTransactionFull/withD.js +0 -34
- package/_cjs/getTransactionFull/withD.js.map +0 -1
- package/_cjs/getTransactionFull/withDA.js +0 -48
- package/_cjs/getTransactionFull/withDA.js.map +0 -1
- package/_cjs/getTransactionFull/withP.js +0 -46
- package/_cjs/getTransactionFull/withP.js.map +0 -1
- package/_cjs/getTransactionFull/withPD.js +0 -78
- package/_cjs/getTransactionFull/withPD.js.map +0 -1
- package/_cjs/getTransactionFull/withPDA.js +0 -92
- package/_cjs/getTransactionFull/withPDA.js.map +0 -1
- package/_cjs/getTransactionFull/withUndefined.js +0 -29
- package/_cjs/getTransactionFull/withUndefined.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/getAccountsTransactionFulls.js +0 -18
- package/_esm/getAccountsTransactionFulls/getAccountsTransactionFulls.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/getAccountsTransactionFullsCustom.js +0 -48
- package/_esm/getAccountsTransactionFulls/getAccountsTransactionFullsCustom.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/getDecodedTransactionsPrices.js +0 -55
- package/_esm/getAccountsTransactionFulls/getDecodedTransactionsPrices.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/getHashesAndInternalTxs.js +0 -45
- package/_esm/getAccountsTransactionFulls/getHashesAndInternalTxs.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/getTransactionDetails.js +0 -24
- package/_esm/getAccountsTransactionFulls/getTransactionDetails.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/getTransactionsApps.js +0 -21
- package/_esm/getAccountsTransactionFulls/getTransactionsApps.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/index.js +0 -3
- package/_esm/getAccountsTransactionFulls/index.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/types.js +0 -2
- package/_esm/getAccountsTransactionFulls/types.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/withD.js +0 -41
- package/_esm/getAccountsTransactionFulls/withD.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/withDA.js +0 -60
- package/_esm/getAccountsTransactionFulls/withDA.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/withP.js +0 -62
- package/_esm/getAccountsTransactionFulls/withP.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/withPD.js +0 -74
- package/_esm/getAccountsTransactionFulls/withPD.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/withPDA.js +0 -91
- package/_esm/getAccountsTransactionFulls/withPDA.js.map +0 -1
- package/_esm/getAccountsTransactionFulls/withUndefined.js +0 -45
- package/_esm/getAccountsTransactionFulls/withUndefined.js.map +0 -1
- package/_esm/getTransactionFull/getTransactionFull.js +0 -14
- package/_esm/getTransactionFull/getTransactionFull.js.map +0 -1
- package/_esm/getTransactionFull/getTransactionFullCustom.js +0 -48
- package/_esm/getTransactionFull/getTransactionFullCustom.js.map +0 -1
- package/_esm/getTransactionFull/index.js +0 -3
- package/_esm/getTransactionFull/index.js.map +0 -1
- package/_esm/getTransactionFull/types.js +0 -2
- package/_esm/getTransactionFull/types.js.map +0 -1
- package/_esm/getTransactionFull/withD.js +0 -33
- package/_esm/getTransactionFull/withD.js.map +0 -1
- package/_esm/getTransactionFull/withDA.js +0 -48
- package/_esm/getTransactionFull/withDA.js.map +0 -1
- package/_esm/getTransactionFull/withP.js +0 -45
- package/_esm/getTransactionFull/withP.js.map +0 -1
- package/_esm/getTransactionFull/withPD.js +0 -78
- package/_esm/getTransactionFull/withPD.js.map +0 -1
- package/_esm/getTransactionFull/withPDA.js +0 -94
- package/_esm/getTransactionFull/withPDA.js.map +0 -1
- package/_esm/getTransactionFull/withUndefined.js +0 -25
- package/_esm/getTransactionFull/withUndefined.js.map +0 -1
- package/_types/getAccountsTransactionFulls/getAccountsTransactionFulls.d.ts +0 -23
- package/_types/getAccountsTransactionFulls/getAccountsTransactionFulls.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/getAccountsTransactionFullsCustom.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/getAccountsTransactionFullsCustom.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/getDecodedTransactionsPrices.d.ts +0 -5
- package/_types/getAccountsTransactionFulls/getDecodedTransactionsPrices.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/getHashesAndInternalTxs.d.ts +0 -8
- package/_types/getAccountsTransactionFulls/getHashesAndInternalTxs.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/getTransactionDetails.d.ts +0 -5
- package/_types/getAccountsTransactionFulls/getTransactionDetails.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/getTransactionsApps.d.ts +0 -8
- package/_types/getAccountsTransactionFulls/getTransactionsApps.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/index.d.ts +0 -3
- package/_types/getAccountsTransactionFulls/index.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/types.d.ts +0 -87
- package/_types/getAccountsTransactionFulls/types.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/withD.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/withD.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/withDA.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/withDA.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/withP.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/withP.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/withPD.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/withPD.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/withPDA.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/withPDA.d.ts.map +0 -1
- package/_types/getAccountsTransactionFulls/withUndefined.d.ts +0 -4
- package/_types/getAccountsTransactionFulls/withUndefined.d.ts.map +0 -1
- package/_types/getTransactionFull/getTransactionFull.d.ts +0 -19
- package/_types/getTransactionFull/getTransactionFull.d.ts.map +0 -1
- package/_types/getTransactionFull/getTransactionFullCustom.d.ts +0 -4
- package/_types/getTransactionFull/getTransactionFullCustom.d.ts.map +0 -1
- package/_types/getTransactionFull/index.d.ts +0 -3
- package/_types/getTransactionFull/index.d.ts.map +0 -1
- package/_types/getTransactionFull/types.d.ts +0 -63
- package/_types/getTransactionFull/types.d.ts.map +0 -1
- package/_types/getTransactionFull/withD.d.ts +0 -4
- package/_types/getTransactionFull/withD.d.ts.map +0 -1
- package/_types/getTransactionFull/withDA.d.ts +0 -4
- package/_types/getTransactionFull/withDA.d.ts.map +0 -1
- package/_types/getTransactionFull/withP.d.ts +0 -4
- package/_types/getTransactionFull/withP.d.ts.map +0 -1
- package/_types/getTransactionFull/withPD.d.ts +0 -4
- package/_types/getTransactionFull/withPD.d.ts.map +0 -1
- package/_types/getTransactionFull/withPDA.d.ts +0 -4
- package/_types/getTransactionFull/withPDA.d.ts.map +0 -1
- package/_types/getTransactionFull/withUndefined.d.ts +0 -4
- package/_types/getTransactionFull/withUndefined.d.ts.map +0 -1
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { toLowerHex } from '../types';
|
|
2
|
-
import { getDecodedTransactionsPrices } from './getDecodedTransactionsPrices';
|
|
3
|
-
import { getHashesAndInternalTxs } from './getHashesAndInternalTxs';
|
|
4
|
-
import { getTransactionDetails } from './getTransactionDetails';
|
|
5
|
-
import { getTransactionsApps } from './getTransactionsApps';
|
|
6
|
-
export const getAccountsTransactionFullsCustomWithPD = async ({ chain, addresses, fromBlock, toBlock, appDataSource, priceDataSource, fiat, decoder, onFetchHashes, onFetchTransaction, }, config) => {
|
|
7
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
8
|
-
// get transaction hash & internal transaction by explorer
|
|
9
|
-
const { hashes, internalTransactions } = await getHashesAndInternalTxs(chain, addresses, fromBlock, toBlock, config);
|
|
10
|
-
if (hashes.length === 0) {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
if (onFetchHashes !== undefined) {
|
|
14
|
-
onFetchHashes(hashes.map((hash) => toLowerHex(hash)));
|
|
15
|
-
}
|
|
16
|
-
// get transaction detail of hashes
|
|
17
|
-
const timeoutForGetTransactionDetail = timeoutTimestamp - Date.now();
|
|
18
|
-
const transactionDetails = await getTransactionDetails(chain, hashes, internalTransactions, onFetchTransaction, {
|
|
19
|
-
timeout: timeoutForGetTransactionDetail,
|
|
20
|
-
logger: config?.logger,
|
|
21
|
-
});
|
|
22
|
-
// decode
|
|
23
|
-
const { transactions: transactionsDecoded } = await decoder.decode({
|
|
24
|
-
chain,
|
|
25
|
-
transactions: transactionDetails,
|
|
26
|
-
}, {
|
|
27
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
28
|
-
logger: config?.logger,
|
|
29
|
-
});
|
|
30
|
-
const timeoutForDataSources = timeoutTimestamp - Date.now();
|
|
31
|
-
const [apps, prices] = await Promise.all([
|
|
32
|
-
// get apps
|
|
33
|
-
getTransactionsApps(appDataSource, transactionDetails, {
|
|
34
|
-
timeout: timeoutForDataSources,
|
|
35
|
-
logger: config?.logger,
|
|
36
|
-
}),
|
|
37
|
-
// get prices
|
|
38
|
-
getDecodedTransactionsPrices(chain, priceDataSource, fiat, transactionsDecoded, {
|
|
39
|
-
timeout: timeoutForDataSources,
|
|
40
|
-
logger: config?.logger,
|
|
41
|
-
}),
|
|
42
|
-
]);
|
|
43
|
-
return transactionsDecoded.map((transaction) => {
|
|
44
|
-
const lowerTo = transaction.to === null ? undefined : toLowerHex(transaction.to);
|
|
45
|
-
const app = apps.find(({ address }) => address === lowerTo)?.app;
|
|
46
|
-
const timestampMs = Number(transaction.block.timestamp) * 1000;
|
|
47
|
-
const nativeTokenPrice = prices
|
|
48
|
-
.filter(({ cryptoCurrencyId }) => cryptoCurrencyId === chain.nativeToken.currency.id)
|
|
49
|
-
.reduce((closestPrice, price) => Math.abs(price.timestamp - timestampMs) <
|
|
50
|
-
Math.abs(closestPrice.timestamp - timestampMs)
|
|
51
|
-
? price
|
|
52
|
-
: closestPrice);
|
|
53
|
-
return {
|
|
54
|
-
...transaction,
|
|
55
|
-
app,
|
|
56
|
-
nativeTokenPrice,
|
|
57
|
-
internalTransactions: transaction.internalTransactions.map((internalTransaction) => ({
|
|
58
|
-
...internalTransaction,
|
|
59
|
-
price: nativeTokenPrice,
|
|
60
|
-
})),
|
|
61
|
-
erc20Transfers: transaction.erc20Transfers.map((transfer) => ({
|
|
62
|
-
...transfer,
|
|
63
|
-
price: prices
|
|
64
|
-
.filter(({ cryptoCurrencyId }) => cryptoCurrencyId === transfer.token.currency.id)
|
|
65
|
-
.reduce((closestPrice, price) => closestPrice === undefined ||
|
|
66
|
-
Math.abs(price.timestamp - timestampMs) <
|
|
67
|
-
Math.abs(closestPrice.timestamp - timestampMs)
|
|
68
|
-
? price
|
|
69
|
-
: closestPrice, undefined),
|
|
70
|
-
})),
|
|
71
|
-
};
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=withPD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withPD.js","sourceRoot":"","sources":["../../getAccountsTransactionFulls/withPD.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { toLowerHex } from '../types';
|
|
2
|
-
import { getDecodedTransactionsPrices } from './getDecodedTransactionsPrices';
|
|
3
|
-
import { getHashesAndInternalTxs } from './getHashesAndInternalTxs';
|
|
4
|
-
import { getTransactionDetails } from './getTransactionDetails';
|
|
5
|
-
import { getTransactionsApps } from './getTransactionsApps';
|
|
6
|
-
export const getAccountsTransactionFullsCustomWithPDA = async ({ chain, addresses, fromBlock, toBlock, appDataSource, priceDataSource, fiat, decoder, analyzer, onFetchHashes, onFetchTransaction, }, config) => {
|
|
7
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
8
|
-
// get transaction hash & internal transaction by explorer
|
|
9
|
-
const { hashes, internalTransactions } = await getHashesAndInternalTxs(chain, addresses, fromBlock, toBlock, config);
|
|
10
|
-
if (hashes.length === 0) {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
if (onFetchHashes !== undefined) {
|
|
14
|
-
onFetchHashes(hashes.map((hash) => toLowerHex(hash)));
|
|
15
|
-
}
|
|
16
|
-
// get transaction detail of hashes
|
|
17
|
-
const timeoutForGetTransactionDetail = timeoutTimestamp - Date.now();
|
|
18
|
-
const transactionDetails = await getTransactionDetails(chain, hashes, internalTransactions, onFetchTransaction, {
|
|
19
|
-
timeout: timeoutForGetTransactionDetail,
|
|
20
|
-
logger: config?.logger,
|
|
21
|
-
});
|
|
22
|
-
// decode
|
|
23
|
-
const { transactions: transactionsDecoded } = await decoder.decode({
|
|
24
|
-
chain,
|
|
25
|
-
transactions: transactionDetails,
|
|
26
|
-
}, {
|
|
27
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
28
|
-
logger: config?.logger,
|
|
29
|
-
});
|
|
30
|
-
const timeoutForDataSources = timeoutTimestamp - Date.now();
|
|
31
|
-
const [apps, prices] = await Promise.all([
|
|
32
|
-
// get apps
|
|
33
|
-
getTransactionsApps(appDataSource, transactionDetails, {
|
|
34
|
-
timeout: timeoutForDataSources,
|
|
35
|
-
logger: config?.logger,
|
|
36
|
-
}),
|
|
37
|
-
// get prices
|
|
38
|
-
getDecodedTransactionsPrices(chain, priceDataSource, fiat, transactionsDecoded, {
|
|
39
|
-
timeout: timeoutForDataSources,
|
|
40
|
-
logger: config?.logger,
|
|
41
|
-
}),
|
|
42
|
-
]);
|
|
43
|
-
const transactionsForAnalyzer = transactionsDecoded.map((transaction) => {
|
|
44
|
-
const lowerTo = transaction.to === null ? undefined : toLowerHex(transaction.to);
|
|
45
|
-
const app = apps.find(({ address }) => address === lowerTo)?.app;
|
|
46
|
-
const timestampMs = Number(transaction.block.timestamp) * 1000;
|
|
47
|
-
const nativeTokenPrice = prices
|
|
48
|
-
.filter(({ cryptoCurrencyId }) => cryptoCurrencyId === chain.nativeToken.currency.id)
|
|
49
|
-
.reduce((closestPrice, price) => closestPrice === undefined ||
|
|
50
|
-
Math.abs(price.timestamp - timestampMs) <
|
|
51
|
-
Math.abs(closestPrice.timestamp - timestampMs)
|
|
52
|
-
? price
|
|
53
|
-
: closestPrice, undefined);
|
|
54
|
-
return {
|
|
55
|
-
...transaction,
|
|
56
|
-
app,
|
|
57
|
-
nativeTokenPrice,
|
|
58
|
-
internalTransactions: transaction.internalTransactions.map((internalTransaction) => ({
|
|
59
|
-
...internalTransaction,
|
|
60
|
-
price: nativeTokenPrice,
|
|
61
|
-
})),
|
|
62
|
-
erc20Transfers: transaction.erc20Transfers.map((transfer) => ({
|
|
63
|
-
...transfer,
|
|
64
|
-
price: prices
|
|
65
|
-
.filter(({ cryptoCurrencyId }) => cryptoCurrencyId === transfer.token.currency.id)
|
|
66
|
-
.reduce((closestPrice, price) => closestPrice === undefined ||
|
|
67
|
-
Math.abs(price.timestamp - timestampMs) <
|
|
68
|
-
Math.abs(closestPrice.timestamp - timestampMs)
|
|
69
|
-
? price
|
|
70
|
-
: closestPrice, undefined),
|
|
71
|
-
})),
|
|
72
|
-
};
|
|
73
|
-
});
|
|
74
|
-
// analyze
|
|
75
|
-
const timeoutForAnalyzer = timeoutTimestamp - Date.now();
|
|
76
|
-
const analyzedDatas = await Promise.all(transactionsForAnalyzer.map((transactionForAnalyzer) => analyzer.analyze({
|
|
77
|
-
chain,
|
|
78
|
-
transaction: transactionForAnalyzer,
|
|
79
|
-
accountAddresses: addresses,
|
|
80
|
-
}, {
|
|
81
|
-
timeout: timeoutForAnalyzer,
|
|
82
|
-
logger: config?.logger,
|
|
83
|
-
})));
|
|
84
|
-
return transactionsForAnalyzer.map((transactionForAnalyzer, index) => ({
|
|
85
|
-
...transactionForAnalyzer,
|
|
86
|
-
accountAddresses: addresses,
|
|
87
|
-
actions: analyzedDatas[index].actions,
|
|
88
|
-
accountActions: analyzedDatas[index].accountActions,
|
|
89
|
-
}));
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=withPDA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withPDA.js","sourceRoot":"","sources":["../../getAccountsTransactionFulls/withPDA.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { toLowerHex } from '../types';
|
|
2
|
-
import { getHashesAndInternalTxs } from './getHashesAndInternalTxs';
|
|
3
|
-
import { getTransactionDetails } from './getTransactionDetails';
|
|
4
|
-
export const getAccountsTransactionFullsCustomWithAllUndefined = async ({ chain, addresses, fromBlock, toBlock, appDataSource, onFetchHashes, onFetchTransaction, }, config) => {
|
|
5
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
6
|
-
// get transaction hash & internal transaction by explorer
|
|
7
|
-
const { hashes, internalTransactions } = await getHashesAndInternalTxs(chain, addresses, fromBlock, toBlock, config);
|
|
8
|
-
if (hashes.length === 0) {
|
|
9
|
-
return [];
|
|
10
|
-
}
|
|
11
|
-
if (onFetchHashes !== undefined) {
|
|
12
|
-
onFetchHashes(hashes.map((hash) => toLowerHex(hash)));
|
|
13
|
-
}
|
|
14
|
-
// get transaction detail of hashes
|
|
15
|
-
const timeoutForGetTransactionDetail = timeoutTimestamp - Date.now();
|
|
16
|
-
const transactionDetails = await getTransactionDetails(chain, hashes, internalTransactions, onFetchTransaction, {
|
|
17
|
-
timeout: timeoutForGetTransactionDetail,
|
|
18
|
-
logger: config?.logger,
|
|
19
|
-
});
|
|
20
|
-
// get app of to address
|
|
21
|
-
const toAddresses = [
|
|
22
|
-
...new Set(transactionDetails
|
|
23
|
-
.map(({ to }) => (to === null ? undefined : toLowerHex(to)))
|
|
24
|
-
.filter((toAddress) => toAddress !== undefined)),
|
|
25
|
-
];
|
|
26
|
-
const timeoutForGetApps = timeoutTimestamp - Date.now();
|
|
27
|
-
const apps = await Promise.all(toAddresses.map((toAddress) => appDataSource === undefined
|
|
28
|
-
? undefined
|
|
29
|
-
: appDataSource.getApp(chain.id, toAddress, {
|
|
30
|
-
timeout: timeoutForGetApps,
|
|
31
|
-
logger: config?.logger,
|
|
32
|
-
})));
|
|
33
|
-
return transactionDetails.map((transactionDetail) => {
|
|
34
|
-
const appIndex = transactionDetail.to === null
|
|
35
|
-
? -1
|
|
36
|
-
: toAddresses.indexOf(toLowerHex(transactionDetail.to));
|
|
37
|
-
const app = appIndex < 0 ? undefined : apps[appIndex];
|
|
38
|
-
return {
|
|
39
|
-
...transactionDetail,
|
|
40
|
-
app,
|
|
41
|
-
nativeTokenPrice: undefined,
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=withUndefined.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withUndefined.js","sourceRoot":"","sources":["../../getAccountsTransactionFulls/withUndefined.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { coingeckoCryptoCurrencyDataSource, usd } from '@0xtorch/core';
|
|
2
|
-
import { analyzer } from '../analyzer';
|
|
3
|
-
import { decoder } from '../decoder';
|
|
4
|
-
import { getTransactionFullCustom } from './getTransactionFullCustom';
|
|
5
|
-
export const getTransactionFull = async ({ chain, hash, fiat = usd }, config) => await getTransactionFullCustom({
|
|
6
|
-
chain,
|
|
7
|
-
hash,
|
|
8
|
-
appDataSource: undefined,
|
|
9
|
-
priceDataSource: coingeckoCryptoCurrencyDataSource,
|
|
10
|
-
fiat,
|
|
11
|
-
decoder,
|
|
12
|
-
analyzer,
|
|
13
|
-
}, config);
|
|
14
|
-
//# sourceMappingURL=getTransactionFull.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionFull.js","sourceRoot":"","sources":["../../getTransactionFull/getTransactionFull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAQrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,EAAgC,EACzD,MAAe,EACf,EAAE,CACF,MAAM,wBAAwB,CAC5B;IACE,KAAK;IACL,IAAI;IACJ,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,iCAAiC;IAClD,IAAI;IACJ,OAAO;IACP,QAAQ;CACT,EACD,MAAM,CACP,CAAA"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { getTransactionFullCustomWithD } from './withD';
|
|
2
|
-
import { getTransactionFullCustomWithDA } from './withDA';
|
|
3
|
-
import { getTransactionFullCustomWithP } from './withP';
|
|
4
|
-
import { getTransactionFullCustomWithPD } from './withPD';
|
|
5
|
-
import { getTransactionFullCustomWithPDA } from './withPDA';
|
|
6
|
-
import { getTransactionFullCustomWithAllUndefined } from './withUndefined';
|
|
7
|
-
export const getTransactionFullCustom = async (parameters, config) => {
|
|
8
|
-
if (isParametersAllUndefined(parameters)) {
|
|
9
|
-
const data = await getTransactionFullCustomWithAllUndefined(parameters, config);
|
|
10
|
-
return data;
|
|
11
|
-
}
|
|
12
|
-
if (isParametersP(parameters)) {
|
|
13
|
-
const data = await getTransactionFullCustomWithP(parameters, config);
|
|
14
|
-
return data;
|
|
15
|
-
}
|
|
16
|
-
if (isParametersPD(parameters)) {
|
|
17
|
-
const data = await getTransactionFullCustomWithPD(parameters, config);
|
|
18
|
-
return data;
|
|
19
|
-
}
|
|
20
|
-
if (isParametersPDA(parameters)) {
|
|
21
|
-
const data = await getTransactionFullCustomWithPDA(parameters, config);
|
|
22
|
-
return data;
|
|
23
|
-
}
|
|
24
|
-
if (isParametersD(parameters)) {
|
|
25
|
-
const data = await getTransactionFullCustomWithD(parameters, config);
|
|
26
|
-
return data;
|
|
27
|
-
}
|
|
28
|
-
if (isParametersDA(parameters)) {
|
|
29
|
-
const data = await getTransactionFullCustomWithDA(parameters, config);
|
|
30
|
-
return data;
|
|
31
|
-
}
|
|
32
|
-
throw new Error('not implemented');
|
|
33
|
-
};
|
|
34
|
-
const isParametersAllUndefined = (parameters) => parameters.priceDataSource === undefined && parameters.decoder === undefined;
|
|
35
|
-
const isParametersP = (parameters) => parameters.priceDataSource !== undefined && parameters.decoder === undefined;
|
|
36
|
-
const isParametersPD = (parameters) => parameters.priceDataSource !== undefined &&
|
|
37
|
-
parameters.decoder !== undefined &&
|
|
38
|
-
parameters.analyzer === undefined;
|
|
39
|
-
const isParametersPDA = (parameters) => parameters.priceDataSource !== undefined &&
|
|
40
|
-
parameters.decoder !== undefined &&
|
|
41
|
-
parameters.analyzer !== undefined;
|
|
42
|
-
const isParametersD = (parameters) => parameters.priceDataSource === undefined &&
|
|
43
|
-
parameters.decoder !== undefined &&
|
|
44
|
-
parameters.analyzer === undefined;
|
|
45
|
-
const isParametersDA = (parameters) => parameters.priceDataSource === undefined &&
|
|
46
|
-
parameters.decoder !== undefined &&
|
|
47
|
-
parameters.analyzer !== undefined;
|
|
48
|
-
//# sourceMappingURL=getTransactionFullCustom.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionFullCustom.js","sourceRoot":"","sources":["../../getTransactionFull/getTransactionFullCustom.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAA;AAE1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAG3C,UAAa,EACb,MAAe,EACiC,EAAE;IAClD,IAAI,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,wCAAwC,CACzD,UAAU,EACV,MAAM,CACP,CAAA;QACD,OAAO,IAA6C,CAAA;IACtD,CAAC;IACD,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACpE,OAAO,IAA6C,CAAA;IACtD,CAAC;IACD,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,8BAA8B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrE,OAAO,IAA6C,CAAA;IACtD,CAAC;IACD,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,+BAA+B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACtE,OAAO,IAA6C,CAAA;IACtD,CAAC;IACD,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACpE,OAAO,IAA6C,CAAA;IACtD,CAAC;IACD,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,8BAA8B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrE,OAAO,IAA6C,CAAA;IACtD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAC/B,UAA8C,EACgB,EAAE,CAChE,UAAU,CAAC,eAAe,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,CAAA;AAE9E,MAAM,aAAa,GAAG,CACpB,UAA8C,EACK,EAAE,CACrD,UAAU,CAAC,eAAe,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,CAAA;AAE9E,MAAM,cAAc,GAAG,CACrB,UAA8C,EACM,EAAE,CACtD,UAAU,CAAC,eAAe,KAAK,SAAS;IACxC,UAAU,CAAC,OAAO,KAAK,SAAS;IAChC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAA;AAEnC,MAAM,eAAe,GAAG,CACtB,UAA8C,EACO,EAAE,CACvD,UAAU,CAAC,eAAe,KAAK,SAAS;IACxC,UAAU,CAAC,OAAO,KAAK,SAAS;IAChC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAA;AAEnC,MAAM,aAAa,GAAG,CACpB,UAA8C,EACK,EAAE,CACrD,UAAU,CAAC,eAAe,KAAK,SAAS;IACxC,UAAU,CAAC,OAAO,KAAK,SAAS;IAChC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAA;AAEnC,MAAM,cAAc,GAAG,CACrB,UAA8C,EACM,EAAE,CACtD,UAAU,CAAC,eAAe,KAAK,SAAS;IACxC,UAAU,CAAC,OAAO,KAAK,SAAS;IAChC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../getTransactionFull/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../getTransactionFull/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { getTransactionDetail } from '../getTransactionDetail';
|
|
2
|
-
import { toLowerHex } from '../types';
|
|
3
|
-
export const getTransactionFullCustomWithD = async (parameters, config) => {
|
|
4
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
5
|
-
const { chain, hash, appDataSource, decoder } = parameters;
|
|
6
|
-
// get transaction detail
|
|
7
|
-
const transactionDetail = await getTransactionDetail({ chain, hash }, config);
|
|
8
|
-
if (transactionDetail === undefined) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
// decode
|
|
12
|
-
const decodedData = await decoder.decode({
|
|
13
|
-
chain,
|
|
14
|
-
transactions: [transactionDetail],
|
|
15
|
-
}, {
|
|
16
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
17
|
-
logger: config?.logger,
|
|
18
|
-
});
|
|
19
|
-
const transactionDecoded = decodedData.transactions[0];
|
|
20
|
-
// get app from data source
|
|
21
|
-
const app = appDataSource === undefined || transactionDecoded.to === null
|
|
22
|
-
? undefined
|
|
23
|
-
: await appDataSource.getApp(chain.id, toLowerHex(transactionDecoded.to), {
|
|
24
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
25
|
-
logger: config?.logger,
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
...transactionDecoded,
|
|
29
|
-
app,
|
|
30
|
-
nativeTokenPrice: undefined,
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=withD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withD.js","sourceRoot":"","sources":["../../getTransactionFull/withD.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAMrC,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,UAA+C,EAC/C,MAAe,EAGf,EAAE;IACF,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE1D,yBAAyB;IACzB,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IAC7E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS;IACT,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CACtC;QACE,KAAK;QACL,YAAY,EAAE,CAAC,iBAAiB,CAAC;KAClC,EACD;QACE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACtC,MAAM,EAAE,MAAM,EAAE,MAAM;KACvB,CACF,CAAA;IACD,MAAM,kBAAkB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAEtD,2BAA2B;IAC3B,MAAM,GAAG,GACP,aAAa,KAAK,SAAS,IAAI,kBAAkB,CAAC,EAAE,KAAK,IAAI;QAC3D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CACxB,KAAK,CAAC,EAAE,EACR,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,EACjC;YACE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;YACtC,MAAM,EAAE,MAAM,EAAE,MAAM;SACvB,CACF,CAAA;IAEP,OAAO;QACL,GAAG,kBAAkB;QACrB,GAAG;QACH,gBAAgB,EAAE,SAAS;KAC5B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { getTransactionDetail } from '../getTransactionDetail';
|
|
2
|
-
import { toLowerHex } from '../types';
|
|
3
|
-
export const getTransactionFullCustomWithDA = async (parameters, config) => {
|
|
4
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
5
|
-
const { chain, hash, appDataSource, decoder, analyzer } = parameters;
|
|
6
|
-
// get transaction detail
|
|
7
|
-
const transactionDetail = await getTransactionDetail({ chain, hash }, config);
|
|
8
|
-
if (transactionDetail === undefined) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
// decode
|
|
12
|
-
const decodedData = await decoder.decode({
|
|
13
|
-
chain,
|
|
14
|
-
transactions: [transactionDetail],
|
|
15
|
-
}, {
|
|
16
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
17
|
-
logger: config?.logger,
|
|
18
|
-
});
|
|
19
|
-
const transactionDecoded = decodedData.transactions[0];
|
|
20
|
-
// get app from data sourc
|
|
21
|
-
const app = appDataSource === undefined || transactionDecoded.to === null
|
|
22
|
-
? undefined
|
|
23
|
-
: await appDataSource.getApp(chain.id, toLowerHex(transactionDecoded.to), {
|
|
24
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
25
|
-
logger: config?.logger,
|
|
26
|
-
});
|
|
27
|
-
const transactionForAnalyzer = {
|
|
28
|
-
...transactionDecoded,
|
|
29
|
-
app,
|
|
30
|
-
nativeTokenPrice: undefined,
|
|
31
|
-
};
|
|
32
|
-
// analyze
|
|
33
|
-
const { actions, accountActions } = await analyzer.analyze({
|
|
34
|
-
chain,
|
|
35
|
-
transaction: transactionForAnalyzer,
|
|
36
|
-
accountAddresses: [],
|
|
37
|
-
}, {
|
|
38
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
39
|
-
logger: config?.logger,
|
|
40
|
-
});
|
|
41
|
-
return {
|
|
42
|
-
...transactionForAnalyzer,
|
|
43
|
-
accountAddresses: [],
|
|
44
|
-
actions,
|
|
45
|
-
accountActions,
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=withDA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withDA.js","sourceRoot":"","sources":["../../getTransactionFull/withDA.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAMrC,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,UAAgD,EAChD,MAAe,EAGf,EAAE;IACF,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAEpE,yBAAyB;IACzB,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IAC7E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS;IACT,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CACtC;QACE,KAAK;QACL,YAAY,EAAE,CAAC,iBAAiB,CAAC;KAClC,EACD;QACE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACtC,MAAM,EAAE,MAAM,EAAE,MAAM;KACvB,CACF,CAAA;IACD,MAAM,kBAAkB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAEtD,0BAA0B;IAC1B,MAAM,GAAG,GACP,aAAa,KAAK,SAAS,IAAI,kBAAkB,CAAC,EAAE,KAAK,IAAI;QAC3D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CACxB,KAAK,CAAC,EAAE,EACR,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,EACjC;YACE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;YACtC,MAAM,EAAE,MAAM,EAAE,MAAM;SACvB,CACF,CAAA;IAEP,MAAM,sBAAsB,GAAG;QAC7B,GAAG,kBAAkB;QACrB,GAAG;QACH,gBAAgB,EAAE,SAAS;KAC5B,CAAA;IAED,UAAU;IACV,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,CACxD;QACE,KAAK;QACL,WAAW,EAAE,sBAAsB;QACnC,gBAAgB,EAAE,EAAE;KACrB,EACD;QACE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACtC,MAAM,EAAE,MAAM,EAAE,MAAM;KACvB,CACF,CAAA;IAED,OAAO;QACL,GAAG,sBAAsB;QACzB,gBAAgB,EAAE,EAAE;QACpB,OAAO;QACP,cAAc;KACf,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { getTransactionDetail } from '../getTransactionDetail';
|
|
2
|
-
import { toLowerHex } from '../types';
|
|
3
|
-
export const getTransactionFullCustomWithP = async (parameters, config) => {
|
|
4
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
5
|
-
const { chain, hash, appDataSource, priceDataSource, fiat } = parameters;
|
|
6
|
-
// get transaction detail
|
|
7
|
-
const transactionDetail = await getTransactionDetail({ chain, hash }, config);
|
|
8
|
-
if (transactionDetail === undefined) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
const timestampMs = Number(transactionDetail.block.timestamp) * 1000;
|
|
12
|
-
const from = timestampMs - 1000 * 60 * 60;
|
|
13
|
-
const to = timestampMs + 1000 * 60 * 60;
|
|
14
|
-
const timeoutForDataSources = timeoutTimestamp - Date.now();
|
|
15
|
-
const [app, prices] = await Promise.all([
|
|
16
|
-
// get app
|
|
17
|
-
appDataSource === undefined || transactionDetail.to === null
|
|
18
|
-
? undefined
|
|
19
|
-
: appDataSource.getApp(chain.id, toLowerHex(transactionDetail.to), {
|
|
20
|
-
timeout: timeoutForDataSources,
|
|
21
|
-
logger: config?.logger,
|
|
22
|
-
}),
|
|
23
|
-
// get native token prices
|
|
24
|
-
priceDataSource.getHistoricalPrices({
|
|
25
|
-
targetCurrencies: [chain.nativeToken.currency],
|
|
26
|
-
vsCurrency: fiat,
|
|
27
|
-
from,
|
|
28
|
-
to,
|
|
29
|
-
}, {
|
|
30
|
-
timeout: timeoutForDataSources,
|
|
31
|
-
logger: config?.logger,
|
|
32
|
-
}),
|
|
33
|
-
]);
|
|
34
|
-
const closestPrice = prices.reduce((closestPrice, price) => closestPrice === undefined ||
|
|
35
|
-
Math.abs(price.timestamp - timestampMs) <
|
|
36
|
-
Math.abs(closestPrice.timestamp - timestampMs)
|
|
37
|
-
? price
|
|
38
|
-
: closestPrice, undefined);
|
|
39
|
-
return {
|
|
40
|
-
...transactionDetail,
|
|
41
|
-
app,
|
|
42
|
-
nativeTokenPrice: closestPrice,
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=withP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withP.js","sourceRoot":"","sources":["../../getTransactionFull/withP.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAMrC,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,UAA+C,EAC/C,MAAe,EAGf,EAAE;IACF,MAAM,gBAAgB,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAExE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAExE,yBAAyB;IACzB,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IAC7E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACpE,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAA;IACzC,MAAM,EAAE,GAAG,WAAW,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAA;IAEvC,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC3D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,UAAU;QACV,aAAa,KAAK,SAAS,IAAI,iBAAiB,CAAC,EAAE,KAAK,IAAI;YAC1D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;gBAC/D,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,MAAM,EAAE,MAAM;aACvB,CAAC;QACN,0BAA0B;QAC1B,eAAe,CAAC,mBAAmB,CACjC;YACE,gBAAgB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC9C,UAAU,EAAE,IAAI;YAChB,IAAI;YACJ,EAAE;SACH,EACD;YACE,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,MAAM,EAAE,MAAM;SACvB,CACF;KACF,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,CAAC,YAA6C,EAAE,KAAK,EAAE,EAAE,CACvD,YAAY,KAAK,SAAS;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,GAAG,WAAW,CAAC;QAC9C,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,YAAY,EAClB,SAAS,CACV,CAAA;IAED,OAAO;QACL,GAAG,iBAAiB;QACpB,GAAG;QACH,gBAAgB,EAAE,YAAY;KAC/B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { getTransactionDetail } from '../getTransactionDetail';
|
|
2
|
-
import { toLowerHex } from '../types';
|
|
3
|
-
export const getTransactionFullCustomWithPD = async (parameters, config) => {
|
|
4
|
-
const timeoutTimestamp = Date.now() + (config?.timeout === undefined ? 60_000 : config.timeout);
|
|
5
|
-
const { chain, hash, appDataSource, priceDataSource, fiat, decoder } = parameters;
|
|
6
|
-
// get transaction detail
|
|
7
|
-
const transactionDetail = await getTransactionDetail({ chain, hash }, config);
|
|
8
|
-
if (transactionDetail === undefined) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
// decode
|
|
12
|
-
const decodedData = await decoder.decode({
|
|
13
|
-
chain,
|
|
14
|
-
transactions: [transactionDetail],
|
|
15
|
-
}, {
|
|
16
|
-
timeout: timeoutTimestamp - Date.now(),
|
|
17
|
-
logger: config?.logger,
|
|
18
|
-
});
|
|
19
|
-
const transactionDecoded = decodedData.transactions[0];
|
|
20
|
-
const mut_currencies = [chain.nativeToken.currency];
|
|
21
|
-
for (const { token } of transactionDecoded.erc20Transfers) {
|
|
22
|
-
if (token.currency.market.coingeckoId === undefined) {
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
if (mut_currencies.some((currency) => currency.id === token.currency.id)) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
mut_currencies.push(token.currency);
|
|
29
|
-
}
|
|
30
|
-
const currencies = mut_currencies;
|
|
31
|
-
const timestampMs = Number(transactionDecoded.block.timestamp) * 1000;
|
|
32
|
-
const from = timestampMs - 1000 * 60 * 60;
|
|
33
|
-
const to = timestampMs + 1000 * 60 * 60;
|
|
34
|
-
const timeoutForDataSources = timeoutTimestamp - Date.now();
|
|
35
|
-
const [app, prices] = await Promise.all([
|
|
36
|
-
// get app
|
|
37
|
-
appDataSource === undefined || transactionDecoded.to === null
|
|
38
|
-
? undefined
|
|
39
|
-
: appDataSource.getApp(chain.id, toLowerHex(transactionDecoded.to), {
|
|
40
|
-
timeout: timeoutForDataSources,
|
|
41
|
-
logger: config?.logger,
|
|
42
|
-
}),
|
|
43
|
-
// get native token prices
|
|
44
|
-
priceDataSource.getHistoricalPrices({
|
|
45
|
-
targetCurrencies: currencies,
|
|
46
|
-
vsCurrency: fiat,
|
|
47
|
-
from,
|
|
48
|
-
to,
|
|
49
|
-
}, {
|
|
50
|
-
timeout: timeoutForDataSources,
|
|
51
|
-
logger: config?.logger,
|
|
52
|
-
}),
|
|
53
|
-
]);
|
|
54
|
-
const closestPrices = currencies.map((currency) => prices
|
|
55
|
-
.filter((price) => price.cryptoCurrencyId === currency.id)
|
|
56
|
-
.reduce((closestPrice, price) => closestPrice === undefined ||
|
|
57
|
-
Math.abs(price.timestamp - timestampMs) <
|
|
58
|
-
Math.abs(closestPrice.timestamp - timestampMs)
|
|
59
|
-
? price
|
|
60
|
-
: closestPrice, undefined));
|
|
61
|
-
const nativeTokenPrice = closestPrices.find((price) => price !== undefined &&
|
|
62
|
-
price.cryptoCurrencyId === chain.nativeToken.currency.id);
|
|
63
|
-
return {
|
|
64
|
-
...transactionDecoded,
|
|
65
|
-
app,
|
|
66
|
-
nativeTokenPrice,
|
|
67
|
-
internalTransactions: transactionDecoded.internalTransactions.map((internalTransaction) => ({
|
|
68
|
-
...internalTransaction,
|
|
69
|
-
price: nativeTokenPrice,
|
|
70
|
-
})),
|
|
71
|
-
erc20Transfers: transactionDecoded.erc20Transfers.map((transfer) => ({
|
|
72
|
-
...transfer,
|
|
73
|
-
price: closestPrices.find((price) => price !== undefined &&
|
|
74
|
-
price.cryptoCurrencyId === transfer.token.currency.id),
|
|
75
|
-
})),
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=withPD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withPD.js","sourceRoot":"","sources":["../../getTransactionFull/withPD.ts"],"names":[],"mappings":"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"}
|