@fileverse-dev/formulajs 4.4.11-mod-38-patch-004 → 4.4.11-mod-40
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/browser/formula.js +354 -434
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +28 -128
- package/lib/esm/crypto-constants.mjs +8 -102
- package/lib/esm/index.mjs +28 -125
- package/package.json +1 -2
- package/types/cjs/index.d.cts +14 -21
- package/types/esm/index.d.mts +14 -21
package/lib/cjs/index.cjs
CHANGED
|
@@ -5618,35 +5618,6 @@ function ATANH(number) {
|
|
|
5618
5618
|
return result
|
|
5619
5619
|
}
|
|
5620
5620
|
|
|
5621
|
-
/**
|
|
5622
|
-
* Converts a number into a text representation with the given radix (base).
|
|
5623
|
-
*
|
|
5624
|
-
* Category: Math and trigonometry
|
|
5625
|
-
*
|
|
5626
|
-
* @param {*} number The number that you want to convert. Must be an integer greater than or equal to 0 and less than 2^53.
|
|
5627
|
-
* @param {*} radix The base radix that you want to convert the number into. Must be an integer greater than or equal to 2 and less than or equal to 36.
|
|
5628
|
-
* @param {*} min_length Optional. The minimum length of the returned string. Must be an integer greater than or equal to 0.
|
|
5629
|
-
* @returns
|
|
5630
|
-
*/
|
|
5631
|
-
function BASE(number, radix, min_length) {
|
|
5632
|
-
number = parseNumber(number);
|
|
5633
|
-
radix = parseNumber(radix);
|
|
5634
|
-
min_length = parseNumber(min_length);
|
|
5635
|
-
const anyError$1 = anyError(number, radix, min_length);
|
|
5636
|
-
|
|
5637
|
-
if (anyError$1) {
|
|
5638
|
-
return anyError$1
|
|
5639
|
-
}
|
|
5640
|
-
|
|
5641
|
-
if (radix === 0) {
|
|
5642
|
-
return num
|
|
5643
|
-
}
|
|
5644
|
-
|
|
5645
|
-
const result = number.toString(radix);
|
|
5646
|
-
|
|
5647
|
-
return new Array(Math.max(min_length + 1 - result.length, 0)).join('0') + result
|
|
5648
|
-
}
|
|
5649
|
-
|
|
5650
5621
|
/**
|
|
5651
5622
|
* Rounds a number to the nearest integer or to the nearest multiple of significance.
|
|
5652
5623
|
*
|
|
@@ -13243,7 +13214,7 @@ if (scanKey === SERVICE_API_KEY.Gnosisscan) chainId = 'gnosis';
|
|
|
13243
13214
|
}
|
|
13244
13215
|
}
|
|
13245
13216
|
|
|
13246
|
-
async function FIREFLY() {
|
|
13217
|
+
async function FIREFLY(platform, contentType, identifier, start = 0, end = 10) {
|
|
13247
13218
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13248
13219
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13249
13220
|
|
|
@@ -13262,9 +13233,6 @@ async function FIREFLY() {
|
|
|
13262
13233
|
}
|
|
13263
13234
|
};
|
|
13264
13235
|
|
|
13265
|
-
|
|
13266
|
-
const [platform, contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
|
|
13267
|
-
|
|
13268
13236
|
const platformType = typeMap[platform]?.[contentType];
|
|
13269
13237
|
if (!platformType) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
|
|
13270
13238
|
|
|
@@ -13308,21 +13276,7 @@ async function FIREFLY() {
|
|
|
13308
13276
|
|
|
13309
13277
|
|
|
13310
13278
|
|
|
13311
|
-
function BLOCKSCOUT
|
|
13312
|
-
console.log("HUMBLE");
|
|
13313
|
-
let args = argsToArray(arguments);
|
|
13314
|
-
|
|
13315
|
-
return JSON.stringify({
|
|
13316
|
-
args,
|
|
13317
|
-
name: "_BLOCKSCOUT"
|
|
13318
|
-
})
|
|
13319
|
-
}
|
|
13320
|
-
|
|
13321
|
-
|
|
13322
|
-
|
|
13323
|
-
|
|
13324
|
-
|
|
13325
|
-
async function _BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, page, offset) {
|
|
13279
|
+
async function BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, page, offset) {
|
|
13326
13280
|
if (!chain) {
|
|
13327
13281
|
chain = 'ethereum';
|
|
13328
13282
|
}
|
|
@@ -13331,8 +13285,6 @@ async function _BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, p
|
|
|
13331
13285
|
return 'TYPE_MISSING'
|
|
13332
13286
|
}
|
|
13333
13287
|
|
|
13334
|
-
// let [] = utils.argsToArray(arguments)
|
|
13335
|
-
|
|
13336
13288
|
if (!startTimestamp) {
|
|
13337
13289
|
const currentTimestamp = Date.now();
|
|
13338
13290
|
startTimestamp = currentTimestamp - 30 * 24 * 60 * 60 * 1000;
|
|
@@ -13409,23 +13361,8 @@ async function _BLOCKSCOUT(address, type, chain, startTimestamp, endTimestamp, p
|
|
|
13409
13361
|
return 'ERROR IN FETCHING'
|
|
13410
13362
|
}
|
|
13411
13363
|
}
|
|
13412
|
-
|
|
13413
|
-
|
|
13414
|
-
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
13415
|
-
return handleScanRequest({
|
|
13416
|
-
scanKey: SERVICE_API_KEY.Basescan,
|
|
13417
|
-
baseUrl: 'https://api.basescan.org/api',
|
|
13418
|
-
type,
|
|
13419
|
-
chain,
|
|
13420
|
-
address,
|
|
13421
|
-
startDate,
|
|
13422
|
-
endDate,
|
|
13423
|
-
page,
|
|
13424
|
-
offset:limit
|
|
13425
|
-
});
|
|
13426
|
-
}
|
|
13427
|
-
async function GNOSISSCAN() {
|
|
13428
|
-
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
13364
|
+
async function GNOSIS(...args) {
|
|
13365
|
+
const [type, chain, address, startDate, endDate, page, limit] = args;
|
|
13429
13366
|
return handleScanRequest({
|
|
13430
13367
|
scanKey: SERVICE_API_KEY.Gnosisscan,
|
|
13431
13368
|
baseUrl: 'https://api.gnosisscan.io/api',
|
|
@@ -13434,24 +13371,22 @@ async function GNOSISSCAN() {
|
|
|
13434
13371
|
address,
|
|
13435
13372
|
startDate,
|
|
13436
13373
|
endDate,
|
|
13437
|
-
page,
|
|
13374
|
+
page,
|
|
13438
13375
|
offset:limit
|
|
13439
13376
|
});
|
|
13440
13377
|
}
|
|
13441
13378
|
|
|
13442
|
-
async function NEYNAR(
|
|
13443
|
-
|
|
13379
|
+
async function NEYNAR(
|
|
13380
|
+
fid,
|
|
13381
|
+
viewerFid,
|
|
13382
|
+
sortType,
|
|
13383
|
+
limit,
|
|
13384
|
+
cursor
|
|
13444
13385
|
) {
|
|
13445
13386
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Neynar);
|
|
13446
13387
|
if (!API_KEY) return `${SERVICE_API_KEY.Neynar}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13447
13388
|
|
|
13448
|
-
|
|
13449
|
-
fid,
|
|
13450
|
-
viewerFid,
|
|
13451
|
-
sortType,
|
|
13452
|
-
limit,
|
|
13453
|
-
cursor
|
|
13454
|
-
] = argsToArray(arguments);
|
|
13389
|
+
|
|
13455
13390
|
const url = new URL('https://api.neynar.com/v2/farcaster/followers');
|
|
13456
13391
|
url.searchParams.set('fid', fid.toString());
|
|
13457
13392
|
url.searchParams.set('sort_type', sortType);
|
|
@@ -13482,22 +13417,18 @@ const [
|
|
|
13482
13417
|
return ERROR_MESSAGES_FLAG.DEFAULT;
|
|
13483
13418
|
}
|
|
13484
13419
|
}
|
|
13485
|
-
async function GNOSISPAY(
|
|
13486
|
-
|
|
13487
|
-
|
|
13420
|
+
async function GNOSISPAY({
|
|
13421
|
+
cardId,
|
|
13422
|
+
startDate,
|
|
13423
|
+
endDate,
|
|
13424
|
+
limit = 20,
|
|
13425
|
+
offset = 0,
|
|
13426
|
+
}) {
|
|
13488
13427
|
const apiKeyKey = SERVICE_API_KEY.GnosisPay;
|
|
13489
13428
|
const API_KEY = window.localStorage.getItem(apiKeyKey);
|
|
13490
13429
|
if (!API_KEY) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13491
13430
|
if (!cardId) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
13492
13431
|
|
|
13493
|
-
|
|
13494
|
-
|
|
13495
|
-
const [ cardId,
|
|
13496
|
-
startDate,
|
|
13497
|
-
endDate,
|
|
13498
|
-
limit = 20,
|
|
13499
|
-
offset = 0] = argsToArray(arguments);
|
|
13500
|
-
|
|
13501
13432
|
const url = new URL(`https://api.gnosispay.com/cards/${cardId}/transactions`);
|
|
13502
13433
|
url.searchParams.set('limit', limit.toString());
|
|
13503
13434
|
url.searchParams.set('offset', offset.toString());
|
|
@@ -13546,8 +13477,8 @@ async function GNOSISPAY(
|
|
|
13546
13477
|
|
|
13547
13478
|
|
|
13548
13479
|
|
|
13549
|
-
async function ETHERSCAN() {
|
|
13550
|
-
const [type, chain, address, startDate, endDate, page, limit] =
|
|
13480
|
+
async function ETHERSCAN(...args) {
|
|
13481
|
+
const [type, chain, address, startDate, endDate, page, limit] = args;
|
|
13551
13482
|
return handleScanRequest({
|
|
13552
13483
|
scanKey: SERVICE_API_KEY.Etherscan,
|
|
13553
13484
|
baseUrl: 'https://api.etherscan.io/v2/api',
|
|
@@ -13556,13 +13487,13 @@ async function ETHERSCAN() {
|
|
|
13556
13487
|
address,
|
|
13557
13488
|
startDate,
|
|
13558
13489
|
endDate,
|
|
13559
|
-
page,
|
|
13490
|
+
page,
|
|
13560
13491
|
offset:limit
|
|
13561
13492
|
});
|
|
13562
13493
|
}
|
|
13563
13494
|
|
|
13564
13495
|
|
|
13565
|
-
async function COINGECKO() {
|
|
13496
|
+
async function COINGECKO(category, param1, param2, page = 1, perPage = 2) {
|
|
13566
13497
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Coingecko);
|
|
13567
13498
|
if (!API_KEY) return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13568
13499
|
|
|
@@ -13572,7 +13503,6 @@ async function COINGECKO() {
|
|
|
13572
13503
|
};
|
|
13573
13504
|
|
|
13574
13505
|
let url = '';
|
|
13575
|
-
const [category, param1, param2, page = 1, perPage = 2 ] = argsToArray(arguments);
|
|
13576
13506
|
const lowerCategory = (category || '').toLowerCase();
|
|
13577
13507
|
|
|
13578
13508
|
switch (lowerCategory) {
|
|
@@ -13678,11 +13608,7 @@ async function COINGECKO() {
|
|
|
13678
13608
|
|
|
13679
13609
|
|
|
13680
13610
|
|
|
13681
|
-
async function EOA(
|
|
13682
|
-
|
|
13683
|
-
|
|
13684
|
-
|
|
13685
|
-
const [
|
|
13611
|
+
async function EOA(
|
|
13686
13612
|
addresses,
|
|
13687
13613
|
category,
|
|
13688
13614
|
chains,
|
|
@@ -13690,29 +13616,11 @@ async function EOA() {
|
|
|
13690
13616
|
endTime,
|
|
13691
13617
|
page = 1,
|
|
13692
13618
|
offset = 10,
|
|
13693
|
-
|
|
13694
|
-
|
|
13695
|
-
const someError = anyError(addresses, category, chains, startTime, endTime, page, offset);
|
|
13696
|
-
|
|
13697
|
-
if (someError) {
|
|
13698
|
-
return someError
|
|
13699
|
-
}
|
|
13700
|
-
|
|
13701
|
-
|
|
13619
|
+
) {
|
|
13702
13620
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
|
|
13703
13621
|
if (!API_KEY) return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13704
13622
|
|
|
13705
|
-
|
|
13706
|
-
|
|
13707
|
-
let INPUTS;
|
|
13708
|
-
|
|
13709
|
-
if(typeof addresses === 'string'){
|
|
13710
|
-
INPUTS = addresses.split(",").map(a => a.trim()).filter(Boolean);
|
|
13711
|
-
} else if (typeof addresses === 'object'){
|
|
13712
|
-
INPUTS = addresses;
|
|
13713
|
-
}
|
|
13714
|
-
|
|
13715
|
-
|
|
13623
|
+
const INPUTS = addresses.split(",").map(a => a.trim()).filter(Boolean);
|
|
13716
13624
|
const CHAINS = chains.split(",").map(c => c.trim()).filter(Boolean);
|
|
13717
13625
|
const out = [];
|
|
13718
13626
|
|
|
@@ -13824,12 +13732,7 @@ async function FLVURL(token, vs_currencies) {
|
|
|
13824
13732
|
});
|
|
13825
13733
|
}
|
|
13826
13734
|
|
|
13827
|
-
async function SAFE() {
|
|
13828
|
-
|
|
13829
|
-
|
|
13830
|
-
|
|
13831
|
-
|
|
13832
|
-
let [address, utility, chain, limit, offset] = argsToArray(arguments);
|
|
13735
|
+
async function SAFE(address, utility, chain, limit, offset) {
|
|
13833
13736
|
|
|
13834
13737
|
if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
|
|
13835
13738
|
if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
|
|
@@ -13892,8 +13795,6 @@ exports.AVERAGE = AVERAGE;
|
|
|
13892
13795
|
exports.AVERAGEA = AVERAGEA;
|
|
13893
13796
|
exports.AVERAGEIF = AVERAGEIF;
|
|
13894
13797
|
exports.AVERAGEIFS = AVERAGEIFS;
|
|
13895
|
-
exports.BASE = BASE;
|
|
13896
|
-
exports.BASESCAN = BASESCAN;
|
|
13897
13798
|
exports.BESSELI = BESSELI;
|
|
13898
13799
|
exports.BESSELJ = BESSELJ;
|
|
13899
13800
|
exports.BESSELK = BESSELK;
|
|
@@ -14032,8 +13933,8 @@ exports.GAUSS = GAUSS;
|
|
|
14032
13933
|
exports.GCD = GCD;
|
|
14033
13934
|
exports.GEOMEAN = GEOMEAN;
|
|
14034
13935
|
exports.GESTEP = GESTEP;
|
|
13936
|
+
exports.GNOSIS = GNOSIS;
|
|
14035
13937
|
exports.GNOSISPAY = GNOSISPAY;
|
|
14036
|
-
exports.GNOSISSCAN = GNOSISSCAN;
|
|
14037
13938
|
exports.GROWTH = GROWTH;
|
|
14038
13939
|
exports.HARMEAN = HARMEAN;
|
|
14039
13940
|
exports.HEX2BIN = HEX2BIN;
|
|
@@ -14279,5 +14180,4 @@ exports.YEAR = YEAR;
|
|
|
14279
14180
|
exports.YEARFRAC = YEARFRAC;
|
|
14280
14181
|
exports.Z = Z;
|
|
14281
14182
|
exports.ZTEST = ZTEST;
|
|
14282
|
-
exports._BLOCKSCOUT = _BLOCKSCOUT;
|
|
14283
14183
|
exports.utils = utils;
|
|
@@ -140,7 +140,7 @@ var FUNCTION_LOCALE = [
|
|
|
140
140
|
LOGO: "https://2064089921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FevP3L0cUvP9xmRefuzCm%2Fuploads%2F2K1pvFsE7JAfcI3LAxYl%2Fbase-logo-in-blue.webp?alt=media&token=32c80439-dbdc-432a-b199-220e012efc3c",
|
|
141
141
|
BRAND_COLOR: "#f1f5ff",
|
|
142
142
|
BRAND_SECONDARY_COLOR: "#2752ff",
|
|
143
|
-
n: "
|
|
143
|
+
n: "BASE",
|
|
144
144
|
t: 20,
|
|
145
145
|
d: "Fetches Base network data via Basescan: native txns, ERC-20 transfers, ERC-721 transfers, and gas metrics.",
|
|
146
146
|
a: "Pulls on-chain activity for Base (chainid 8453) using Basescan\u2019s API \u2014 supports full tx history, token/NFT transfers, gas prices, and pagination.",
|
|
@@ -201,7 +201,7 @@ var FUNCTION_LOCALE = [
|
|
|
201
201
|
LOGO: "https://gnosisscan.io/assets/generic/html/favicon-light.ico",
|
|
202
202
|
BRAND_COLOR: "#f6f7f6",
|
|
203
203
|
BRAND_SECONDARY_COLOR: "#133629",
|
|
204
|
-
n: "
|
|
204
|
+
n: "GNOSIS",
|
|
205
205
|
t: 20,
|
|
206
206
|
d: "Fetches Gnosis Chain data via Gnosisscan: native transactions, ERC-20 token transfers, ERC-721 NFT transfers, and gas metrics.",
|
|
207
207
|
a: "Queries Gnosis Chain (chainid 100) through Gnosisscan\u2019s API to return transaction history, token/NFT transfers, or gas price information. Supports pagination and time-based filtering for transaction types.",
|
|
@@ -345,8 +345,8 @@ var FUNCTION_LOCALE = [
|
|
|
345
345
|
},
|
|
346
346
|
{
|
|
347
347
|
name: "address",
|
|
348
|
-
detail: "Wallet address to query",
|
|
349
|
-
example: `"
|
|
348
|
+
detail: "Wallet address / Ens name to query",
|
|
349
|
+
example: `"vitalik.eth"`,
|
|
350
350
|
require: "o",
|
|
351
351
|
type: "string"
|
|
352
352
|
},
|
|
@@ -445,16 +445,16 @@ var FUNCTION_LOCALE = [
|
|
|
445
445
|
},
|
|
446
446
|
{
|
|
447
447
|
name: "param1",
|
|
448
|
-
detail: `For "price": coin ID(s).
|
|
449
|
-
For "market": one of ["eth", "base", "sol", "gnosis", "hyperliquid", "bitcoin", "pump", "aiagents", "meme"].
|
|
450
|
-
For "stablecoins": one of ["all", "crypto-backed-stablecoin", "yield-bearing-stablecoins", etc.].
|
|
448
|
+
detail: `For "price": coin ID(s).
|
|
449
|
+
For "market": one of ["eth", "base", "sol", "gnosis", "hyperliquid", "bitcoin", "pump", "aiagents", "meme"].
|
|
450
|
+
For "stablecoins": one of ["all", "crypto-backed-stablecoin", "yield-bearing-stablecoins", etc.].
|
|
451
451
|
For "derivatives": exchange name (e.g., "binance_futures").`,
|
|
452
452
|
example: `"yield-bearing-stablecoins"`,
|
|
453
453
|
require: "o"
|
|
454
454
|
},
|
|
455
455
|
{
|
|
456
456
|
name: "param2",
|
|
457
|
-
detail: `For "price": target currency(ies) (e.g. "usd").
|
|
457
|
+
detail: `For "price": target currency(ies) (e.g. "usd").
|
|
458
458
|
For "market" and "stablecoins": comma-separated price trend keys (e.g. 1h,24h,7d).`,
|
|
459
459
|
example: `"1h,24h,7d"`,
|
|
460
460
|
require: "o"
|
|
@@ -797,53 +797,6 @@ For "market" and "stablecoins": comma-separated price trend keys (e.g. 1h,24h,7d
|
|
|
797
797
|
}
|
|
798
798
|
]
|
|
799
799
|
},
|
|
800
|
-
{
|
|
801
|
-
API_KEY: SERVICE_API_KEY.Etherscan,
|
|
802
|
-
LOGO: "https://aerodrome.finance/images/AERO/favicon.ico",
|
|
803
|
-
BRAND_COLOR: "#effdfb",
|
|
804
|
-
BRAND_SECONDARY_COLOR: "#5eead4",
|
|
805
|
-
n: "KAITO",
|
|
806
|
-
t: 20,
|
|
807
|
-
d: "Returns blockchain transaction history for the given address",
|
|
808
|
-
a: "Retrieves blockchain data for a given chain and address from Etherscan, including txns, token/nft transfers, and gas metrics.",
|
|
809
|
-
p: [
|
|
810
|
-
{
|
|
811
|
-
name: "type",
|
|
812
|
-
detail: "The type of data to retrieve. Can be 'all-txns', 'token-txns', 'nft-txns', or 'gas'.",
|
|
813
|
-
example: `"all-txns"`,
|
|
814
|
-
require: "m",
|
|
815
|
-
type: "string"
|
|
816
|
-
},
|
|
817
|
-
{
|
|
818
|
-
name: "chain",
|
|
819
|
-
detail: "The chain name (e.g. 'ethereum', 'base', 'gnosis').",
|
|
820
|
-
example: `"ethereum"`,
|
|
821
|
-
require: "m",
|
|
822
|
-
type: "string"
|
|
823
|
-
},
|
|
824
|
-
{
|
|
825
|
-
name: "address",
|
|
826
|
-
detail: "Wallet address to query",
|
|
827
|
-
example: `"0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC"`,
|
|
828
|
-
require: "o",
|
|
829
|
-
type: "string"
|
|
830
|
-
},
|
|
831
|
-
{
|
|
832
|
-
name: "startDate",
|
|
833
|
-
detail: "Used to filter block range.",
|
|
834
|
-
example: `"01/01/2024"`,
|
|
835
|
-
require: "o",
|
|
836
|
-
type: "string"
|
|
837
|
-
},
|
|
838
|
-
{
|
|
839
|
-
name: "endDate",
|
|
840
|
-
detail: "Used to filter block range.",
|
|
841
|
-
example: `"01/07/2025"`,
|
|
842
|
-
require: "o",
|
|
843
|
-
type: "string"
|
|
844
|
-
}
|
|
845
|
-
]
|
|
846
|
-
},
|
|
847
800
|
{
|
|
848
801
|
API_KEY: SERVICE_API_KEY.GnosisPay,
|
|
849
802
|
LOGO: "https://gnosisscan.io/assets/generic/html/favicon-light.ico",
|
|
@@ -891,53 +844,6 @@ For "market" and "stablecoins": comma-separated price trend keys (e.g. 1h,24h,7d
|
|
|
891
844
|
}
|
|
892
845
|
]
|
|
893
846
|
},
|
|
894
|
-
{
|
|
895
|
-
API_KEY: SERVICE_API_KEY.Etherscan,
|
|
896
|
-
LOGO: "https://avatars.githubusercontent.com/u/129790008?s=48&v=4",
|
|
897
|
-
BRAND_COLOR: "#f1f7fc",
|
|
898
|
-
BRAND_SECONDARY_COLOR: "#5098d6",
|
|
899
|
-
n: "OTTERSCAN",
|
|
900
|
-
t: 20,
|
|
901
|
-
d: "Returns blockchain transaction history for the given address",
|
|
902
|
-
a: "Retrieves blockchain data for a given chain and address from Etherscan, including txns, token/nft transfers, and gas metrics.",
|
|
903
|
-
p: [
|
|
904
|
-
{
|
|
905
|
-
name: "type",
|
|
906
|
-
detail: "The type of data to retrieve. Can be 'all-txns', 'token-txns', 'nft-txns', or 'gas'.",
|
|
907
|
-
example: `"all-txns"`,
|
|
908
|
-
require: "m",
|
|
909
|
-
type: "string"
|
|
910
|
-
},
|
|
911
|
-
{
|
|
912
|
-
name: "chain",
|
|
913
|
-
detail: "The chain name (e.g. 'ethereum', 'base', 'gnosis').",
|
|
914
|
-
example: `"ethereum"`,
|
|
915
|
-
require: "m",
|
|
916
|
-
type: "string"
|
|
917
|
-
},
|
|
918
|
-
{
|
|
919
|
-
name: "address",
|
|
920
|
-
detail: "Wallet address to query",
|
|
921
|
-
example: `"0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC"`,
|
|
922
|
-
require: "o",
|
|
923
|
-
type: "string"
|
|
924
|
-
},
|
|
925
|
-
{
|
|
926
|
-
name: "startDate",
|
|
927
|
-
detail: "Used to filter block range.",
|
|
928
|
-
example: `"01/01/2024"`,
|
|
929
|
-
require: "o",
|
|
930
|
-
type: "string"
|
|
931
|
-
},
|
|
932
|
-
{
|
|
933
|
-
name: "endDate",
|
|
934
|
-
detail: "Used to filter block range.",
|
|
935
|
-
example: `"01/07/2025"`,
|
|
936
|
-
require: "o",
|
|
937
|
-
type: "string"
|
|
938
|
-
}
|
|
939
|
-
]
|
|
940
|
-
},
|
|
941
847
|
{
|
|
942
848
|
API_KEY: SERVICE_API_KEY.Etherscan,
|
|
943
849
|
LOGO: "https://www.tally.xyz/favicon.ico",
|