@fileverse-dev/formulajs 4.4.11-mod-21-patch-1 → 4.4.11-mod-21-patch-3

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/cjs/index.cjs CHANGED
@@ -13080,13 +13080,19 @@ function SWITCH() {
13080
13080
  const SERVICE_API_KEY = {
13081
13081
  Etherscan: "ETHERSCAN_API_KEY",
13082
13082
  Coingecko: "COINGECKO_API_KEY",
13083
+ Safe: "SAFE_API_KEY",
13083
13084
  };
13084
13085
 
13085
13086
  const CHAIN_ID_MAP = {
13086
- ethereum: 1,
13087
- gnosis: 100,
13088
- base: 8453,
13089
- };
13087
+ ethereum: 1,
13088
+ gnosis: 100,
13089
+ base: 8453,
13090
+ };
13091
+
13092
+ const SAFE_CHAIN_MAP = {
13093
+ ethereum: 'eth',
13094
+ gnosis: 'gno',
13095
+ };
13090
13096
 
13091
13097
  const ERROR_MESSAGES_FLAG = {
13092
13098
  INVALID_API_KEY: '_MISSING',
@@ -13105,29 +13111,33 @@ if(!timestamp || !chain || !apiKey) return
13105
13111
  };
13106
13112
 
13107
13113
  async function ETHERSCAN(address, page, offset) {
13114
+
13115
+
13116
+ const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
13117
+ if(API_KEY === 'xxxx'){
13108
13118
  return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`
13109
- // const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
13110
- // const url = `https://api.etherscan.io/v2/api?chainid=1&module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=${page || 1}&offset=${offset || 10}&sort=asc&apikey=${API_KEY}`
13111
-
13112
- // try {
13113
- // const response = await fetch(url)
13114
- // if (!response.ok) {
13115
- // throw new Error(`HTTP error! Status: ${response.status}`)
13116
- // }
13117
- // const json = await response.json()
13118
- // if (json.result.includes("Invalid API Key")) {
13119
- // return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`
13120
- // }
13121
- // if(json.result.includes('Max rate limit reached')){
13122
- // return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`
13123
- // }
13124
- // /*
13125
- // [{blockNumber: '0x1d3d1', timeStamp: '0x5f7e4f', hash: '0x3c3c3c3c', nonce: '0x1',}]
13126
- // */
13127
- // return json.result;
13128
- // } catch (error) {
13129
- // return ERROR_MESSAGES_FLAG.DEFAULT
13130
- // }
13119
+ }
13120
+ const url = `https://api.etherscan.io/v2/api?chainid=1&module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=${page || 1}&offset=${offset || 10}&sort=asc&apikey=${API_KEY}`;
13121
+
13122
+ try {
13123
+ const response = await fetch(url);
13124
+ if (!response.ok) {
13125
+ throw new Error(`HTTP error! Status: ${response.status}`)
13126
+ }
13127
+ const json = await response.json();
13128
+ if (json.result.includes("Invalid API Key")) {
13129
+ return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`
13130
+ }
13131
+ if(json.result.includes('Max rate limit reached')){
13132
+ return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`
13133
+ }
13134
+ /*
13135
+ [{blockNumber: '0x1d3d1', timeStamp: '0x5f7e4f', hash: '0x3c3c3c3c', nonce: '0x1',}]
13136
+ */
13137
+ return json.result;
13138
+ } catch (error) {
13139
+ return ERROR_MESSAGES_FLAG.DEFAULT
13140
+ }
13131
13141
  }
13132
13142
 
13133
13143
  async function COINGECKO(token, vs_currencies) {
@@ -13182,12 +13192,12 @@ async function EOA(address, categories, chain, startTime, endTime) {
13182
13192
 
13183
13193
  let action = '';
13184
13194
  if (categories === 'txns') action = 'account.txlist';
13185
- else {action = 'account.balance';} let timeQuery = '';
13186
- if(!isNaN(startTime) && !isNaN(endTime)){
13187
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13188
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13195
+ else { action = 'account.balance'; } let timeQuery = '';
13196
+ if (!isNaN(startTime) && !isNaN(endTime)) {
13197
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13198
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13189
13199
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13190
- } else if(categories === 'balance') {
13200
+ } else if (categories === 'balance') {
13191
13201
  timeQuery = `&tag=latest`;
13192
13202
  } else {
13193
13203
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13217,11 +13227,45 @@ async function EOA(address, categories, chain, startTime, endTime) {
13217
13227
  async function FLVURL(token, vs_currencies) {
13218
13228
  return new Promise((resolve) => {
13219
13229
  setTimeout(() => {
13220
- resolve([{"Yoo": "gotcha"}]);
13230
+ resolve([{ "Yoo": "gotcha" }]);
13221
13231
  }, 10000);
13222
13232
  });
13223
13233
  }
13224
13234
 
13235
+ async function SAFE(address, utility, chain, limit, offset) {
13236
+
13237
+ if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13238
+ if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13239
+ if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13240
+
13241
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13242
+ const chainIdentifier = SAFE_CHAIN_MAP[chain];
13243
+
13244
+ if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13245
+ if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13246
+
13247
+ const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13248
+ try {
13249
+ const response = await fetch(url,
13250
+ {
13251
+ headers: {
13252
+ 'Authorization': `Bearer ${apiKey}`,
13253
+ },
13254
+ }
13255
+ );
13256
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13257
+ const json = await response.json();
13258
+ if (!Array.isArray(json.results)) {
13259
+ return "INVALID API RESPONSE";
13260
+ }
13261
+ // remove nested structure from the response
13262
+ return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13263
+ } catch (e) {
13264
+ console.log(e);
13265
+ return "ERROR IN FETCHING";
13266
+ }
13267
+ }
13268
+
13225
13269
  const utils = { errors, symbols, date };
13226
13270
 
13227
13271
  exports.ABS = ABS;
@@ -13541,6 +13585,7 @@ exports.ROW = ROW;
13541
13585
  exports.ROWS = ROWS;
13542
13586
  exports.RRI = RRI;
13543
13587
  exports.RSQ = RSQ;
13588
+ exports.SAFE = SAFE;
13544
13589
  exports.SEARCH = SEARCH;
13545
13590
  exports.SEC = SEC;
13546
13591
  exports.SECH = SECH;
@@ -1,7 +1,8 @@
1
1
  // src/crypto-constants.js
2
2
  var SERVICE_API_KEY = {
3
3
  Etherscan: "ETHERSCAN_API_KEY",
4
- Coingecko: "COINGECKO_API_KEY"
4
+ Coingecko: "COINGECKO_API_KEY",
5
+ Safe: "SAFE_API_KEY"
5
6
  };
6
7
  var FUNCTION_LOCALE = [
7
8
  {
@@ -123,6 +124,46 @@ var FUNCTION_LOCALE = [
123
124
  }
124
125
  ]
125
126
  },
127
+ {
128
+ n: "SAFE",
129
+ t: 20,
130
+ d: "Query the list of transactions performed by a Safe address, with optional pagination.",
131
+ a: "Query the list of transactions performed by a Safe address, with optional pagination.",
132
+ p: [
133
+ {
134
+ name: "address",
135
+ detail: "The address to query, in hexadecimal format.",
136
+ example: `"0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC"`,
137
+ require: "m"
138
+ },
139
+ {
140
+ name: "utility",
141
+ detail: "The utility to query, supported values: 'txns'.",
142
+ example: `"txns"`,
143
+ require: "m"
144
+ },
145
+ {
146
+ name: "chain",
147
+ detail: "The chain to query, supported values: 'ethereum', 'gnosis'.",
148
+ example: `"ethereum"`,
149
+ require: "m"
150
+ },
151
+ {
152
+ name: "limit",
153
+ detail: "The number of transactions to return, default is 100.",
154
+ example: `100`,
155
+ require: "o",
156
+ repeat: "n"
157
+ },
158
+ {
159
+ name: "offset",
160
+ detail: "The number of transactions to skip, default is 0.",
161
+ example: `0`,
162
+ require: "o",
163
+ repeat: "n"
164
+ }
165
+ ]
166
+ },
126
167
  {
127
168
  n: "PNL",
128
169
  t: 20,
package/lib/esm/index.mjs CHANGED
@@ -13078,13 +13078,19 @@ function SWITCH() {
13078
13078
  const SERVICE_API_KEY = {
13079
13079
  Etherscan: "ETHERSCAN_API_KEY",
13080
13080
  Coingecko: "COINGECKO_API_KEY",
13081
+ Safe: "SAFE_API_KEY",
13081
13082
  };
13082
13083
 
13083
13084
  const CHAIN_ID_MAP = {
13084
- ethereum: 1,
13085
- gnosis: 100,
13086
- base: 8453,
13087
- };
13085
+ ethereum: 1,
13086
+ gnosis: 100,
13087
+ base: 8453,
13088
+ };
13089
+
13090
+ const SAFE_CHAIN_MAP = {
13091
+ ethereum: 'eth',
13092
+ gnosis: 'gno',
13093
+ };
13088
13094
 
13089
13095
  const ERROR_MESSAGES_FLAG = {
13090
13096
  INVALID_API_KEY: '_MISSING',
@@ -13103,29 +13109,33 @@ if(!timestamp || !chain || !apiKey) return
13103
13109
  };
13104
13110
 
13105
13111
  async function ETHERSCAN(address, page, offset) {
13112
+
13113
+
13114
+ const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
13115
+ if(API_KEY === 'xxxx'){
13106
13116
  return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`
13107
- // const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
13108
- // const url = `https://api.etherscan.io/v2/api?chainid=1&module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=${page || 1}&offset=${offset || 10}&sort=asc&apikey=${API_KEY}`
13109
-
13110
- // try {
13111
- // const response = await fetch(url)
13112
- // if (!response.ok) {
13113
- // throw new Error(`HTTP error! Status: ${response.status}`)
13114
- // }
13115
- // const json = await response.json()
13116
- // if (json.result.includes("Invalid API Key")) {
13117
- // return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`
13118
- // }
13119
- // if(json.result.includes('Max rate limit reached')){
13120
- // return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`
13121
- // }
13122
- // /*
13123
- // [{blockNumber: '0x1d3d1', timeStamp: '0x5f7e4f', hash: '0x3c3c3c3c', nonce: '0x1',}]
13124
- // */
13125
- // return json.result;
13126
- // } catch (error) {
13127
- // return ERROR_MESSAGES_FLAG.DEFAULT
13128
- // }
13117
+ }
13118
+ const url = `https://api.etherscan.io/v2/api?chainid=1&module=account&action=txlist&address=${address}&startblock=0&endblock=99999999&page=${page || 1}&offset=${offset || 10}&sort=asc&apikey=${API_KEY}`;
13119
+
13120
+ try {
13121
+ const response = await fetch(url);
13122
+ if (!response.ok) {
13123
+ throw new Error(`HTTP error! Status: ${response.status}`)
13124
+ }
13125
+ const json = await response.json();
13126
+ if (json.result.includes("Invalid API Key")) {
13127
+ return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.INVALID_API_KEY}`
13128
+ }
13129
+ if(json.result.includes('Max rate limit reached')){
13130
+ return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.RATE_LIMIT}`
13131
+ }
13132
+ /*
13133
+ [{blockNumber: '0x1d3d1', timeStamp: '0x5f7e4f', hash: '0x3c3c3c3c', nonce: '0x1',}]
13134
+ */
13135
+ return json.result;
13136
+ } catch (error) {
13137
+ return ERROR_MESSAGES_FLAG.DEFAULT
13138
+ }
13129
13139
  }
13130
13140
 
13131
13141
  async function COINGECKO(token, vs_currencies) {
@@ -13180,12 +13190,12 @@ async function EOA(address, categories, chain, startTime, endTime) {
13180
13190
 
13181
13191
  let action = '';
13182
13192
  if (categories === 'txns') action = 'account.txlist';
13183
- else {action = 'account.balance';} let timeQuery = '';
13184
- if(!isNaN(startTime) && !isNaN(endTime)){
13185
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13186
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13193
+ else { action = 'account.balance'; } let timeQuery = '';
13194
+ if (!isNaN(startTime) && !isNaN(endTime)) {
13195
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13196
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13187
13197
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13188
- } else if(categories === 'balance') {
13198
+ } else if (categories === 'balance') {
13189
13199
  timeQuery = `&tag=latest`;
13190
13200
  } else {
13191
13201
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13215,11 +13225,45 @@ async function EOA(address, categories, chain, startTime, endTime) {
13215
13225
  async function FLVURL(token, vs_currencies) {
13216
13226
  return new Promise((resolve) => {
13217
13227
  setTimeout(() => {
13218
- resolve([{"Yoo": "gotcha"}]);
13228
+ resolve([{ "Yoo": "gotcha" }]);
13219
13229
  }, 10000);
13220
13230
  });
13221
13231
  }
13222
13232
 
13233
+ async function SAFE(address, utility, chain, limit, offset) {
13234
+
13235
+ if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13236
+ if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13237
+ if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13238
+
13239
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13240
+ const chainIdentifier = SAFE_CHAIN_MAP[chain];
13241
+
13242
+ if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13243
+ if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13244
+
13245
+ const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13246
+ try {
13247
+ const response = await fetch(url,
13248
+ {
13249
+ headers: {
13250
+ 'Authorization': `Bearer ${apiKey}`,
13251
+ },
13252
+ }
13253
+ );
13254
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13255
+ const json = await response.json();
13256
+ if (!Array.isArray(json.results)) {
13257
+ return "INVALID API RESPONSE";
13258
+ }
13259
+ // remove nested structure from the response
13260
+ return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13261
+ } catch (e) {
13262
+ console.log(e);
13263
+ return "ERROR IN FETCHING";
13264
+ }
13265
+ }
13266
+
13223
13267
  const utils = { errors, symbols, date };
13224
13268
 
13225
- export { ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, 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, 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, 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, FDIST, FDISTRT, FIND, FINV, FINVRT, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, 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, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, 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, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, 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, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
13269
+ export { ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, 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, 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, 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, FDIST, FDISTRT, FIND, FINV, FINVRT, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, 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, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NETWORKDAYS_INTL, 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, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, 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, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/formulajs",
3
- "version": "4.4.11-mod-21-patch-1",
3
+ "version": "4.4.11-mod-21-patch-3",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -1329,7 +1329,7 @@ export const ERFPRECISE: any;
1329
1329
  export namespace ERROR {
1330
1330
  function TYPE(error_val: any): Error | 1 | 2 | 3 | 4 | 8 | 5 | 6 | 7;
1331
1331
  }
1332
- export function ETHERSCAN(address: any, page: any, offset: any): Promise<string>;
1332
+ export function ETHERSCAN(address: any, page: any, offset: any): Promise<any>;
1333
1333
  /**
1334
1334
  * Rounds a number up to the nearest even integer.
1335
1335
  *
@@ -3528,6 +3528,7 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3528
3528
  * @returns
3529
3529
  */
3530
3530
  export function RSQ(known_y: any, known_x: any): number | Error;
3531
+ export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3531
3532
  /**
3532
3533
  * Finds one text value within another (not case-sensitive)
3533
3534
  *
@@ -1329,7 +1329,7 @@ export const ERFPRECISE: any;
1329
1329
  export namespace ERROR {
1330
1330
  function TYPE(error_val: any): Error | 1 | 2 | 3 | 4 | 8 | 5 | 6 | 7;
1331
1331
  }
1332
- export function ETHERSCAN(address: any, page: any, offset: any): Promise<string>;
1332
+ export function ETHERSCAN(address: any, page: any, offset: any): Promise<any>;
1333
1333
  /**
1334
1334
  * Rounds a number up to the nearest even integer.
1335
1335
  *
@@ -3528,6 +3528,7 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3528
3528
  * @returns
3529
3529
  */
3530
3530
  export function RSQ(known_y: any, known_x: any): number | Error;
3531
+ export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3531
3532
  /**
3532
3533
  * Finds one text value within another (not case-sensitive)
3533
3534
  *