@fileverse-dev/formulajs 4.4.11-mod-60 → 4.4.11-mod-61-patch-1
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 +571 -478
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +79 -8
- package/lib/esm/crypto-constants.mjs +4 -1
- package/lib/esm/index.mjs +79 -9
- package/package.json +1 -1
- package/types/cjs/index.d.cts +11 -0
- package/types/esm/index.d.mts +11 -0
package/lib/cjs/index.cjs
CHANGED
|
@@ -5618,6 +5618,35 @@ 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
|
+
// export function BASE(number, radix, min_length) {
|
|
5632
|
+
// number = utils.parseNumber(number)
|
|
5633
|
+
// radix = utils.parseNumber(radix)
|
|
5634
|
+
// min_length = utils.parseNumber(min_length)
|
|
5635
|
+
// const anyError = utils.anyError(number, radix, min_length)
|
|
5636
|
+
|
|
5637
|
+
// if (anyError) {
|
|
5638
|
+
// return anyError
|
|
5639
|
+
// }
|
|
5640
|
+
|
|
5641
|
+
// if (radix === 0) {
|
|
5642
|
+
// return error.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
|
+
|
|
5621
5650
|
/**
|
|
5622
5651
|
* Rounds a number to the nearest integer or to the nearest multiple of significance.
|
|
5623
5652
|
*
|
|
@@ -13076,12 +13105,14 @@ const ERROR_MESSAGES_FLAG = {
|
|
|
13076
13105
|
INVALID_CHAIN: '_INVALID_CHAIN',
|
|
13077
13106
|
INVALID_TYPE: '_INVALID_TYPE',
|
|
13078
13107
|
INVALID_ADDRESS: '_INVALID_ADDRESS',
|
|
13079
|
-
INVALID_PARAM: '_INVALID_PARAM'
|
|
13108
|
+
INVALID_PARAM: '_INVALID_PARAM',
|
|
13109
|
+
MAX_PAGE_LIMIT: 'Max page limit is 250'
|
|
13080
13110
|
};
|
|
13081
13111
|
|
|
13082
13112
|
const UTILITY = {
|
|
13083
13113
|
ALCHEMY_API_KEY: 'ALCHEMY_API_KEY'
|
|
13084
13114
|
};
|
|
13115
|
+
const MAX_PAGE_LIMIT = 250;
|
|
13085
13116
|
|
|
13086
13117
|
const SERVICE_API_KEY = {
|
|
13087
13118
|
Etherscan: "ETHERSCAN_API_KEY",
|
|
@@ -13157,6 +13188,9 @@ async function handleScanRequest({
|
|
|
13157
13188
|
const API_KEY = window.localStorage.getItem(scanKey);
|
|
13158
13189
|
if (!API_KEY) return `${scanKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13159
13190
|
if (API_KEY === 'xxxx') return `${scanKey}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
|
|
13191
|
+
if(offset > MAX_PAGE_LIMIT){
|
|
13192
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13193
|
+
}
|
|
13160
13194
|
|
|
13161
13195
|
let chainId = CHAIN_ID_MAP[chain?.toLowerCase()];
|
|
13162
13196
|
if (!chainId) return `${scanKey}${ERROR_MESSAGES_FLAG.INVALID_CHAIN}`;
|
|
@@ -13226,7 +13260,7 @@ const fromUsernameToFid = async (username, apiKey) => {
|
|
|
13226
13260
|
}
|
|
13227
13261
|
});
|
|
13228
13262
|
const json = await res.json();
|
|
13229
|
-
const users = json.result
|
|
13263
|
+
const users = json.result ? json.result.users : [];
|
|
13230
13264
|
const user = users.find(user => user.username === username);
|
|
13231
13265
|
return user && user.fid || null;
|
|
13232
13266
|
};
|
|
@@ -13246,6 +13280,9 @@ const removeNestedStructure = (json) => {
|
|
|
13246
13280
|
|
|
13247
13281
|
async function FIREFLY() {
|
|
13248
13282
|
const [platform, contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
|
|
13283
|
+
if(end > MAX_PAGE_LIMIT){
|
|
13284
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13285
|
+
}
|
|
13249
13286
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13250
13287
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13251
13288
|
|
|
@@ -13308,6 +13345,10 @@ async function LENS() {
|
|
|
13308
13345
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13309
13346
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13310
13347
|
|
|
13348
|
+
if(end > MAX_PAGE_LIMIT){
|
|
13349
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13350
|
+
}
|
|
13351
|
+
|
|
13311
13352
|
const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
|
|
13312
13353
|
const headers = { "x-api-key": API_KEY };
|
|
13313
13354
|
|
|
@@ -13359,7 +13400,9 @@ async function FARCASTER() {
|
|
|
13359
13400
|
const [contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
|
|
13360
13401
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13361
13402
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13362
|
-
|
|
13403
|
+
if(end > MAX_PAGE_LIMIT){
|
|
13404
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13405
|
+
}
|
|
13363
13406
|
const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
|
|
13364
13407
|
const headers = { "x-api-key": API_KEY };
|
|
13365
13408
|
|
|
@@ -13410,6 +13453,9 @@ async function FARCASTER() {
|
|
|
13410
13453
|
|
|
13411
13454
|
async function BLOCKSCOUT() {
|
|
13412
13455
|
let [address, type, chain, startTimestamp, endTimestamp, page, offset] = argsToArray(arguments);
|
|
13456
|
+
if(offset > MAX_PAGE_LIMIT){
|
|
13457
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13458
|
+
}
|
|
13413
13459
|
if (!chain) {
|
|
13414
13460
|
chain = 'ethereum';
|
|
13415
13461
|
}
|
|
@@ -13494,6 +13540,21 @@ async function BLOCKSCOUT() {
|
|
|
13494
13540
|
return 'ERROR IN FETCHING'
|
|
13495
13541
|
}
|
|
13496
13542
|
}
|
|
13543
|
+
|
|
13544
|
+
async function BASE() {
|
|
13545
|
+
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
13546
|
+
return handleScanRequest({
|
|
13547
|
+
scanKey: SERVICE_API_KEY.Basescan,
|
|
13548
|
+
baseUrl: 'https://api.basescan.org/api',
|
|
13549
|
+
type,
|
|
13550
|
+
chain,
|
|
13551
|
+
address,
|
|
13552
|
+
startDate,
|
|
13553
|
+
endDate,
|
|
13554
|
+
page,
|
|
13555
|
+
offset:limit
|
|
13556
|
+
});
|
|
13557
|
+
}
|
|
13497
13558
|
async function GNOSIS() {
|
|
13498
13559
|
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
13499
13560
|
return handleScanRequest({
|
|
@@ -13562,6 +13623,9 @@ async function GNOSISPAY({
|
|
|
13562
13623
|
const API_KEY = window.localStorage.getItem(apiKeyKey);
|
|
13563
13624
|
if (!API_KEY) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13564
13625
|
if (!cardId) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
13626
|
+
if(limit > MAX_PAGE_LIMIT){
|
|
13627
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13628
|
+
}
|
|
13565
13629
|
|
|
13566
13630
|
const url = new URL(`https://api.gnosispay.com/cards/${cardId}/transactions`);
|
|
13567
13631
|
url.searchParams.set('limit', limit.toString());
|
|
@@ -13704,12 +13768,12 @@ async function COINGECKO(category, param1, param2) {
|
|
|
13704
13768
|
|
|
13705
13769
|
if (!response.ok) {
|
|
13706
13770
|
const message = json?.status?.error_message || '';
|
|
13707
|
-
if (message.includes('API Key Missing')) {
|
|
13708
|
-
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`;
|
|
13709
|
-
}
|
|
13710
13771
|
if (response.status === 429) {
|
|
13711
13772
|
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
|
|
13712
13773
|
}
|
|
13774
|
+
if (message.includes('API Key Missing')) {
|
|
13775
|
+
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`;
|
|
13776
|
+
}
|
|
13713
13777
|
}
|
|
13714
13778
|
|
|
13715
13779
|
if (lowerCategory === 'price') {
|
|
@@ -13779,6 +13843,9 @@ async function EOA() {
|
|
|
13779
13843
|
page = 1,
|
|
13780
13844
|
offset = 10,
|
|
13781
13845
|
] = argsToArray(arguments);
|
|
13846
|
+
if(offset > MAX_PAGE_LIMIT){
|
|
13847
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13848
|
+
}
|
|
13782
13849
|
const INPUTS = addresses.split(",").map(a => a.trim()).filter(Boolean);
|
|
13783
13850
|
const CHAINS = chains.split(",").map(c => c.trim()).filter(Boolean);
|
|
13784
13851
|
const out = [];
|
|
@@ -13881,11 +13948,14 @@ async function FLVURL(token, vs_currencies) {
|
|
|
13881
13948
|
|
|
13882
13949
|
async function SAFE() {
|
|
13883
13950
|
|
|
13884
|
-
let [address, utility, chain, limit, offset] = argsToArray(arguments);
|
|
13951
|
+
let [address, utility, chain, limit = 10, offset = 0] = argsToArray(arguments);
|
|
13885
13952
|
|
|
13886
13953
|
if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
|
|
13887
13954
|
if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
|
|
13888
13955
|
if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
|
|
13956
|
+
if(limit > MAX_PAGE_LIMIT){
|
|
13957
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13958
|
+
}
|
|
13889
13959
|
|
|
13890
13960
|
const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
|
|
13891
13961
|
const chainIdentifier = SAFE_CHAIN_MAP[chain];
|
|
@@ -13926,7 +13996,7 @@ async function SAFE() {
|
|
|
13926
13996
|
async function DEFILLAMA() {
|
|
13927
13997
|
let [category] = argsToArray(arguments);
|
|
13928
13998
|
const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Defillama);
|
|
13929
|
-
if (!apiKey) return `${SERVICE_API_KEY.Defillama}
|
|
13999
|
+
if (!apiKey) return `${SERVICE_API_KEY.Defillama}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13930
14000
|
const categoryList = ['protocols', 'yields', 'dex', 'fees'];
|
|
13931
14001
|
const categoryMap = {
|
|
13932
14002
|
[categoryList[0]]: 'https://api.llama.fi/protocols',
|
|
@@ -14055,6 +14125,7 @@ exports.AVERAGE = AVERAGE;
|
|
|
14055
14125
|
exports.AVERAGEA = AVERAGEA;
|
|
14056
14126
|
exports.AVERAGEIF = AVERAGEIF;
|
|
14057
14127
|
exports.AVERAGEIFS = AVERAGEIFS;
|
|
14128
|
+
exports.BASE = BASE;
|
|
14058
14129
|
exports.BESSELI = BESSELI;
|
|
14059
14130
|
exports.BESSELJ = BESSELJ;
|
|
14060
14131
|
exports.BESSELK = BESSELK;
|
|
@@ -24,11 +24,13 @@ var ERROR_MESSAGES_FLAG = {
|
|
|
24
24
|
INVALID_CHAIN: "_INVALID_CHAIN",
|
|
25
25
|
INVALID_TYPE: "_INVALID_TYPE",
|
|
26
26
|
INVALID_ADDRESS: "_INVALID_ADDRESS",
|
|
27
|
-
INVALID_PARAM: "_INVALID_PARAM"
|
|
27
|
+
INVALID_PARAM: "_INVALID_PARAM",
|
|
28
|
+
MAX_PAGE_LIMIT: "Max page limit is 250"
|
|
28
29
|
};
|
|
29
30
|
var UTILITY = {
|
|
30
31
|
ALCHEMY_API_KEY: "ALCHEMY_API_KEY"
|
|
31
32
|
};
|
|
33
|
+
var MAX_PAGE_LIMIT = 250;
|
|
32
34
|
|
|
33
35
|
// src/crypto-constants.js
|
|
34
36
|
var SERVICE_API_KEY = {
|
|
@@ -941,6 +943,7 @@ export {
|
|
|
941
943
|
CHAIN_ID_MAP,
|
|
942
944
|
ERROR_MESSAGES_FLAG,
|
|
943
945
|
FUNCTION_LOCALE,
|
|
946
|
+
MAX_PAGE_LIMIT,
|
|
944
947
|
SAFE_CHAIN_MAP,
|
|
945
948
|
SERVICE_API_KEY,
|
|
946
949
|
UTILITY
|
package/lib/esm/index.mjs
CHANGED
|
@@ -5616,6 +5616,35 @@ function ATANH(number) {
|
|
|
5616
5616
|
return result
|
|
5617
5617
|
}
|
|
5618
5618
|
|
|
5619
|
+
/**
|
|
5620
|
+
* Converts a number into a text representation with the given radix (base).
|
|
5621
|
+
*
|
|
5622
|
+
* Category: Math and trigonometry
|
|
5623
|
+
*
|
|
5624
|
+
* @param {*} number The number that you want to convert. Must be an integer greater than or equal to 0 and less than 2^53.
|
|
5625
|
+
* @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.
|
|
5626
|
+
* @param {*} min_length Optional. The minimum length of the returned string. Must be an integer greater than or equal to 0.
|
|
5627
|
+
* @returns
|
|
5628
|
+
*/
|
|
5629
|
+
// export function BASE(number, radix, min_length) {
|
|
5630
|
+
// number = utils.parseNumber(number)
|
|
5631
|
+
// radix = utils.parseNumber(radix)
|
|
5632
|
+
// min_length = utils.parseNumber(min_length)
|
|
5633
|
+
// const anyError = utils.anyError(number, radix, min_length)
|
|
5634
|
+
|
|
5635
|
+
// if (anyError) {
|
|
5636
|
+
// return anyError
|
|
5637
|
+
// }
|
|
5638
|
+
|
|
5639
|
+
// if (radix === 0) {
|
|
5640
|
+
// return error.num
|
|
5641
|
+
// }
|
|
5642
|
+
|
|
5643
|
+
// const result = number.toString(radix)
|
|
5644
|
+
|
|
5645
|
+
// return new Array(Math.max(min_length + 1 - result.length, 0)).join('0') + result
|
|
5646
|
+
// }
|
|
5647
|
+
|
|
5619
5648
|
/**
|
|
5620
5649
|
* Rounds a number to the nearest integer or to the nearest multiple of significance.
|
|
5621
5650
|
*
|
|
@@ -13074,12 +13103,14 @@ const ERROR_MESSAGES_FLAG = {
|
|
|
13074
13103
|
INVALID_CHAIN: '_INVALID_CHAIN',
|
|
13075
13104
|
INVALID_TYPE: '_INVALID_TYPE',
|
|
13076
13105
|
INVALID_ADDRESS: '_INVALID_ADDRESS',
|
|
13077
|
-
INVALID_PARAM: '_INVALID_PARAM'
|
|
13106
|
+
INVALID_PARAM: '_INVALID_PARAM',
|
|
13107
|
+
MAX_PAGE_LIMIT: 'Max page limit is 250'
|
|
13078
13108
|
};
|
|
13079
13109
|
|
|
13080
13110
|
const UTILITY = {
|
|
13081
13111
|
ALCHEMY_API_KEY: 'ALCHEMY_API_KEY'
|
|
13082
13112
|
};
|
|
13113
|
+
const MAX_PAGE_LIMIT = 250;
|
|
13083
13114
|
|
|
13084
13115
|
const SERVICE_API_KEY = {
|
|
13085
13116
|
Etherscan: "ETHERSCAN_API_KEY",
|
|
@@ -13155,6 +13186,9 @@ async function handleScanRequest({
|
|
|
13155
13186
|
const API_KEY = window.localStorage.getItem(scanKey);
|
|
13156
13187
|
if (!API_KEY) return `${scanKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13157
13188
|
if (API_KEY === 'xxxx') return `${scanKey}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
|
|
13189
|
+
if(offset > MAX_PAGE_LIMIT){
|
|
13190
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13191
|
+
}
|
|
13158
13192
|
|
|
13159
13193
|
let chainId = CHAIN_ID_MAP[chain?.toLowerCase()];
|
|
13160
13194
|
if (!chainId) return `${scanKey}${ERROR_MESSAGES_FLAG.INVALID_CHAIN}`;
|
|
@@ -13224,7 +13258,7 @@ const fromUsernameToFid = async (username, apiKey) => {
|
|
|
13224
13258
|
}
|
|
13225
13259
|
});
|
|
13226
13260
|
const json = await res.json();
|
|
13227
|
-
const users = json.result
|
|
13261
|
+
const users = json.result ? json.result.users : [];
|
|
13228
13262
|
const user = users.find(user => user.username === username);
|
|
13229
13263
|
return user && user.fid || null;
|
|
13230
13264
|
};
|
|
@@ -13244,6 +13278,9 @@ const removeNestedStructure = (json) => {
|
|
|
13244
13278
|
|
|
13245
13279
|
async function FIREFLY() {
|
|
13246
13280
|
const [platform, contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
|
|
13281
|
+
if(end > MAX_PAGE_LIMIT){
|
|
13282
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13283
|
+
}
|
|
13247
13284
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13248
13285
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13249
13286
|
|
|
@@ -13306,6 +13343,10 @@ async function LENS() {
|
|
|
13306
13343
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13307
13344
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13308
13345
|
|
|
13346
|
+
if(end > MAX_PAGE_LIMIT){
|
|
13347
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13348
|
+
}
|
|
13349
|
+
|
|
13309
13350
|
const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
|
|
13310
13351
|
const headers = { "x-api-key": API_KEY };
|
|
13311
13352
|
|
|
@@ -13357,7 +13398,9 @@ async function FARCASTER() {
|
|
|
13357
13398
|
const [contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
|
|
13358
13399
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
13359
13400
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13360
|
-
|
|
13401
|
+
if(end > MAX_PAGE_LIMIT){
|
|
13402
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13403
|
+
}
|
|
13361
13404
|
const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
|
|
13362
13405
|
const headers = { "x-api-key": API_KEY };
|
|
13363
13406
|
|
|
@@ -13408,6 +13451,9 @@ async function FARCASTER() {
|
|
|
13408
13451
|
|
|
13409
13452
|
async function BLOCKSCOUT() {
|
|
13410
13453
|
let [address, type, chain, startTimestamp, endTimestamp, page, offset] = argsToArray(arguments);
|
|
13454
|
+
if(offset > MAX_PAGE_LIMIT){
|
|
13455
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13456
|
+
}
|
|
13411
13457
|
if (!chain) {
|
|
13412
13458
|
chain = 'ethereum';
|
|
13413
13459
|
}
|
|
@@ -13492,6 +13538,21 @@ async function BLOCKSCOUT() {
|
|
|
13492
13538
|
return 'ERROR IN FETCHING'
|
|
13493
13539
|
}
|
|
13494
13540
|
}
|
|
13541
|
+
|
|
13542
|
+
async function BASE() {
|
|
13543
|
+
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
13544
|
+
return handleScanRequest({
|
|
13545
|
+
scanKey: SERVICE_API_KEY.Basescan,
|
|
13546
|
+
baseUrl: 'https://api.basescan.org/api',
|
|
13547
|
+
type,
|
|
13548
|
+
chain,
|
|
13549
|
+
address,
|
|
13550
|
+
startDate,
|
|
13551
|
+
endDate,
|
|
13552
|
+
page,
|
|
13553
|
+
offset:limit
|
|
13554
|
+
});
|
|
13555
|
+
}
|
|
13495
13556
|
async function GNOSIS() {
|
|
13496
13557
|
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
13497
13558
|
return handleScanRequest({
|
|
@@ -13560,6 +13621,9 @@ async function GNOSISPAY({
|
|
|
13560
13621
|
const API_KEY = window.localStorage.getItem(apiKeyKey);
|
|
13561
13622
|
if (!API_KEY) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13562
13623
|
if (!cardId) return `${apiKeyKey}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
13624
|
+
if(limit > MAX_PAGE_LIMIT){
|
|
13625
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13626
|
+
}
|
|
13563
13627
|
|
|
13564
13628
|
const url = new URL(`https://api.gnosispay.com/cards/${cardId}/transactions`);
|
|
13565
13629
|
url.searchParams.set('limit', limit.toString());
|
|
@@ -13702,12 +13766,12 @@ async function COINGECKO(category, param1, param2) {
|
|
|
13702
13766
|
|
|
13703
13767
|
if (!response.ok) {
|
|
13704
13768
|
const message = json?.status?.error_message || '';
|
|
13705
|
-
if (message.includes('API Key Missing')) {
|
|
13706
|
-
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`;
|
|
13707
|
-
}
|
|
13708
13769
|
if (response.status === 429) {
|
|
13709
13770
|
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`;
|
|
13710
13771
|
}
|
|
13772
|
+
if (message.includes('API Key Missing')) {
|
|
13773
|
+
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`;
|
|
13774
|
+
}
|
|
13711
13775
|
}
|
|
13712
13776
|
|
|
13713
13777
|
if (lowerCategory === 'price') {
|
|
@@ -13777,6 +13841,9 @@ async function EOA() {
|
|
|
13777
13841
|
page = 1,
|
|
13778
13842
|
offset = 10,
|
|
13779
13843
|
] = argsToArray(arguments);
|
|
13844
|
+
if(offset > MAX_PAGE_LIMIT){
|
|
13845
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13846
|
+
}
|
|
13780
13847
|
const INPUTS = addresses.split(",").map(a => a.trim()).filter(Boolean);
|
|
13781
13848
|
const CHAINS = chains.split(",").map(c => c.trim()).filter(Boolean);
|
|
13782
13849
|
const out = [];
|
|
@@ -13879,11 +13946,14 @@ async function FLVURL(token, vs_currencies) {
|
|
|
13879
13946
|
|
|
13880
13947
|
async function SAFE() {
|
|
13881
13948
|
|
|
13882
|
-
let [address, utility, chain, limit, offset] = argsToArray(arguments);
|
|
13949
|
+
let [address, utility, chain, limit = 10, offset = 0] = argsToArray(arguments);
|
|
13883
13950
|
|
|
13884
13951
|
if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
|
|
13885
13952
|
if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
|
|
13886
13953
|
if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
|
|
13954
|
+
if(limit > MAX_PAGE_LIMIT){
|
|
13955
|
+
return ERROR_MESSAGES_FLAG.MAX_PAGE_LIMIT
|
|
13956
|
+
}
|
|
13887
13957
|
|
|
13888
13958
|
const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
|
|
13889
13959
|
const chainIdentifier = SAFE_CHAIN_MAP[chain];
|
|
@@ -13924,7 +13994,7 @@ async function SAFE() {
|
|
|
13924
13994
|
async function DEFILLAMA() {
|
|
13925
13995
|
let [category] = argsToArray(arguments);
|
|
13926
13996
|
const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Defillama);
|
|
13927
|
-
if (!apiKey) return `${SERVICE_API_KEY.Defillama}
|
|
13997
|
+
if (!apiKey) return `${SERVICE_API_KEY.Defillama}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
13928
13998
|
const categoryList = ['protocols', 'yields', 'dex', 'fees'];
|
|
13929
13999
|
const categoryMap = {
|
|
13930
14000
|
[categoryList[0]]: 'https://api.llama.fi/protocols',
|
|
@@ -14032,4 +14102,4 @@ function POLYMARKET() {
|
|
|
14032
14102
|
|
|
14033
14103
|
const utils = { errors, symbols, date };
|
|
14034
14104
|
|
|
14035
|
-
export { AAVE, ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ARTEMIS, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BESSELI, BESSELJ, BESSELK, BESSELY, BETA, BETADIST, BETAINV, BIN2DEC, BIN2HEX, BIN2OCT, BINOM, BINOMDIST, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, BLOCKSCOUT, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, COINGECKO, COLUMN, COLUMNS, COMBIN, COMBINA, COMPLEX, CONCAT, CONCATENATE, CONFIDENCE, CONVERT, CORREL, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, COUPDAYS, COVAR, COVARIANCE, COVARIANCEP, COVARIANCES, CRITBINOM, CSC, CSCH, CUMIPMT, CUMPRINC, DATE, DATEDIF, DATEVALUE, DAVERAGE, DAY, DAYS, DAYS360, DB, DCOUNT, DCOUNTA, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DEFILLAMA, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FARCASTER, FDIST, FDISTRT, FIND, FINV, FINVRT, FIREFLY, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, GNOSIS, GNOSISPAY, GROWTH, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, HOUR, HYPGEOM, HYPGEOMDIST, IF, IFERROR, IFNA, IFS, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, INDEX, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISDATE, ISERR, ISERROR, ISEVEN, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISO, ISODD, ISOWEEKNUM, ISPMT, ISTEXT, KURT, LARGE, LCM, LEFT, LEN, LENS, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MEERKAT, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, MYANIMELIST, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, NEYNAR, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, PNL, POISSON, POISSONDIST, POLYMARKET, POWER, PPMT, PRICEDISC, PRIVACYPOOL, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROTKI, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TALLY, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UNISWAP, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
|
|
14105
|
+
export { AAVE, ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ARTEMIS, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BASE, BESSELI, BESSELJ, BESSELK, BESSELY, BETA, BETADIST, BETAINV, BIN2DEC, BIN2HEX, BIN2OCT, BINOM, BINOMDIST, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, BLOCKSCOUT, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, COINGECKO, COLUMN, COLUMNS, COMBIN, COMBINA, COMPLEX, CONCAT, CONCATENATE, CONFIDENCE, CONVERT, CORREL, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, COUPDAYS, COVAR, COVARIANCE, COVARIANCEP, COVARIANCES, CRITBINOM, CSC, CSCH, CUMIPMT, CUMPRINC, DATE, DATEDIF, DATEVALUE, DAVERAGE, DAY, DAYS, DAYS360, DB, DCOUNT, DCOUNTA, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DEFILLAMA, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FARCASTER, FDIST, FDISTRT, FIND, FINV, FINVRT, FIREFLY, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, GNOSIS, GNOSISPAY, GROWTH, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, HOUR, HYPGEOM, HYPGEOMDIST, IF, IFERROR, IFNA, IFS, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, INDEX, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISDATE, ISERR, ISERROR, ISEVEN, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISO, ISODD, ISOWEEKNUM, ISPMT, ISTEXT, KURT, LARGE, LCM, LEFT, LEN, LENS, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MEERKAT, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, MYANIMELIST, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, NEYNAR, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, PNL, POISSON, POISSONDIST, POLYMARKET, POWER, PPMT, PRICEDISC, PRIVACYPOOL, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROTKI, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TALLY, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UNISWAP, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
|
package/package.json
CHANGED
package/types/cjs/index.d.cts
CHANGED
|
@@ -183,6 +183,7 @@ export function AVERAGEIF(range: any, criteria: any, average_range: any, ...args
|
|
|
183
183
|
* @returns
|
|
184
184
|
*/
|
|
185
185
|
export function AVERAGEIFS(...args: any[]): number;
|
|
186
|
+
export function BASE(...args: any[]): Promise<any>;
|
|
186
187
|
/**
|
|
187
188
|
* Returns the modified Bessel function In(x).
|
|
188
189
|
*
|
|
@@ -411,6 +412,16 @@ export function BITRSHIFT(number: any, shift_amount: any): number | Error;
|
|
|
411
412
|
*/
|
|
412
413
|
export function BITXOR(number1: any, number2: any): number | Error;
|
|
413
414
|
export function BLOCKSCOUT(...args: any[]): Promise<any>;
|
|
415
|
+
/**
|
|
416
|
+
* Converts a number into a text representation with the given radix (base).
|
|
417
|
+
*
|
|
418
|
+
* Category: Math and trigonometry
|
|
419
|
+
*
|
|
420
|
+
* @param {*} number The number that you want to convert. Must be an integer greater than or equal to 0 and less than 2^53.
|
|
421
|
+
* @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.
|
|
422
|
+
* @param {*} min_length Optional. The minimum length of the returned string. Must be an integer greater than or equal to 0.
|
|
423
|
+
* @returns
|
|
424
|
+
*/
|
|
414
425
|
/**
|
|
415
426
|
* Rounds a number to the nearest integer or to the nearest multiple of significance.
|
|
416
427
|
*
|
package/types/esm/index.d.mts
CHANGED
|
@@ -183,6 +183,7 @@ export function AVERAGEIF(range: any, criteria: any, average_range: any, ...args
|
|
|
183
183
|
* @returns
|
|
184
184
|
*/
|
|
185
185
|
export function AVERAGEIFS(...args: any[]): number;
|
|
186
|
+
export function BASE(...args: any[]): Promise<any>;
|
|
186
187
|
/**
|
|
187
188
|
* Returns the modified Bessel function In(x).
|
|
188
189
|
*
|
|
@@ -411,6 +412,16 @@ export function BITRSHIFT(number: any, shift_amount: any): number | Error;
|
|
|
411
412
|
*/
|
|
412
413
|
export function BITXOR(number1: any, number2: any): number | Error;
|
|
413
414
|
export function BLOCKSCOUT(...args: any[]): Promise<any>;
|
|
415
|
+
/**
|
|
416
|
+
* Converts a number into a text representation with the given radix (base).
|
|
417
|
+
*
|
|
418
|
+
* Category: Math and trigonometry
|
|
419
|
+
*
|
|
420
|
+
* @param {*} number The number that you want to convert. Must be an integer greater than or equal to 0 and less than 2^53.
|
|
421
|
+
* @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.
|
|
422
|
+
* @param {*} min_length Optional. The minimum length of the returned string. Must be an integer greater than or equal to 0.
|
|
423
|
+
* @returns
|
|
424
|
+
*/
|
|
414
425
|
/**
|
|
415
426
|
* Rounds a number to the nearest integer or to the nearest multiple of significance.
|
|
416
427
|
*
|